-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feature/BCF-2404-grpc-tracing: grpc tracing in core (#10698)
* feature/BCF-2404-grpc-tracing: Implementing grpc tracing in core * feature/BCF-2404-grpc-tracing: fixing config related tests * feature/BCF-2404-grpc-tracing: removing redundant forwarding of host env vars * feature/BCF-2404-grpc-tracing: adding tracing config to TestOCRv2Basic integration test * feature/BCF-2404-grpc-tracing: running go mod tidy * feature/BCF-2404-grpc-tracing: bumping kuberesolver to v5.1.1 * feature/BCF-2404-grpc-tracing: refactoring and minor cleanup * feature/BCF-2404-grpc-tracing: adding matrix for plugin image to eth-smoke-tests for median loop plugin * feature/BCF-2404-grpc-tracing: WIP adding OTEL collector, tempo, and grafana UI to integration testing workflow * feature/BCF-2404-grpc-tracing: adding build targets for plugin image for local testing and bumping relay * feature/BCF-2404-grpc-tracing: trying tr -d '\r' in secret parsing * feature/BCF-2404-grpc-tracing: connecting test container nodes to custom tracing bridge network * feature/BCF-2404-grpc-tracing: fixing integration-tests runner yaml and updating docker network for telem containers in runner to custom bridge with name tracing * feature/BCF-2404-grpc-tracing: WIP testing docker network * feature/BCF-2404-grpc-tracing: migrating tracing job steps to live under eth smoke tests matrix as github jobs have isolated virtual environments * feature/BCF-2404-grpc-tracing: picking random port on persistent server to allow for multiple PRs to generate traces * bumping zap to v1.26.0 and fixing rebase error * feature/BCF-2404-grpc-tracing: wiring SamplingRatio tracing configuration * feature/BCF-2404-grpc-tracing: updating after loop.SetupTelemetry refactored to loop.NewGRPCOpts and loop.SetupTracing * feature/BCF-2404-grpc-tracing: bumping relay * feature/BCF-2404-grpc-tracing: updating initGlobals to pass tracing setup error for logging through to NewApplication * feature/BCF-2404-grpc-tracing: adding ValidateConfig for Tracing struct in core/config/toml * feature/BCF-2404-grpc-tracing: adding validation for Tracing.SamplingRatio TOML config * feature/BCF-2404-grpc-tracing: tracing toml type ValidateConfig was brittle - expanded to accept docker network logical addresses * feature/BCF-2404-grpc-tracing: wiring TracingConfig through NewLoopRegistry by including it in LoopRegistry * feature/BCF-2404-grpc-tracing: refactoring for TOML config types * feature/BCF-2404-grpc-tracing: bumping relay * feature/BCF-2404-grpc-tracing: fix reference to Attributes type in integration-tests module * feature/BCF-2404-grpc-tracing: fixing test * feature/BCF-2404-grpc-tracing: bumping relay * feature/BCF-2404-grpc-tracing: adding coverage * feature/BCF-2404-grpc-tracing: adding coverage and adding toml omit empty tag to Attributes * feature/BCF-2404-grpc-tracing: localhost --> 127.0.01 in reverse forward and adding coverage * feature/BCF-2404-grpc-tracing: adding (legacy) name to eth smoke tests matrix * feature/BCF-2404-grpc-tracing: adding coverage * feature/BCF-2404-grpc-tracing: minor refactoring * feature/BCF-2404-grpc-tracing: updating enable tracing job to work in merge queue * feature/BCF-2404-grpc-tracing: fixing localhost --> 127.0.0.1 in previous commit
- Loading branch information
1 parent
75b7554
commit 2930423
Showing
56 changed files
with
1,136 additions
and
70 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
# Distributed Tracing | ||
|
||
These config files are for an OTEL collector, grafana Tempo, and a grafana UI instance to run as containers on the same network. | ||
|
||
A localhost client can send gRPC calls to the server. The gRPC server is instrumented with open telemetry traces, which are sent to the OTEL collector and forwarded to the Tempo backend. The grafana UI can then read the trace data from the Tempo backend. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
apiVersion: 1 | ||
|
||
datasources: | ||
- name: Tempo | ||
type: tempo | ||
access: proxy | ||
orgId: 1 | ||
url: http://tempo:3200 | ||
basicAuth: false | ||
isDefault: true | ||
version: 1 | ||
editable: false | ||
apiVersion: 1 | ||
uid: tempo | ||
jsonData: | ||
httpMethod: GET | ||
serviceMap: | ||
datasourceUid: prometheus |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
version: "3" | ||
services: | ||
|
||
# ... the OpenTelemetry Collector configured to receive traces and export to Tempo ... | ||
otel-collector: | ||
image: otel/opentelemetry-collector:0.61.0 | ||
command: [ "--config=/etc/otel-collector.yaml" ] | ||
volumes: | ||
- ./otel-collector.yaml:/etc/otel-collector.yaml | ||
ports: | ||
- "4317:4317" # otlp grpc | ||
depends_on: | ||
- tempo | ||
networks: | ||
- tracing-network | ||
|
||
# .. Which accepts requests from grafana ... | ||
tempo: | ||
image: grafana/tempo:latest | ||
command: [ "-config.file=/etc/tempo.yaml" ] | ||
volumes: | ||
- ./tempo.yaml:/etc/tempo.yaml | ||
- ./tempo-data:/tmp/tempo | ||
ports: | ||
- "4317" # otlp grpc | ||
networks: | ||
- tracing-network | ||
|
||
grafana: | ||
image: grafana/grafana:9.4.3 | ||
volumes: | ||
- ./grafana-datasources.yaml:/etc/grafana/provisioning/datasources/datasources.yaml | ||
environment: | ||
- GF_AUTH_ANONYMOUS_ENABLED=true | ||
- GF_AUTH_ANONYMOUS_ORG_ROLE=Admin | ||
- GF_AUTH_DISABLE_LOGIN_FORM=true | ||
- GF_FEATURE_TOGGLES_ENABLE=traceqlEditor | ||
ports: | ||
- "3000:3000" | ||
networks: | ||
- tracing-network | ||
|
||
networks: | ||
tracing-network: | ||
name: tracing | ||
driver: bridge |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
receivers: | ||
otlp: | ||
protocols: | ||
grpc: | ||
endpoint: "0.0.0.0:4317" | ||
exporters: | ||
otlp: | ||
endpoint: tempo:4317 | ||
tls: | ||
insecure: true | ||
service: | ||
pipelines: | ||
traces: | ||
receivers: [otlp] | ||
exporters: [otlp] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
server: | ||
http_listen_port: 3200 | ||
|
||
distributor: | ||
receivers: | ||
otlp: | ||
protocols: | ||
http: | ||
grpc: | ||
|
||
ingester: | ||
max_block_duration: 5m # cut the headblock when this much time passes. this is being set for demo purposes and should probably be left alone normally | ||
|
||
compactor: | ||
compaction: | ||
block_retention: 1h # overall Tempo trace retention. set for demo purposes | ||
|
||
storage: | ||
trace: | ||
backend: local # backend configuration to use | ||
wal: | ||
path: /tmp/tempo/wal # where to store the the wal locally | ||
local: | ||
path: /tmp/tempo/blocks |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.