Bootstrap tracing in code for sanctions, replacing the zero-code wrapper
common/telemetry.py builds the Resource, TracerProvider, BatchSpanProcessor and OTLP/HTTP exporter by hand; sanctions calls setup_telemetry() at import instead of running under opentelemetry-instrument. No instrumentor is enabled yet, so sanctions emits no spans for now. service.version comes from OTEL_RESOURCE_ATTRIBUTES: deploy.sh exports DEPLOY_HASH (the server's HEAD after the pull) and compose falls back to "dev". deployment.environment.name=prod is dropped. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
574d7f4038
commit
4baae96e6e
@@ -0,0 +1,13 @@
|
||||
from opentelemetry import trace
|
||||
from opentelemetry.sdk.resources import SERVICE_NAME, Resource
|
||||
from opentelemetry.sdk.trace import TracerProvider
|
||||
from opentelemetry.sdk.trace.export import BatchSpanProcessor
|
||||
from opentelemetry.exporter.otlp.proto.http.trace_exporter import OTLPSpanExporter
|
||||
|
||||
|
||||
def setup_telemetry(service_name: str):
|
||||
resource = Resource.create(attributes={SERVICE_NAME: service_name})
|
||||
processor = BatchSpanProcessor(OTLPSpanExporter())
|
||||
provider = TracerProvider(resource=resource)
|
||||
provider.add_span_processor(processor)
|
||||
trace.set_tracer_provider(provider)
|
||||
Reference in New Issue
Block a user