Skip to content

Commit

Permalink
try use requests otel
Browse files Browse the repository at this point in the history
  • Loading branch information
vemonet committed Dec 20, 2023
1 parent fab2ccf commit 14f5f69
Showing 1 changed file with 38 additions and 39 deletions.
77 changes: 38 additions & 39 deletions src/trapi/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -112,44 +112,43 @@
app.include_router(drkg_model_api)


def configure_otel(app):
# open telemetry https://github.com/ranking-agent/aragorn/blob/main/src/otel_config.py#L4
# https://ncatstranslator.github.io/TranslatorTechnicalDocumentation/deployment-guide/monitoring/
# https://github.com/TranslatorSRI/Jaeger-demo
if not os.environ.get('NO_JAEGER'):
logging.info("starting up jaeger telemetry")
import warnings
from opentelemetry.instrumentation.fastapi import FastAPIInstrumentor
from opentelemetry import trace
from opentelemetry.exporter.jaeger.thrift import JaegerExporter
from opentelemetry.sdk.resources import SERVICE_NAME as telemetery_service_name_key, Resource
from opentelemetry.sdk.trace import TracerProvider
from opentelemetry.sdk.trace.export import BatchSpanProcessor
from opentelemetry.instrumentation.httpx import HTTPXClientInstrumentor
# Configure Open Telemetry
# https://github.com/ranking-agent/aragorn/blob/main/src/otel_config.py#L4
# https://ncatstranslator.github.io/TranslatorTechnicalDocumentation/deployment-guide/monitoring/
# https://github.com/TranslatorSRI/Jaeger-demo
if not os.environ.get('NO_JAEGER'):
logging.info("starting up jaeger telemetry")
import warnings
from opentelemetry.instrumentation.fastapi import FastAPIInstrumentor
from opentelemetry import trace
from opentelemetry.exporter.jaeger.thrift import JaegerExporter
from opentelemetry.sdk.resources import SERVICE_NAME as telemetery_service_name_key, Resource
from opentelemetry.sdk.trace import TracerProvider
from opentelemetry.sdk.trace.export import BatchSpanProcessor
from opentelemetry.instrumentation.requests import RequestsInstrumentor
# from opentelemetry.instrumentation.httpx import HTTPXClientInstrumentor

service_name = os.environ.get('OTEL_SERVICE_NAME', 'OPENPREDICT')
# httpx connections need to be open a little longer by the otel decorators
# but some libs display warnings of resource being unclosed.
# these supresses such warnings.
logging.captureWarnings(capture=True)
warnings.filterwarnings("ignore",category=ResourceWarning)
trace.set_tracer_provider(
TracerProvider(
resource=Resource.create({telemetery_service_name_key: service_name})
)
service_name = os.environ.get('OTEL_SERVICE_NAME', 'OPENPREDICT')
# httpx connections need to be open a little longer by the otel decorators
# but some libs display warnings of resource being unclosed.
# these supresses such warnings.
logging.captureWarnings(capture=True)
warnings.filterwarnings("ignore",category=ResourceWarning)
trace.set_tracer_provider(
TracerProvider(
resource=Resource.create({telemetery_service_name_key: service_name})
)
jaeger_host = os.environ.get('JAEGER_HOST', 'jaeger-otel-agent.sri')
jaeger_port = int(os.environ.get('JAEGER_PORT', '6831'))
jaeger_exporter = JaegerExporter(
agent_host_name=jaeger_host,
agent_port=jaeger_port,
)
trace.get_tracer_provider().add_span_processor(
BatchSpanProcessor(jaeger_exporter)
)
tracer = trace.get_tracer(__name__)
FastAPIInstrumentor.instrument_app(app, tracer_provider=trace, excluded_urls="docs,openapi.json")
HTTPXClientInstrumentor().instrument()

# Configure open telemetry if enabled
configure_otel(app)
)
jaeger_host = os.environ.get('JAEGER_HOST', 'jaeger-otel-agent.sri')
jaeger_port = int(os.environ.get('JAEGER_PORT', '6831'))
jaeger_exporter = JaegerExporter(
agent_host_name=jaeger_host,
agent_port=jaeger_port,
)
trace.get_tracer_provider().add_span_processor(
BatchSpanProcessor(jaeger_exporter)
)
tracer = trace.get_tracer(__name__)
FastAPIInstrumentor.instrument_app(app, tracer_provider=trace, excluded_urls="docs,openapi.json")
RequestsInstrumentor().instrument()
# HTTPXClientInstrumentor().instrument()

0 comments on commit 14f5f69

Please sign in to comment.