feat: add azure opentelemtry monitoring
This commit is contained in:
parent
4536f9d35b
commit
7dbcdf1650
2058
poetry.lock
generated
2058
poetry.lock
generated
File diff suppressed because it is too large
Load Diff
@ -1,6 +1,8 @@
|
||||
from dynaconf import Dynaconf
|
||||
from fastapi import FastAPI
|
||||
from kn_utils.logging import logger
|
||||
from azure.monitor.opentelemetry import configure_azure_monitor
|
||||
from opentelemetry import trace
|
||||
|
||||
from pyinfra.config.loader import get_pyinfra_validators, validate_settings
|
||||
from pyinfra.queue.callback import Callback
|
||||
@ -43,13 +45,20 @@ def start_standard_queue_consumer(
|
||||
|
||||
if settings.tracing.opentelemetry.enabled:
|
||||
logger.info(f"OpenTelemetry tracing enabled.")
|
||||
setup_trace(settings)
|
||||
if settings.tracing.opentelemetry.azure_monitoring:
|
||||
# Configure OpenTelemetry to use Azure Monitor with the
|
||||
# APPLICATIONINSIGHTS_CONNECTION_STRING environment variable.
|
||||
logger.info("Started Azure Monitoring.")
|
||||
configure_azure_monitor()
|
||||
else:
|
||||
setup_trace(settings)
|
||||
|
||||
instrument_pika()
|
||||
instrument_app(app)
|
||||
|
||||
|
||||
app = add_health_check_endpoint(app, queue_manager.is_ready)
|
||||
|
||||
webserver_thread = create_webserver_thread_from_settings(app, settings)
|
||||
webserver_thread.start()
|
||||
|
||||
queue_manager.start_consuming(callback)
|
||||
queue_manager.start_consuming(callback)
|
||||
@ -23,16 +23,17 @@ kn-utils = { version = "^0.2.7", source = "gitlab-research" }
|
||||
fastapi = "^0.109.0"
|
||||
uvicorn = "^0.26.0"
|
||||
# [tool.poetry.group.telemetry.dependencies]
|
||||
opentelemetry-instrumentation-pika = "^0.43b0"
|
||||
opentelemetry-exporter-otlp = "^1.22.0"
|
||||
opentelemetry-instrumentation = "^0.43b0"
|
||||
opentelemetry-api = "^1.22.0"
|
||||
opentelemetry-sdk = "^1.22.0"
|
||||
opentelemetry-exporter-otlp-proto-http = "^1.22.0"
|
||||
opentelemetry-instrumentation-flask = "^0.43b0"
|
||||
opentelemetry-instrumentation-requests = "^0.43b0"
|
||||
opentelemetry-instrumentation-fastapi = "^0.43b0"
|
||||
opentelemetry-instrumentation-pika = "^0.46b0"
|
||||
opentelemetry-exporter-otlp = "^1.25.0"
|
||||
opentelemetry-instrumentation = "^0.46b0"
|
||||
opentelemetry-api = "^1.25.0"
|
||||
opentelemetry-sdk = "^1.25.0"
|
||||
opentelemetry-exporter-otlp-proto-http = "^1.25.0"
|
||||
opentelemetry-instrumentation-flask = "^0.46b0"
|
||||
opentelemetry-instrumentation-requests = "^0.46b0"
|
||||
opentelemetry-instrumentation-fastapi = "^0.46b0"
|
||||
wcwidth = "<=0.2.12"
|
||||
azure-monitor-opentelemetry = "^1.6.0"
|
||||
|
||||
[tool.poetry.group.dev.dependencies]
|
||||
pytest = "^7"
|
||||
|
||||
@ -12,7 +12,7 @@ def processor_mock(_data: dict, _message: dict) -> dict:
|
||||
|
||||
if __name__ == "__main__":
|
||||
arguments = parse_settings_path()
|
||||
settings = load_settings(arguments.settings_path)
|
||||
settings = load_settings(arguments)
|
||||
|
||||
callback = make_download_process_upload_callback(processor_mock, settings)
|
||||
start_standard_queue_consumer(callback, settings)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user