Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 7 additions & 1 deletion app/backend/app.py
Original file line number Diff line number Diff line change
Expand Up @@ -809,7 +809,13 @@ def create_app():

if os.getenv("APPLICATIONINSIGHTS_CONNECTION_STRING"):
app.logger.info("APPLICATIONINSIGHTS_CONNECTION_STRING is set, enabling Azure Monitor")
configure_azure_monitor()
configure_azure_monitor(
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Explicitly disabling psycopg3 and other unused instrumentation packages due to current issue:
Azure/azure-sdk-for-python#42337
But seems fine to do regardless, since we dont need them.

instrumentation_options={
"django": {"enabled": False},
"psycopg2": {"enabled": False},
"fastapi": {"enabled": False},
}
)
# This tracks HTTP requests made by aiohttp:
AioHttpClientInstrumentor().instrument()
# This tracks HTTP requests made by httpx:
Expand Down
38 changes: 19 additions & 19 deletions app/backend/requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -51,9 +51,9 @@ azure-identity==1.17.1
# via
# -r requirements.in
# msgraph-sdk
azure-monitor-opentelemetry==1.6.1
azure-monitor-opentelemetry==1.6.13
# via -r requirements.in
azure-monitor-opentelemetry-exporter==1.0.0b32
azure-monitor-opentelemetry-exporter==1.0.0b40
# via azure-monitor-opentelemetry
azure-search-documents==11.6.0b12
# via -r requirements.in
Expand Down Expand Up @@ -214,7 +214,7 @@ oauthlib==3.2.2
# via requests-oauthlib
openai==1.99.8
# via -r requirements.in
opentelemetry-api==1.31.1
opentelemetry-api==1.36.0
# via
# azure-core-tracing-opentelemetry
# azure-monitor-opentelemetry-exporter
Expand All @@ -237,7 +237,7 @@ opentelemetry-api==1.31.1
# opentelemetry-instrumentation-wsgi
# opentelemetry-sdk
# opentelemetry-semantic-conventions
opentelemetry-instrumentation==0.52b1
opentelemetry-instrumentation==0.57b0
# via
# opentelemetry-instrumentation-aiohttp-client
# opentelemetry-instrumentation-asgi
Expand All @@ -252,47 +252,47 @@ opentelemetry-instrumentation==0.52b1
# opentelemetry-instrumentation-urllib
# opentelemetry-instrumentation-urllib3
# opentelemetry-instrumentation-wsgi
opentelemetry-instrumentation-aiohttp-client==0.52b1
opentelemetry-instrumentation-aiohttp-client==0.57b0
# via -r requirements.in
opentelemetry-instrumentation-asgi==0.52b1
opentelemetry-instrumentation-asgi==0.57b0
# via
# -r requirements.in
# opentelemetry-instrumentation-fastapi
opentelemetry-instrumentation-dbapi==0.52b1
opentelemetry-instrumentation-dbapi==0.57b0
# via opentelemetry-instrumentation-psycopg2
opentelemetry-instrumentation-django==0.52b1
opentelemetry-instrumentation-django==0.57b0
# via azure-monitor-opentelemetry
opentelemetry-instrumentation-fastapi==0.52b1
opentelemetry-instrumentation-fastapi==0.57b0
# via azure-monitor-opentelemetry
opentelemetry-instrumentation-flask==0.52b1
opentelemetry-instrumentation-flask==0.57b0
# via azure-monitor-opentelemetry
opentelemetry-instrumentation-httpx==0.52b1
opentelemetry-instrumentation-httpx==0.57b0
# via -r requirements.in
opentelemetry-instrumentation-openai==0.39.0
# via -r requirements.in
opentelemetry-instrumentation-psycopg2==0.52b1
opentelemetry-instrumentation-psycopg2==0.57b0
# via azure-monitor-opentelemetry
opentelemetry-instrumentation-requests==0.52b1
opentelemetry-instrumentation-requests==0.57b0
# via azure-monitor-opentelemetry
opentelemetry-instrumentation-urllib==0.52b1
opentelemetry-instrumentation-urllib==0.57b0
# via azure-monitor-opentelemetry
opentelemetry-instrumentation-urllib3==0.52b1
opentelemetry-instrumentation-urllib3==0.57b0
# via azure-monitor-opentelemetry
opentelemetry-instrumentation-wsgi==0.52b1
opentelemetry-instrumentation-wsgi==0.57b0
# via
# opentelemetry-instrumentation-django
# opentelemetry-instrumentation-flask
opentelemetry-resource-detector-azure==0.1.5
# via azure-monitor-opentelemetry
opentelemetry-sdk==1.31.1
opentelemetry-sdk==1.36.0
# via
# azure-monitor-opentelemetry
# azure-monitor-opentelemetry-exporter
# microsoft-kiota-abstractions
# microsoft-kiota-authentication-azure
# microsoft-kiota-http
# opentelemetry-resource-detector-azure
opentelemetry-semantic-conventions==0.52b1
opentelemetry-semantic-conventions==0.57b0
# via
# opentelemetry-instrumentation
# opentelemetry-instrumentation-aiohttp-client
Expand All @@ -310,7 +310,7 @@ opentelemetry-semantic-conventions==0.52b1
# opentelemetry-sdk
opentelemetry-semantic-conventions-ai==0.4.3
# via opentelemetry-instrumentation-openai
opentelemetry-util-http==0.52b1
opentelemetry-util-http==0.57b0
# via
# opentelemetry-instrumentation-aiohttp-client
# opentelemetry-instrumentation-asgi
Expand Down
6 changes: 6 additions & 0 deletions tests/test_app_config.py
Original file line number Diff line number Diff line change
Expand Up @@ -307,3 +307,9 @@ async def test_app_config_for_reasoning_override_effort(monkeypatch, minimal_env
assert result["streamingEnabled"] is True
assert result["showReasoningEffortOption"] is True
assert result["defaultReasoningEffort"] == "low"


def test_app_enables_azure_monitor_when_connection_string_set(monkeypatch):
mock_connection_string = "InstrumentationKey=12345678-1234-1234-1234-123456789012"
monkeypatch.setenv("APPLICATIONINSIGHTS_CONNECTION_STRING", mock_connection_string)
app.create_app()
Loading