Skip to content

Commit cd65de3

Browse files
committed
Update app settings
1 parent b1ee566 commit cd65de3

File tree

2 files changed

+18
-4
lines changed

2 files changed

+18
-4
lines changed

code/function/fastapp/core/config.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ class Settings(BaseSettings):
1010
APP_VERSION: str = "v0.0.1"
1111
API_V1_STR: str = "/v1"
1212
LOGGING_LEVEL: int = logging.INFO
13+
LOGGING_SAMPLING_RATIO: float = 1.0
14+
LOGGING_SCHEDULE_DELAY: int = 5000
1315
DEBUG: bool = False
1416
APPLICATIONINSIGHTS_CONNECTION_STRING: str = Field(
1517
default="", env="APPLICATIONINSIGHTS_CONNECTION_STRING"

code/function/fastapp/utils.py

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ def setup_opentelemetry(app: FastAPI):
6666
resource = Resource.create(
6767
{
6868
"service.name": settings.WEBSITE_NAME,
69+
"service.namespace": settings.WEBSITE_NAME,
6970
"service.instance.id": settings.WEBSITE_INSTANCE_ID,
7071
}
7172
)
@@ -77,7 +78,10 @@ def setup_opentelemetry(app: FastAPI):
7778
)
7879
logger_provider = LoggerProvider(resource=resource)
7980
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+
)
8185
)
8286
set_logger_provider(logger_provider)
8387
handler = LoggingHandler(
@@ -90,9 +94,16 @@ def setup_opentelemetry(app: FastAPI):
9094
settings.APPLICATIONINSIGHTS_CONNECTION_STRING,
9195
# credential=credential
9296
)
93-
sampler = ApplicationInsightsSampler(1.0)
97+
sampler = ApplicationInsightsSampler(
98+
sampling_ratio=settings.LOGGING_SAMPLING_RATIO
99+
)
94100
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+
)
96107
set_tracer_provider(tracer_provider)
97108

98109
# Create meter provider
@@ -101,7 +112,8 @@ def setup_opentelemetry(app: FastAPI):
101112
# credential=credential
102113
)
103114
reader = PeriodicExportingMetricReader(
104-
metrics_exporter, export_interval_millis=5000
115+
exporter=metrics_exporter,
116+
export_interval_millis=settings.LOGGING_SCHEDULE_DELAY,
105117
)
106118
meter_provider = MeterProvider(metric_readers=[reader], resource=resource)
107119
set_meter_provider(meter_provider)

0 commit comments

Comments
 (0)