mirror of
https://github.com/hanzoai/krakend-otel.git
synced 2026-09-30 22:49:38 +00:00
Fix tests (#12)
* Fix io tests. Signed-off-by: Daniel Ortiz <[email protected]> * Fix failing tests. Signed-off-by: Daniel Ortiz <[email protected]> * style: format code with Go fmt and Gofumpt This commit fixes the style issues introduced in 6b81253 according to the output from Go fmt and Gofumpt. Details: https://github.com/krakend/krakend-otel/pull/12 * Fix unused method receiver and unused parameter in tests. Signed-off-by: Daniel Ortiz <[email protected]> * Remove receiver name from test struct. Signed-off-by: Daniel Ortiz <[email protected]> * fix makefile * add workflow to run tests * fix main branch in workflow * add missing go.sum and update to latest lura --------- Signed-off-by: Daniel Ortiz <[email protected]> Co-authored-by: deepsource-autofix[bot] <62050782+deepsource-autofix[bot]@users.noreply.github.com> Co-authored-by: David Hontecillas <[email protected]>
This commit is contained in:
committed by
GitHub
co-authored by
deepsource-autofix[bot] <62050782+deepsource-autofix[bot]@users.noreply.github.com>
David Hontecillas
parent
33104593ba
commit
4df6dfade3
@@ -0,0 +1,22 @@
|
|||||||
|
name: Go
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: [ main ]
|
||||||
|
pull_request:
|
||||||
|
branches: [ main ]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Set up Go
|
||||||
|
uses: actions/setup-go@v3
|
||||||
|
with:
|
||||||
|
go-version: "1.20"
|
||||||
|
|
||||||
|
- name: Test
|
||||||
|
run: make test
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
test:
|
test:
|
||||||
go test ./client/...
|
|
||||||
go test ./config/...
|
go test ./config/...
|
||||||
go test ./exporter/...
|
go test ./exporter/...
|
||||||
|
go test ./http/...
|
||||||
go test ./io/...
|
go test ./io/...
|
||||||
go test ./lura/...
|
go test ./lura/...
|
||||||
go test ./state/...
|
go test ./state/...
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ go 1.20
|
|||||||
|
|
||||||
require (
|
require (
|
||||||
github.com/gin-gonic/gin v1.9.1
|
github.com/gin-gonic/gin v1.9.1
|
||||||
github.com/luraproject/lura/v2 v2.5.1-0.20240216134027-7bca41332dd6
|
github.com/luraproject/lura/v2 v2.6.2
|
||||||
github.com/prometheus/client_golang v1.18.0
|
github.com/prometheus/client_golang v1.18.0
|
||||||
go.opentelemetry.io/otel v1.24.0
|
go.opentelemetry.io/otel v1.24.0
|
||||||
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.24.0
|
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.24.0
|
||||||
@@ -59,6 +59,6 @@ require (
|
|||||||
google.golang.org/genproto/googleapis/api v0.0.0-20240102182953-50ed04b92917 // indirect
|
google.golang.org/genproto/googleapis/api v0.0.0-20240102182953-50ed04b92917 // indirect
|
||||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20240102182953-50ed04b92917 // indirect
|
google.golang.org/genproto/googleapis/rpc v0.0.0-20240102182953-50ed04b92917 // indirect
|
||||||
google.golang.org/grpc v1.61.1 // indirect
|
google.golang.org/grpc v1.61.1 // indirect
|
||||||
google.golang.org/protobuf v1.32.0 // indirect
|
google.golang.org/protobuf v1.33.0 // indirect
|
||||||
gopkg.in/yaml.v3 v3.0.1 // indirect
|
gopkg.in/yaml.v3 v3.0.1 // indirect
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -0,0 +1,151 @@
|
|||||||
|
github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
|
||||||
|
github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw=
|
||||||
|
github.com/bytedance/sonic v1.5.0/go.mod h1:ED5hyg4y6t3/9Ku1R6dU/4KyJ48DZ4jPhfY1O2AihPM=
|
||||||
|
github.com/bytedance/sonic v1.9.1 h1:6iJ6NqdoxCDr6mbY8h18oSO+cShGSMRGCEo7F2h0x8s=
|
||||||
|
github.com/bytedance/sonic v1.9.1/go.mod h1:i736AoUSYt75HyZLoJW9ERYxcy6eaN6h4BZXU064P/U=
|
||||||
|
github.com/cenkalti/backoff/v4 v4.2.1 h1:y4OZtCnogmCPw98Zjyt5a6+QwPLGkiQsYW5oUqylYbM=
|
||||||
|
github.com/cenkalti/backoff/v4 v4.2.1/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE=
|
||||||
|
github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44=
|
||||||
|
github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
|
||||||
|
github.com/chenzhuoyu/base64x v0.0.0-20211019084208-fb5309c8db06/go.mod h1:DH46F32mSOjUmXrMHnKwZdA8wcEefY7UVqBKYGjpdQY=
|
||||||
|
github.com/chenzhuoyu/base64x v0.0.0-20221115062448-fe3a3abad311 h1:qSGYFH7+jGhDF8vLC+iwCD4WpbV1EBDSzWkJODFLams=
|
||||||
|
github.com/chenzhuoyu/base64x v0.0.0-20221115062448-fe3a3abad311/go.mod h1:b583jCggY9gE99b6G5LEC39OIiVsWj+R97kbl5odCEk=
|
||||||
|
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||||
|
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
||||||
|
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||||
|
github.com/gabriel-vasile/mimetype v1.4.2 h1:w5qFW6JKBz9Y393Y4q372O9A7cUSequkh1Q7OhCmWKU=
|
||||||
|
github.com/gabriel-vasile/mimetype v1.4.2/go.mod h1:zApsH/mKG4w07erKIaJPFiX0Tsq9BFQgN3qGY5GnNgA=
|
||||||
|
github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE=
|
||||||
|
github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI=
|
||||||
|
github.com/gin-gonic/gin v1.9.1 h1:4idEAncQnU5cB7BeOkPtxjfCSye0AAm1R0RVIqJ+Jmg=
|
||||||
|
github.com/gin-gonic/gin v1.9.1/go.mod h1:hPrL7YrpYKXt5YId3A/Tnip5kqbEAP+KLuI3SUcPTeU=
|
||||||
|
github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
|
||||||
|
github.com/go-logr/logr v1.4.1 h1:pKouT5E8xu9zeFC39JXRDukb6JFQPXM5p5I91188VAQ=
|
||||||
|
github.com/go-logr/logr v1.4.1/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
|
||||||
|
github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag=
|
||||||
|
github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE=
|
||||||
|
github.com/go-playground/assert/v2 v2.2.0 h1:JvknZsQTYeFEAhQwI4qEt9cyV5ONwRHC+lYKSsYSR8s=
|
||||||
|
github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/oXslEjJA=
|
||||||
|
github.com/go-playground/locales v0.14.1/go.mod h1:hxrqLVvrK65+Rwrd5Fc6F2O76J/NuW9t0sjnWqG1slY=
|
||||||
|
github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJnYK9S473LQFuzCbDbfSFY=
|
||||||
|
github.com/go-playground/universal-translator v0.18.1/go.mod h1:xekY+UJKNuX9WP91TpwSH2VMlDf28Uj24BCp08ZFTUY=
|
||||||
|
github.com/go-playground/validator/v10 v10.14.0 h1:vgvQWe3XCz3gIeFDm/HnTIbj6UGmg/+t63MyGU2n5js=
|
||||||
|
github.com/go-playground/validator/v10 v10.14.0/go.mod h1:9iXMNT7sEkjXb0I+enO7QXmzG6QCsPWY4zveKFVRSyU=
|
||||||
|
github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU=
|
||||||
|
github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I=
|
||||||
|
github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
|
||||||
|
github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg=
|
||||||
|
github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
|
||||||
|
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
||||||
|
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
|
||||||
|
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
|
||||||
|
github.com/grpc-ecosystem/grpc-gateway/v2 v2.19.0 h1:Wqo399gCIufwto+VfwCSvsnfGpF/w5E9CNxSwbpD6No=
|
||||||
|
github.com/grpc-ecosystem/grpc-gateway/v2 v2.19.0/go.mod h1:qmOFXW2epJhM0qSnUUYpldc7gVz2KMQwJ/QYCDIa7XU=
|
||||||
|
github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM=
|
||||||
|
github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo=
|
||||||
|
github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg=
|
||||||
|
github.com/klauspost/cpuid/v2 v2.2.4 h1:acbojRNwl3o09bUq+yDCtZFc1aiwaAAxtcn8YkZXnvk=
|
||||||
|
github.com/klauspost/cpuid/v2 v2.2.4/go.mod h1:RVVoqg1df56z8g3pUjL/3lE5UfnlrJX8tyFgg4nqhuY=
|
||||||
|
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
|
||||||
|
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
|
||||||
|
github.com/krakendio/flatmap v1.1.1 h1:rGBNVpBY0pMk6cLOwerVzoKY4HELnpu0xvqB231lOCQ=
|
||||||
|
github.com/krakendio/flatmap v1.1.1/go.mod h1:KBuVkiH5BcBFRa5A1HdSHDn8a8LzsyRTKZArX0vqTbo=
|
||||||
|
github.com/leodido/go-urn v1.2.4 h1:XlAE/cm/ms7TE/VMVoduSpNBoyc2dOxHs5MZSwAN63Q=
|
||||||
|
github.com/leodido/go-urn v1.2.4/go.mod h1:7ZrI8mTSeBSHl/UaRyKQW1qZeMgak41ANeCNaVckg+4=
|
||||||
|
github.com/luraproject/lura/v2 v2.6.2 h1:caTe/v3ivLd4VXC7W7FVrkkgTSxF4SgeEbAwnAoG0Wo=
|
||||||
|
github.com/luraproject/lura/v2 v2.6.2/go.mod h1:M3TOzbvde5k7f5gGX4GVw3J1UJDYWPtDjHI0KOHbYc0=
|
||||||
|
github.com/mattn/go-isatty v0.0.19 h1:JITubQf0MOLdlGRuRq+jtsDlekdYPia9ZFsB8h/APPA=
|
||||||
|
github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
|
||||||
|
github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0 h1:jWpvCLoY8Z/e3VKvlsiIGKtc+UG6U5vzxaoagmhXfyg=
|
||||||
|
github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0/go.mod h1:QUyp042oQthUoa9bqDv0ER0wrtXnBruoNd7aNjkbP+k=
|
||||||
|
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
|
||||||
|
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg=
|
||||||
|
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
|
||||||
|
github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M=
|
||||||
|
github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
|
||||||
|
github.com/pelletier/go-toml/v2 v2.0.8 h1:0ctb6s9mE31h0/lhu+J6OPmVeDxJn+kYnJc2jZR9tGQ=
|
||||||
|
github.com/pelletier/go-toml/v2 v2.0.8/go.mod h1:vuYfssBdrU2XDZ9bYydBu6t+6a6PYNcZljzZR9VXg+4=
|
||||||
|
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
||||||
|
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||||
|
github.com/prometheus/client_golang v1.18.0 h1:HzFfmkOzH5Q8L8G+kSJKUx5dtG87sewO+FoDDqP5Tbk=
|
||||||
|
github.com/prometheus/client_golang v1.18.0/go.mod h1:T+GXkCk5wSJyOqMIzVgvvjFDlkOQntgjkJWKrN5txjA=
|
||||||
|
github.com/prometheus/client_model v0.6.0 h1:k1v3CzpSRUTrKMppY35TLwPvxHqBu0bYgxZzqGIgaos=
|
||||||
|
github.com/prometheus/client_model v0.6.0/go.mod h1:NTQHnmxFpouOD0DpvP4XujX3CdOAGQPoaGhyTchlyt8=
|
||||||
|
github.com/prometheus/common v0.45.0 h1:2BGz0eBc2hdMDLnO/8n0jeB3oPrt2D08CekT0lneoxM=
|
||||||
|
github.com/prometheus/common v0.45.0/go.mod h1:YJmSTw9BoKxJplESWWxlbyttQR4uaEcGyv9MZjVOJsY=
|
||||||
|
github.com/prometheus/procfs v0.12.0 h1:jluTpSng7V9hY0O2R9DzzJHYb2xULk9VTR1V1R/k6Bo=
|
||||||
|
github.com/prometheus/procfs v0.12.0/go.mod h1:pcuDEFsWDnvcgNzo4EEweacyhjeA9Zk3cnaOZAZEfOo=
|
||||||
|
github.com/rogpeppe/go-internal v1.11.0 h1:cWPaGQEPrBb5/AsnsZesgZZ9yb1OQ+GOISoDNXVBh4M=
|
||||||
|
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
||||||
|
github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
|
||||||
|
github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
|
||||||
|
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
|
||||||
|
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
|
||||||
|
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
|
||||||
|
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
|
||||||
|
github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
|
||||||
|
github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
|
||||||
|
github.com/stretchr/testify v1.8.3/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
|
||||||
|
github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
|
||||||
|
github.com/twitchyliquid64/golang-asm v0.15.1 h1:SU5vSMR7hnwNxj24w34ZyCi/FmDZTkS4MhqMhdFk5YI=
|
||||||
|
github.com/twitchyliquid64/golang-asm v0.15.1/go.mod h1:a1lVb/DtPvCB8fslRZhAngC2+aY1QWCk3Cedj/Gdt08=
|
||||||
|
github.com/ugorji/go/codec v1.2.11 h1:BMaWp1Bb6fHwEtbplGBGJ498wD+LKlNSl25MjdZY4dU=
|
||||||
|
github.com/ugorji/go/codec v1.2.11/go.mod h1:UNopzCgEMSXjBc6AOMqYvWC1ktqTAfzJZUZgYf6w6lg=
|
||||||
|
github.com/valyala/fastrand v1.1.0 h1:f+5HkLW4rsgzdNoleUOB69hyT9IlD2ZQh9GyDMfb5G8=
|
||||||
|
github.com/valyala/fastrand v1.1.0/go.mod h1:HWqCzkrkg6QXT8V2EXWvXCoow7vLwOFN002oeRzjapQ=
|
||||||
|
go.opentelemetry.io/otel v1.24.0 h1:0LAOdjNmQeSTzGBzduGe/rU4tZhMwL5rWgtp9Ku5Jfo=
|
||||||
|
go.opentelemetry.io/otel v1.24.0/go.mod h1:W7b9Ozg4nkF5tWI5zsXkaKKDjdVjpD4oAt9Qi/MArHo=
|
||||||
|
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.24.0 h1:f2jriWfOdldanBwS9jNBdeOKAQN7b4ugAMaNu1/1k9g=
|
||||||
|
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.24.0/go.mod h1:B+bcQI1yTY+N0vqMpoZbEN7+XU4tNM0DmUiOwebFJWI=
|
||||||
|
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.24.0 h1:mM8nKi6/iFQ0iqst80wDHU2ge198Ye/TfN0WBS5U24Y=
|
||||||
|
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.24.0/go.mod h1:0PrIIzDteLSmNyxqcGYRL4mDIo8OTuBAOI/Bn1URxac=
|
||||||
|
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.24.0 h1:t6wl9SPayj+c7lEIFgm4ooDBZVb01IhLB4InpomhRw8=
|
||||||
|
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.24.0/go.mod h1:iSDOcsnSA5INXzZtwaBPrKp/lWu/V14Dd+llD0oI2EA=
|
||||||
|
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.24.0 h1:Mw5xcxMwlqoJd97vwPxA8isEaIoxsta9/Q51+TTJLGE=
|
||||||
|
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.24.0/go.mod h1:CQNu9bj7o7mC6U7+CA/schKEYakYXWr79ucDHTMGhCM=
|
||||||
|
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.24.0 h1:Xw8U6u2f8DK2XAkGRFV7BBLENgnTGX9i4rQRxJf+/vs=
|
||||||
|
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.24.0/go.mod h1:6KW1Fm6R/s6Z3PGXwSJN2K4eT6wQB3vXX6CVnYX9NmM=
|
||||||
|
go.opentelemetry.io/otel/exporters/prometheus v0.46.0 h1:I8WIFXR351FoLJYuloU4EgXbtNX2URfU/85pUPheIEQ=
|
||||||
|
go.opentelemetry.io/otel/exporters/prometheus v0.46.0/go.mod h1:ztwVUHe5DTR/1v7PeuGRnU5Bbd4QKYwApWmuutKsJSs=
|
||||||
|
go.opentelemetry.io/otel/metric v1.24.0 h1:6EhoGWWK28x1fbpA4tYTOWBkPefTDQnb8WSGXlc88kI=
|
||||||
|
go.opentelemetry.io/otel/metric v1.24.0/go.mod h1:VYhLe1rFfxuTXLgj4CBiyz+9WYBA8pNGJgDcSFRKBco=
|
||||||
|
go.opentelemetry.io/otel/sdk v1.24.0 h1:YMPPDNymmQN3ZgczicBY3B6sf9n62Dlj9pWD3ucgoDw=
|
||||||
|
go.opentelemetry.io/otel/sdk v1.24.0/go.mod h1:KVrIYw6tEubO9E96HQpcmpTKDVn9gdv35HoYiQWGDFg=
|
||||||
|
go.opentelemetry.io/otel/sdk/metric v1.24.0 h1:yyMQrPzF+k88/DbH7o4FMAs80puqd+9osbiBrJrz/w8=
|
||||||
|
go.opentelemetry.io/otel/sdk/metric v1.24.0/go.mod h1:I6Y5FjH6rvEnTTAYQz3Mmv2kl6Ek5IIrmwTLqMrrOE0=
|
||||||
|
go.opentelemetry.io/otel/trace v1.24.0 h1:CsKnnL4dUAr/0llH9FKuc698G04IrpWV0MQA/Y1YELI=
|
||||||
|
go.opentelemetry.io/otel/trace v1.24.0/go.mod h1:HPc3Xr/cOApsBI154IU0OI0HJexz+aw5uPdbs3UCjNU=
|
||||||
|
go.opentelemetry.io/proto/otlp v1.1.0 h1:2Di21piLrCqJ3U3eXGCTPHE9R8Nh+0uglSnOyxikMeI=
|
||||||
|
go.opentelemetry.io/proto/otlp v1.1.0/go.mod h1:GpBHCBWiqvVLDqmHZsoMM3C5ySeKTC7ej/RNTae6MdY=
|
||||||
|
go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto=
|
||||||
|
golang.org/x/arch v0.0.0-20210923205945-b76863e36670/go.mod h1:5om86z9Hs0C8fWVUuoMHwpExlXzs5Tkyp9hOrfG7pp8=
|
||||||
|
golang.org/x/arch v0.3.0 h1:02VY4/ZcO/gBOH6PUaoiptASxtXU10jazRCP865E97k=
|
||||||
|
golang.org/x/arch v0.3.0/go.mod h1:5om86z9Hs0C8fWVUuoMHwpExlXzs5Tkyp9hOrfG7pp8=
|
||||||
|
golang.org/x/crypto v0.17.0 h1:r8bRNjWL3GshPW3gkd+RpvzWrZAwPS49OmTGZ/uhM4k=
|
||||||
|
golang.org/x/crypto v0.17.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4=
|
||||||
|
golang.org/x/net v0.19.0 h1:zTwKpTd2XuCqf8huc7Fo2iSy+4RHPd10s4KzeTnVr1c=
|
||||||
|
golang.org/x/net v0.19.0/go.mod h1:CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U=
|
||||||
|
golang.org/x/sys v0.0.0-20220704084225-05e143d24a9e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
|
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
|
golang.org/x/sys v0.17.0 h1:25cE3gD+tdBA7lp7QfhuV+rJiE9YXTcS3VG1SqssI/Y=
|
||||||
|
golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
||||||
|
golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ=
|
||||||
|
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
|
||||||
|
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||||
|
google.golang.org/genproto v0.0.0-20231212172506-995d672761c0 h1:YJ5pD9rF8o9Qtta0Cmy9rdBwkSjrTCT6XTiUQVOtIos=
|
||||||
|
google.golang.org/genproto/googleapis/api v0.0.0-20240102182953-50ed04b92917 h1:rcS6EyEaoCO52hQDupoSfrxI3R6C2Tq741is7X8OvnM=
|
||||||
|
google.golang.org/genproto/googleapis/api v0.0.0-20240102182953-50ed04b92917/go.mod h1:CmlNWB9lSezaYELKS5Ym1r44VrrbPUa7JTvw+6MbpJ0=
|
||||||
|
google.golang.org/genproto/googleapis/rpc v0.0.0-20240102182953-50ed04b92917 h1:6G8oQ016D88m1xAKljMlBOOGWDZkes4kMhgGFlf8WcQ=
|
||||||
|
google.golang.org/genproto/googleapis/rpc v0.0.0-20240102182953-50ed04b92917/go.mod h1:xtjpI3tXFPP051KaWnhvxkiubL/6dJ18vLVf7q2pTOU=
|
||||||
|
google.golang.org/grpc v1.61.1 h1:kLAiWrZs7YeDM6MumDe7m3y4aM6wacLzM1Y/wiLP9XY=
|
||||||
|
google.golang.org/grpc v1.61.1/go.mod h1:VUbo7IFqmF1QtCAstipjG0GIoq49KvMe9+h1jFLBNJs=
|
||||||
|
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
|
||||||
|
google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
|
||||||
|
google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI=
|
||||||
|
google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
|
||||||
|
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||||
|
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
|
||||||
|
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||||
|
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
|
||||||
|
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||||
|
rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4=
|
||||||
+26
-14
@@ -9,8 +9,9 @@ import (
|
|||||||
|
|
||||||
"go.opentelemetry.io/otel/attribute"
|
"go.opentelemetry.io/otel/attribute"
|
||||||
"go.opentelemetry.io/otel/propagation"
|
"go.opentelemetry.io/otel/propagation"
|
||||||
|
|
||||||
// "go.opentelemetry.io/otel/codes"
|
// "go.opentelemetry.io/otel/codes"
|
||||||
"github.com/krakend/krakend-otel/state"
|
|
||||||
"go.opentelemetry.io/otel/metric"
|
"go.opentelemetry.io/otel/metric"
|
||||||
sdkmetric "go.opentelemetry.io/otel/sdk/metric"
|
sdkmetric "go.opentelemetry.io/otel/sdk/metric"
|
||||||
"go.opentelemetry.io/otel/sdk/metric/metricdata"
|
"go.opentelemetry.io/otel/sdk/metric/metricdata"
|
||||||
@@ -21,12 +22,14 @@ import (
|
|||||||
|
|
||||||
type fakeService struct{}
|
type fakeService struct{}
|
||||||
|
|
||||||
func (s *fakeService) ServeHTTP(w http.ResponseWriter, r *http.Request) {
|
func (*fakeService) ServeHTTP(w http.ResponseWriter, _ *http.Request) {
|
||||||
w.Write([]byte("foo bar"))
|
w.Write([]byte("foo bar"))
|
||||||
}
|
}
|
||||||
|
|
||||||
type testOTEL struct {
|
type testOTEL struct {
|
||||||
tracer trace.Tracer
|
tracer trace.Tracer
|
||||||
|
tracerProvider trace.TracerProvider
|
||||||
|
meter metric.Meter
|
||||||
metricProvider metric.MeterProvider
|
metricProvider metric.MeterProvider
|
||||||
|
|
||||||
metricReader *sdkmetric.ManualReader
|
metricReader *sdkmetric.ManualReader
|
||||||
@@ -40,8 +43,11 @@ func newTestOTEL() *testOTEL {
|
|||||||
|
|
||||||
metricReader := sdkmetric.NewManualReader()
|
metricReader := sdkmetric.NewManualReader()
|
||||||
metricProvider := sdkmetric.NewMeterProvider(sdkmetric.WithReader(metricReader))
|
metricProvider := sdkmetric.NewMeterProvider(sdkmetric.WithReader(metricReader))
|
||||||
|
|
||||||
return &testOTEL{
|
return &testOTEL{
|
||||||
tracer: tracer,
|
tracer: tracer,
|
||||||
|
tracerProvider: tracerProvider,
|
||||||
|
meter: metricProvider.Meter("io.krakend.krakend-otel"),
|
||||||
metricProvider: metricProvider,
|
metricProvider: metricProvider,
|
||||||
metricReader: metricReader,
|
metricReader: metricReader,
|
||||||
spanRecorder: spanRecorder,
|
spanRecorder: spanRecorder,
|
||||||
@@ -52,15 +58,23 @@ func (o *testOTEL) Tracer() trace.Tracer {
|
|||||||
return o.tracer
|
return o.tracer
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (o *testOTEL) TracerProvider() trace.TracerProvider {
|
||||||
|
return o.tracerProvider
|
||||||
|
}
|
||||||
|
|
||||||
func (o *testOTEL) MeterProvider() metric.MeterProvider {
|
func (o *testOTEL) MeterProvider() metric.MeterProvider {
|
||||||
return o.metricProvider
|
return o.metricProvider
|
||||||
}
|
}
|
||||||
|
|
||||||
func (o *testOTEL) Propagator() propagation.TextMapPropagator {
|
func (o *testOTEL) Meter() metric.Meter {
|
||||||
|
return o.meter
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*testOTEL) Propagator() propagation.TextMapPropagator {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (o *testOTEL) Shutdown(ctx context.Context) {
|
func (*testOTEL) Shutdown(_ context.Context) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestInstrumentedHTTPClient(t *testing.T) {
|
func TestInstrumentedHTTPClient(t *testing.T) {
|
||||||
@@ -70,9 +84,7 @@ func TestInstrumentedHTTPClient(t *testing.T) {
|
|||||||
innerClient := &http.Client{}
|
innerClient := &http.Client{}
|
||||||
otelInstance := newTestOTEL()
|
otelInstance := newTestOTEL()
|
||||||
transportOptions := &TransportOptions{
|
transportOptions := &TransportOptions{
|
||||||
OTELInstance: func() state.OTEL {
|
OTELInstance: otelInstance,
|
||||||
return otelInstance
|
|
||||||
},
|
|
||||||
TracesOpts: TransportTracesOptions{
|
TracesOpts: TransportTracesOptions{
|
||||||
RoundTrip: true,
|
RoundTrip: true,
|
||||||
ReadPayload: true,
|
ReadPayload: true,
|
||||||
@@ -89,9 +101,9 @@ func TestInstrumentedHTTPClient(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
c, err := InstrumentedHTTPClient(innerClient, transportOptions, "test-http-client")
|
c := InstrumentedHTTPClient(innerClient, transportOptions, "test-http-client")
|
||||||
if err != nil {
|
if c == nil {
|
||||||
t.Errorf("unexpected error %s", err.Error())
|
t.Error("unable to create client")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -164,9 +176,9 @@ func TestInstrumentedHTTPClient(t *testing.T) {
|
|||||||
"http.client.duration": false,
|
"http.client.duration": false,
|
||||||
"http.client.response.size": false,
|
"http.client.response.size": false,
|
||||||
"http.client.response.read.size": false,
|
"http.client.response.read.size": false,
|
||||||
"http.client.response.read.size.hist": false,
|
"http.client.response.read.size-hist": false,
|
||||||
"http.client.response.read.duration": false,
|
"http.client.response.read.time": false,
|
||||||
"http.client.response.read.duration.hist": false,
|
"http.client.response.read.time-hist": false,
|
||||||
// "reader-errors": false,
|
// "reader-errors": false,
|
||||||
}
|
}
|
||||||
numWantedMetrics := len(wantedMetrics)
|
numWantedMetrics := len(wantedMetrics)
|
||||||
@@ -189,7 +201,7 @@ func TestInstrumentedHTTPClient(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// --> check that the metrics have the expected attributes set
|
// --> check that the metrics have the expected attributes set
|
||||||
readSize := gotMetrics["read-size"]
|
readSize := gotMetrics["http.client.response.read.size"]
|
||||||
readSizeSum, ok := readSize.Data.(metricdata.Sum[int64])
|
readSizeSum, ok := readSize.Data.(metricdata.Sum[int64])
|
||||||
if !ok {
|
if !ok {
|
||||||
t.Errorf("cannot access read size aggregation: %#v", readSize.Data)
|
t.Errorf("cannot access read size aggregation: %#v", readSize.Data)
|
||||||
|
|||||||
+12
-12
@@ -43,7 +43,7 @@ func TestReaderHappyPath(t *testing.T) {
|
|||||||
attribute.Int("http.status_code", 201),
|
attribute.Int("http.status_code", 201),
|
||||||
attribute.String("url.path", "/this/{matched}/path"),
|
attribute.String("url.path", "/this/{matched}/path"),
|
||||||
}
|
}
|
||||||
reader := NewInstrumentedReader(&bw, ctx, attrsT, attrsM, tracer, meter)
|
reader := NewInstrumentedReader("", &bw, ctx, attrsT, attrsM, tracer, meter)
|
||||||
|
|
||||||
_, err = io.ReadAll(reader)
|
_, err = io.ReadAll(reader)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -88,10 +88,10 @@ func TestReaderHappyPath(t *testing.T) {
|
|||||||
// --> check that we have all the metrics we want to report
|
// --> check that we have all the metrics we want to report
|
||||||
sm := rm.ScopeMetrics[0]
|
sm := rm.ScopeMetrics[0]
|
||||||
wantedMetrics := map[string]bool{
|
wantedMetrics := map[string]bool{
|
||||||
"read-size": false,
|
"read.size": false,
|
||||||
"read-size-hist": false,
|
"read.size-hist": false,
|
||||||
"read-time": false,
|
"read.time": false,
|
||||||
"read-time-hist": false,
|
"read.time-hist": false,
|
||||||
// "reader-errors": false,
|
// "reader-errors": false,
|
||||||
}
|
}
|
||||||
numWantedMetrics := len(wantedMetrics)
|
numWantedMetrics := len(wantedMetrics)
|
||||||
@@ -107,7 +107,7 @@ func TestReaderHappyPath(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// --> check that the metrics have the expected attributes set
|
// --> check that the metrics have the expected attributes set
|
||||||
readSize := gotMetrics["read-size"]
|
readSize := gotMetrics["read.size"]
|
||||||
readSizeSum, ok := readSize.Data.(metricdata.Sum[int64])
|
readSizeSum, ok := readSize.Data.(metricdata.Sum[int64])
|
||||||
if !ok {
|
if !ok {
|
||||||
t.Errorf("cannot access read size aggregation: %#v", readSize.Data)
|
t.Errorf("cannot access read size aggregation: %#v", readSize.Data)
|
||||||
@@ -157,7 +157,7 @@ func TestReaderTimeout(t *testing.T) {
|
|||||||
attribute.Int("http.status_code", 201),
|
attribute.Int("http.status_code", 201),
|
||||||
attribute.String("url.path", "/this/{matched}/path"),
|
attribute.String("url.path", "/this/{matched}/path"),
|
||||||
}
|
}
|
||||||
reader := NewInstrumentedReader(innerReader, ctx, attrsT, attrsM, tracer, meter)
|
reader := NewInstrumentedReader("", innerReader, ctx, attrsT, attrsM, tracer, meter)
|
||||||
|
|
||||||
fourBytes := make([]byte, 4)
|
fourBytes := make([]byte, 4)
|
||||||
_, err = reader.Read(fourBytes)
|
_, err = reader.Read(fourBytes)
|
||||||
@@ -214,10 +214,10 @@ func TestReaderTimeout(t *testing.T) {
|
|||||||
// --> check that we have all the metrics we want to report
|
// --> check that we have all the metrics we want to report
|
||||||
sm := rm.ScopeMetrics[0]
|
sm := rm.ScopeMetrics[0]
|
||||||
wantedMetrics := map[string]bool{
|
wantedMetrics := map[string]bool{
|
||||||
"read-size": false,
|
"read.size": false,
|
||||||
"read-size-hist": false,
|
"read.size-hist": false,
|
||||||
"read-time": false,
|
"read.time": false,
|
||||||
"read-time-hist": false,
|
"read.time-hist": false,
|
||||||
// "reader-errors": false,
|
// "reader-errors": false,
|
||||||
}
|
}
|
||||||
numWantedMetrics := len(wantedMetrics)
|
numWantedMetrics := len(wantedMetrics)
|
||||||
@@ -233,7 +233,7 @@ func TestReaderTimeout(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// --> check that the metrics have the expected attributes set
|
// --> check that the metrics have the expected attributes set
|
||||||
readSize := gotMetrics["read-size"]
|
readSize := gotMetrics["read.size"]
|
||||||
readSizeSum, ok := readSize.Data.(metricdata.Sum[int64])
|
readSizeSum, ok := readSize.Data.(metricdata.Sum[int64])
|
||||||
if !ok {
|
if !ok {
|
||||||
t.Errorf("cannot access read size aggregation: %#v", readSize.Data)
|
t.Errorf("cannot access read size aggregation: %#v", readSize.Data)
|
||||||
|
|||||||
+6
-6
@@ -41,7 +41,7 @@ func TestWriterHappyPath(t *testing.T) {
|
|||||||
attribute.Int("http.status_code", 201),
|
attribute.Int("http.status_code", 201),
|
||||||
attribute.String("url.path", "/this/{matched}/path"),
|
attribute.String("url.path", "/this/{matched}/path"),
|
||||||
}
|
}
|
||||||
writer := NewInstrumentedWriter(&bw, ctx, attrsT, attrsM, tracer, meter)
|
writer := NewInstrumentedWriter("", &bw, ctx, attrsT, attrsM, tracer, meter)
|
||||||
|
|
||||||
startedSpans := spanRecorder.Started()
|
startedSpans := spanRecorder.Started()
|
||||||
if len(startedSpans) > initialStartedSpansLen {
|
if len(startedSpans) > initialStartedSpansLen {
|
||||||
@@ -103,10 +103,10 @@ func TestWriterHappyPath(t *testing.T) {
|
|||||||
// --> check that we have all the metrics we want to report
|
// --> check that we have all the metrics we want to report
|
||||||
sm := rm.ScopeMetrics[0]
|
sm := rm.ScopeMetrics[0]
|
||||||
wantedMetrics := map[string]bool{
|
wantedMetrics := map[string]bool{
|
||||||
"written-size": false,
|
"written.size": false,
|
||||||
"written-size-hist": false,
|
"written.size-hist": false,
|
||||||
"written-time": false,
|
"written.time": false,
|
||||||
"written-time-hist": false,
|
"written.time-hist": false,
|
||||||
// "written-errors": false,
|
// "written-errors": false,
|
||||||
}
|
}
|
||||||
numWantedMetrics := len(wantedMetrics)
|
numWantedMetrics := len(wantedMetrics)
|
||||||
@@ -122,7 +122,7 @@ func TestWriterHappyPath(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// --> check that the metrics have the expected attributes set
|
// --> check that the metrics have the expected attributes set
|
||||||
writtenSize := gotMetrics["written-size"]
|
writtenSize := gotMetrics["written.size"]
|
||||||
writtenSizeSum, ok := writtenSize.Data.(metricdata.Sum[int64])
|
writtenSizeSum, ok := writtenSize.Data.(metricdata.Sum[int64])
|
||||||
if !ok {
|
if !ok {
|
||||||
t.Errorf("cannot access written size aggregation: %#v", writtenSize.Data)
|
t.Errorf("cannot access written size aggregation: %#v", writtenSize.Data)
|
||||||
|
|||||||
+3
-1
@@ -5,6 +5,7 @@ import (
|
|||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
lconfig "github.com/luraproject/lura/v2/config"
|
lconfig "github.com/luraproject/lura/v2/config"
|
||||||
|
"github.com/luraproject/lura/v2/logging"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestGlobalConfig(t *testing.T) {
|
func TestGlobalConfig(t *testing.T) {
|
||||||
@@ -23,10 +24,11 @@ func TestGlobalConfig(t *testing.T) {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
err := Register(context.Background(), cfg)
|
shuftdownFn, err := Register(context.Background(), logging.NoOp, cfg)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Errorf("unexpected error %s", err.Error())
|
t.Errorf("unexpected error %s", err.Error())
|
||||||
}
|
}
|
||||||
|
shuftdownFn()
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
Reference in New Issue
Block a user