@@ -66,6 +66,7 @@ def setup_opentelemetry(app: FastAPI):
66
66
resource = Resource .create (
67
67
{
68
68
"service.name" : settings .WEBSITE_NAME ,
69
+ "service.namespace" : settings .WEBSITE_NAME ,
69
70
"service.instance.id" : settings .WEBSITE_INSTANCE_ID ,
70
71
}
71
72
)
@@ -77,7 +78,10 @@ def setup_opentelemetry(app: FastAPI):
77
78
)
78
79
logger_provider = LoggerProvider (resource = resource )
79
80
logger_provider .add_log_record_processor (
80
- BatchLogRecordProcessor (logger_exporter )
81
+ BatchLogRecordProcessor (
82
+ exporter = logger_exporter ,
83
+ schedule_delay_millis = settings .LOGGING_SCHEDULE_DELAY ,
84
+ )
81
85
)
82
86
set_logger_provider (logger_provider )
83
87
handler = LoggingHandler (
@@ -90,9 +94,16 @@ def setup_opentelemetry(app: FastAPI):
90
94
settings .APPLICATIONINSIGHTS_CONNECTION_STRING ,
91
95
# credential=credential
92
96
)
93
- sampler = ApplicationInsightsSampler (1.0 )
97
+ sampler = ApplicationInsightsSampler (
98
+ sampling_ratio = settings .LOGGING_SAMPLING_RATIO
99
+ )
94
100
tracer_provider = TracerProvider (resource = resource , sampler = sampler )
95
- tracer_provider .add_span_processor (BatchSpanProcessor (tracer_exporter ))
101
+ tracer_provider .add_span_processor (
102
+ BatchSpanProcessor (
103
+ span_exporter = tracer_exporter ,
104
+ schedule_delay_millis = settings .LOGGING_SCHEDULE_DELAY ,
105
+ )
106
+ )
96
107
set_tracer_provider (tracer_provider )
97
108
98
109
# Create meter provider
@@ -101,7 +112,8 @@ def setup_opentelemetry(app: FastAPI):
101
112
# credential=credential
102
113
)
103
114
reader = PeriodicExportingMetricReader (
104
- metrics_exporter , export_interval_millis = 5000
115
+ exporter = metrics_exporter ,
116
+ export_interval_millis = settings .LOGGING_SCHEDULE_DELAY ,
105
117
)
106
118
meter_provider = MeterProvider (metric_readers = [reader ], resource = resource )
107
119
set_meter_provider (meter_provider )
0 commit comments