in generators/backend/templates/src/backend/utils/util.py [0:0]
def set_up_metrics():
"""
Configures metrics collection with OpenTelemetry.
Configures views to filter metrics to only those starting with "semantic_kernel".
"""
exporters = []
if (local_endpoint):
exporters.append(OTLPMetricExporter(endpoint=local_endpoint))
exporters.append(AzureMonitorMetricExporter.from_connection_string(os.getenv("APPLICATIONINSIGHTS_CONNECTION_STRING")))
metric_readers = [PeriodicExportingMetricReader(exporter, export_interval_millis=5000) for exporter in exporters]
meter_provider = MeterProvider(
metric_readers=metric_readers,
resource=telemetry_resource,
views=[
# Dropping all instrument names except for those starting with "semantic_kernel"
View(instrument_name="*", aggregation=DropAggregation()),
View(instrument_name="semantic_kernel*"),
],
)
set_meter_provider(meter_provider)