ЁЯМР Update translations for hi (add-missing) (#16435)

Co-authored-by: pr-submit[bot] <pr-submit[bot]@users.noreply.github.com>
Co-authored-by: Yurii Motov <yurii.motov.monte@gmail.com>
This commit is contained in:
authored and GitHub committed 2026-10-02 13:15:44 +02:00
1 parent ef7841ae82
commit 467a1afd67
1 file changed
+161
+161
View File
@@ -0,0 +1,161 @@
# OpenTelemetry { #opentelemetry }
рдЬрдм рдЖрдкрдХрд╛ API рдЪрд▓ рд░рд╣рд╛ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЖрдк рд╢рд╛рдпрдж рдЬрд╛рдирдирд╛ рдЪрд╛рд╣реЗрдВ рдХрд┐ рдЙрд╕реЗ рдХрд┐рддрдирд╛ рдЯреНрд░реИрдлрд╝рд┐рдХ рдорд┐рд▓ рд░рд╣рд╛ рд╣реИ, рдХреМрди-рд╕реЗ requests рдзреАрдореЗ рд╣реИрдВ рдФрд░ рддреНрд░реБрдЯрд┐рдпрд╛рдБ рдХрдм рд╣реЛрддреА рд╣реИрдВред
**Telemetry** рдЖрдкрдХреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рд╕реЗ рдЬреБрдбрд╝рд╛ data рд╣реИ, рдЬреЛ рдЗрди рд╕рд╡рд╛рд▓реЛрдВ рдХреЗ рдЬрд╡рд╛рдм рджреЗрдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░рдХрд╛рд░ рд╣реИрдВ:
- **Metrics**: рдРрд╕реЗ рдорд╛рдк рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдк рд╕рдордп рдХреЗ рд╕рд╛рде рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ response рдореЗрдВ рд▓рдЧрдиреЗ рд╡рд╛рд▓рд╛ рд╕рдордп рдФрд░ рд╕рдВрднрд╛рд▓реЗ рдЬрд╛ рд░рд╣реЗ requests рдХреА рд╕рдВрдЦреНрдпрд╛ред
- **Traces**: рдЕрд▓рдЧ-рдЕрд▓рдЧ requests рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдП рдЧрдП рдСрдкрд░реЗрд╢рди рдХреЗ рд░рд┐рдХреЙрд░реНрдбред рд╣рд░ рдСрдкрд░реЗрд╢рди рдЬрд┐рд╕рдХрд╛ рд╕рдордп рдорд╛рдкрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдПрдХ **span** рдХрд╣рд▓рд╛рддрд╛ рд╣реИред
- **Logs**: рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк рдХреЗ рд╕рд╛рде event рдХреЗ рд░рд┐рдХреЙрд░реНрдб, рдЬреИрд╕реЗ рдХрд┐рд╕реА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рд╢реБрд░реВ рд╣реЛрдирд╛ рдпрд╛ рдХрд┐рд╕реА рдСрдкрд░реЗрд╢рди рдХрд╛ рд╡рд┐рдлрд▓ рд╣реЛрдирд╛ред
[**OpenTelemetry**](https://opentelemetry.io/) telemetry рдПрдХрддреНрд░ рдХрд░рдиреЗ рдФрд░ рдЙрд╕реЗ рдХрд┐рд╕реА рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ рд╕реЗрд╡рд╛ рдХреЛ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП standards рдФрд░ tools рдХрд╛ рдПрдХ рд╕рдореВрд╣ рд╣реИ, рдЬрд╣рд╛рдБ рдЖрдк рдЙрд╕реЗ рдбреИрд╢рдмреЛрд░реНрдб рдореЗрдВ рджреЗрдЦ рдФрд░ рдЬрд╛рдБрдЪ рд╕рдХрддреЗ рд╣реИрдВред
**FastAPI, HTTP request traces, metrics рдФрд░ logs рдХреЗ рд▓рд┐рдП default рд░реВрдк рд╕реЗ OpenTelemetry support рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ**ред WebSocket рдХрдиреЗрдХреНрд╢рди рднреА traces рдФрд░ logs рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВред рдЙрд╕ data рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рдЙрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рд╡рд╛рд▓реА рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ рд╕реЗрд╡рд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВред
## FastAPI install рдХрд░реЗрдВ { #install-fastapi }
FastAPI рдХреЛ `standard` extras рдХреЗ рд╕рд╛рде install рдХрд░реЗрдВ, рдЬрд┐рдирдореЗрдВ telemetry рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП packages рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:
<div class="termy">
```console
$ uv add "fastapi[standard]"
---> 100%
```
</div>
## рдРрдк рдмрдирд╛рдПрдБ { #create-the-app }
рдПрдХ file `main.py` рдмрдирд╛рдПрдБ:
{* ../../docs_src/opentelemetry/tutorial001_py310.py *}
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпрд╣ рд╕рдм default рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред Telemetry рдХреЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдХреЛрдИ рдХрд╕реНрдЯрдо рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рдирд╣реАрдВ рд╣реИред
## FastAPI Cloud { #fastapi-cloud }
рдЬрдм рдЖрдк `fastapi[standard]` рдХреЗ рд╕рд╛рде [FastAPI Cloud](https://fastapicloud.com) рдкрд░ рдбрд┐рдкреНрд▓реЙрдп рдХрд░рддреЗ рд╣реИрдВ, рддреЛ metrics рдЕрдкрдиреЗ рдЖрдк рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред рдЖрдкрдХреЛ рдХреБрдЫ рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдирд╣реАрдВ рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ред
Pro рдкреНрд▓рд╛рди рдкрд░, рдЖрдк [Metrics рдбреИрд╢рдмреЛрд░реНрдб](https://fastapicloud.com/docs/monitoring-and-performance/metrics/) рдореЗрдВ requests рдХреА рд╕рдВрдЦреНрдпрд╛, рддреНрд░реБрдЯрд┐ рджрд░ рдФрд░ response рдореЗрдВ рд▓рдЧрдиреЗ рд╡рд╛рд▓рд╛ рд╕рдордп рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред
<img src="/img/tutorial/opentelemetry/image01.png" alt="рдЙрджрд╛рд╣рд░рдг data рдХреЗ рд╕рд╛рде FastAPI Cloud Pro metrics рдбреИрд╢рдмреЛрд░реНрдб">
## рдЕрдиреНрдп рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ рд╕реЗрд╡рд╛рдПрдБ { #other-monitoring-services }
рдХрд┐рд╕реА рдЕрдиреНрдп рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ рд╕реЗрд╡рд╛ рдХреЛ telemetry рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП, рдРрд╕рд╛ endpoint рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ рдЬреЛ **OTLP** рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реЛред рдпрд╣ telemetry рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП OpenTelemetry рдХрд╛ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╣реИред рд╕реЗрд╡рд╛ рдХреЗ HTTP/protobuf рдмреЗрд╕ endpoint рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
рдЙрджрд╛рд╣рд░рдг URL рдХреА рдЬрдЧрд╣ рдЕрдкрдирд╛ endpoint рдбрд╛рд▓рдХрд░, рдпреЗ environment variables рд╕реЗрдЯ рдХрд░реЗрдВ:
```bash
export OTEL_SERVICE_NAME=my-api
export OTEL_EXPORTER_OTLP_ENDPOINT=https://collector.example.com
```
`OTEL_SERVICE_NAME` рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ рд╕реЗрд╡рд╛ рдореЗрдВ рдЖрдкрдХреЗ рдРрдк рдХреА рдкрд╣рдЪрд╛рди рдХрд░рддрд╛ рд╣реИред Endpoint, data рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмреЗрд╕ URL рд╣реИред рдЙрд╕ URL рдХреЗ рдЕрдВрддрд░реНрдЧрдд traces рдХреЛ `/v1/traces`, metrics рдХреЛ `/v1/metrics` рдФрд░ logs рдХреЛ `/v1/logs` рдкрд░ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдпрджрд┐ рдЖрдкрдХреА рд╕реЗрд╡рд╛ рдХреЛ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ, рддреЛ `OTEL_EXPORTER_OTLP_HEADERS` рдореЗрдВ рдЙрд╕рдХреЗ рдмрддрд╛рдП рдЧрдП headers рд╕реЗрдЯ рдХрд░реЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП `api-key=YOUR_API_KEY`ред
## рдРрдк рдЪрд▓рд╛рдПрдБ { #run-the-app }
рдЙрд╕реА рдЯрд░реНрдорд┐рдирд▓ рдореЗрдВ рдРрдк рд╢реБрд░реВ рдХрд░реЗрдВ:
<div class="termy">
```console
$ uv run fastapi run
```
</div>
рджреВрд╕рд░реЗ рдЯрд░реНрдорд┐рдирд▓ рдореЗрдВ, рдПрдХ request рднреЗрдЬреЗрдВ:
```console
$ curl http://127.0.0.1:8000/items/1
{"item_id":1}
```
рдЕрдкрдиреА рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ рд╕реЗрд╡рд╛ рдЦреЛрд▓реЗрдВ рдФрд░ `my-api` рдЦреЛрдЬреЗрдВред рдЕрдЧрд▓реЗ рдПрдХреНрд╕рдкреЛрд░реНрдЯ рдХреЗ рдмрд╛рдж, рдЖрдк `GET /items/{item_id}` span рд╡рд╛рд▓рд╛ рдПрдХ trace рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд╕рд╛рде рд╣реА requests рдХреА рд╕рдВрдЦреНрдпрд╛, response рдХреА рдЕрд╡рдзрд┐ рдФрд░ рд╕рдХреНрд░рд┐рдп requests рдХреЗ metrics рднреА рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред
## Telemetry рдХреЛ рдЕрдкрдиреА рдЬрд╝рд░реВрд░рдд рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдмрджрд▓реЗрдВ { #customize-telemetry }
### Providers рдФрд░ exporters рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ { #configure-providers-and-exporters }
рдПрдХ **provider** рдРрд╕реЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдЬреЛ traces, metrics рдпрд╛ logs рд░рд┐рдХреЙрд░реНрдб рдХрд░рддреЗ рд╣реИрдВред рдЙрд╕рдХрд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЙрд╕ data рдХреЛ рдХреИрд╕реЗ рдкреНрд░реЛрд╕реЗрд╕ рдФрд░ рдПрдХреНрд╕рдкреЛрд░реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
Telemetry рд▓рд╛рдЗрдмреНрд░реЗрд░реА OpenTelemetry рдХреЗ рдЧреНрд▓реЛрдмрд▓ providers рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░ рд╕рдХрддреА рд╣реИрдВред рдРрдк рд╢реБрд░реВ рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ, рдФрд░ FastAPI рдЕрдкрдиреЗ рдЖрдк рдЙрди providers рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
рдЬрдм environment рдореЗрдВ рдХреЛрдИ OTLP endpoint рд╕реЗрдЯ рд╣реЛрддрд╛ рд╣реИ, рддреЛ FastAPI рд╣рд░ рд╕рдХреНрд╖рдо provider рдореЗрдВ рдЙрд╕ рдЧрдВрддрд╡реНрдп рдХреЗ рд▓рд┐рдП рдПрдХ exporter рдЬреЛрдбрд╝рддрд╛ рд╣реИред рдореМрдЬреВрджрд╛ exporters рдЕрдкрдиреЗ рдЧрдВрддрд╡реНрдпреЛрдВ рдкрд░ data рднреЗрдЬрдирд╛ рдЬрд╛рд░реА рд░рдЦрддреЗ рд╣реИрдВред
рд╣рд░ рдЧрдВрддрд╡реНрдп рдХреЛ рдПрдХ рдмрд╛рд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВред рдпрджрд┐ рдХреЛрдИ рджреВрд╕рд░реА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдкрд╣рд▓реЗ рд╕реЗ рд╣реА environment рдореЗрдВ рджрд┐рдП рдЧрдП рдЧрдВрддрд╡реНрдп рдХреЛ рд╕рдВрднрд╛рд▓ рд░рд╣реА рд╣реИ, рддреЛ рдЙрд╕рдХрд╛ environment export рдЕрдХреНрд╖рдо рдХрд░реЗрдВ рдпрд╛ FastAPI рдХрд╛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд setup рдмрдВрдж рдХрд░реЗрдВ:
```python
app = FastAPI(telemetry={"auto_configure": False})
```
рдЖрдк `telemetry` рдбрд┐рдХреНрд╢рдирд░реА рдореЗрдВ рд╕реАрдзреЗ рдПрдХ provider рднреА рдкрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ provider рдЖрдкрдХреЗ рдЯрд░реНрдорд┐рдирд▓ рдореЗрдВ request spans рдкреНрд░рд┐рдВрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП OpenTelemetry рдХреЗ console exporter рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ:
{* ../../docs_src/opentelemetry/tutorial002_py310.py hl[2:8] *}
**Exporter**, spans рдХреЛ рдЙрдирдХреЗ рдЧрдВрддрд╡реНрдп рдкрд░ рднреЗрдЬрддрд╛ рд╣реИред `BatchSpanProcessor`, spans рдХреЛ рд╕рдореВрд╣реЛрдВ рдореЗрдВ рдмрд╛рдБрдЯрддрд╛ рд╣реИ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рдореЗрдВ рднреЗрдЬрддрд╛ рд╣реИред рдЕрдкрдиреА рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рдЧрдВрддрд╡реНрдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП console exporter рдХреА рдЬрдЧрд╣ рдЙрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛ exporter рд▓рдЧрд╛рдПрдБред рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рдФрд░ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рд▓рд┐рдП [OpenTelemetry рдХреА Python instrumentation рдЧрд╛рдЗрдб](https://opentelemetry.io/docs/languages/python/instrumentation/) рджреЗрдЦреЗрдВред
Metrics рдпрд╛ logs provider рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрд╕реА рдбрд┐рдХреНрд╢рдирд░реА рдореЗрдВ `meter_provider` рдпрд╛ `logger_provider` рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред Provider рдмрдирд╛рдиреЗ рд╡рд╛рд▓рд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдпрд╛ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЙрд╕рдХреЗ shutdown рдХреЛ рд╕рдВрднрд╛рд▓рддрд╛ рд╣реИред FastAPI рдЕрдкрдиреЗ рдЬреЛрдбрд╝реЗ рдЧрдП рдПрдХреНрд╕рдкреЛрд░реНрдЯ рдШрдЯрдХреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рддрд╛ рд╣реИред
/// warning | рдЪреЗрддрд╛рд╡рдиреА
OpenTelemetry default рд░реВрдк рд╕реЗ рдЧреНрд▓реЛрдмрд▓ providers рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред [рдорд╛рдЙрдВрдЯ рдХрд┐рдП рдЧрдП рдЙрдк-рдПрдкреНрд▓рд┐рдХреЗрд╢рди](sub-applications.md) рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ telemetry рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреА рдЧрд╛рд░рдВрдЯреА рдирд╣реАрдВ рд╣реИред
///
### Request рдСрдкрд░реЗрд╢рди рдХреЛ рдЯреНрд░реЗрд╕ рдХрд░реЗрдВ { #trace-request-operations }
Default рд░реВрдк рд╕реЗ, request traces рдореЗрдВ dependencies рд░рд┐рдЬрд╝реЙрд▓реНрд╡ рдХрд░рдиреЗ, рдЖрдкрдХрд╛ path operation function рдЪрд▓рд╛рдиреЗ, response рдХреЛ serialize рдХрд░рдиреЗ рдФрд░ FastAPI рдХреЗ `BackgroundTasks` рдореЗрдВ рд╣рд░ рдЯрд╛рд╕реНрдХ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ spans рд╢рд╛рдорд┐рд▓ рд╣реЛрддреЗ рд╣реИрдВред рдпреЗ spans рдЙрд╕реА provider рдФрд░ рдЙрдиреНрд╣реАрдВ exporters рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред
рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рдЯрд╛рд╕реНрдХ рдХреЗ spans, request рдХреЗ trace рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдмрдиреЗ рд░рд╣рддреЗ рд╣реИрдВред рд╡реЗ HTTP response span рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдЪрд▓рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╡реЗ рдорд╛рдкреЗ рдЧрдП response рд╕рдордп рдХреЛ рдирд╣реАрдВ рдмрдврд╝рд╛рддреЗред
рдХреЗрд╡рд▓ HTTP request span рд░рд┐рдХреЙрд░реНрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, `operation_spans` рдХреЛ `False` рдкрд░ рд╕реЗрдЯ рдХрд░реЗрдВ:
{* ../../docs_src/opentelemetry/tutorial003_py310.py hl[3] *}
### WebSocket рдХрдиреЗрдХреНрд╢рди рдХреЛ рдЯреНрд░реЗрд╕ рдХрд░реЗрдВ { #trace-websocket-connections }
рд╣рд░ WebSocket рдХрдиреЗрдХреНрд╢рди рдХрд╛ рдПрдХ span рд╣реЛрддрд╛ рд╣реИ, рдЬреИрд╕реЗ `WS /ws/{room}`, рдЬреЛ рд╣реИрдВрдбрд▓рд░ рдФрд░ dependency cleanup рдХреЛ рдХрд╡рд░ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдЙрдиреНрд╣реАрдВ providers рдФрд░ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рдирдореЗрдВ dependency resolution рдФрд░ endpoint рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП `operation_spans` рднреА рд╢рд╛рдорд┐рд▓ рд╣реИред
HTTP request metrics рдореЗрдВ рдХреЗрд╡рд▓ HTTP requests рд╢рд╛рдорд┐рд▓ рд╣реЛрддреЗ рд╣реИрдВред рдХреЛрдб `1000` рдпрд╛ `1001` рдХреЗ рд╕рд╛рде рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рд╕рд╛рдорд╛рдиреНрдп WebSocket рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ, error logs рдирд╣реАрдВ рдмрдирд╛рддреЗред
### рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ { #inspect-errors }
FastAPI, рд╕рдВрднрд╛рд▓реЗ рди рдЧрдП exceptions рдХреЛ OpenTelemetry logs рдХреЗ рд░реВрдк рдореЗрдВ рд░рд┐рдХреЙрд░реНрдб рдХрд░рддрд╛ рд╣реИ, рдЬреЛ request рдпрд╛ рдХрдиреЗрдХреНрд╢рди рдХреЗ trace рд╕реЗ рдЬреБрдбрд╝реЗ рд╣реЛрддреЗ рд╣реИрдВред Error logs рддрдм рднреА рд░рд┐рдХреЙрд░реНрдб рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ рдЬрдм trace рдХреЛ рд╕реИрдВрдкрд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ред
Exception logs рдореЗрдВ exception рдХрд╛ рдкреНрд░рдХрд╛рд░, рд╕рдВрджреЗрд╢ рдФрд░ stack trace рд╢рд╛рдорд┐рд▓ рд╣реЛрддреЗ рд╣реИрдВред рд╕рдВрджреЗрд╢реЛрдВ рдФрд░ stack traces рдореЗрдВ рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдЬрд╛рдирдХрд╛рд░реА рд╣реЛ рд╕рдХрддреА рд╣реИред рдЙрдиреНрд╣реЗрдВ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдиреЗ рдпрд╛ рдЙрдирдореЗрдВ рд╕реЗ рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдЬрд╛рдирдХрд╛рд░реА рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ provider рдХреЗ log processors рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдпрд╛ рдЗрди logs рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП `logs` рдХреЛ `False` рдкрд░ рд╕реЗрдЯ рдХрд░реЗрдВред
FastAPI, request validation рдХреА рд╡рд┐рдлрд▓рддрд╛рдУрдВ рдХреЛ рднреА route рдФрд░ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╕рд╛рде warning logs рдХреЗ рд░реВрдк рдореЗрдВ рд░рд┐рдХреЙрд░реНрдб рдХрд░рддрд╛ рд╣реИред рдЗрди logs рдореЗрдВ рдЕрдорд╛рдиреНрдп рдЗрдирдкреБрдЯ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реЛрддрд╛ред
## рдЪреБрдиреЗрдВ рдХрд┐ рдХреНрдпрд╛ рд░рд┐рдХреЙрд░реНрдб рдХрд░рдирд╛ рд╣реИ { #choose-what-to-record }
`telemetry` рдбрд┐рдХреНрд╢рдирд░реА рдЗрди рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рднреА рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддреА рд╣реИ:
| рд╕реЗрдЯрд┐рдВрдЧ | рдЙрджреНрджреЗрд╢реНрдп | Default |
| --- | --- | --- |
| `tracing` | HTTP request рдФрд░ WebSocket рдХрдиреЗрдХреНрд╢рди рдХреЗ spans рд░рд┐рдХреЙрд░реНрдб рдХрд░рдирд╛ | `True` |
| `metrics` | HTTP request metrics рд░рд┐рдХреЙрд░реНрдб рдХрд░рдирд╛ | `True` |
| `logs` | Validation рдХреА рд╡рд┐рдлрд▓рддрд╛рдПрдБ рдФрд░ рд╕рдВрднрд╛рд▓реЗ рди рдЧрдП exceptions рд░рд┐рдХреЙрд░реНрдб рдХрд░рдирд╛ | `True` |
| `operation_spans` | Request рдСрдкрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП spans рдЬреЛрдбрд╝рдирд╛ | `True` |
| `exclude` | рдЬрдм ASGI scope рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ function `True` рд▓реМрдЯрд╛рдП, рддреЛ requests рдЫреЛрдбрд╝ рджреЗрдирд╛ | `None` |
| `auto_configure` | Environment variables рдореЗрдВ рд╕реЗрдЯ endpoints рдХреЗ рд▓рд┐рдП exporters рдЬреЛрдбрд╝рдирд╛ | `True` |
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, health checks рдХреЛ рдЫреЛрдбрд╝рдХрд░ metrics рдПрдХрддреНрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП:
```python
from fastapi import FastAPI
app = FastAPI(
telemetry={
"tracing": False,
"exclude": lambda scope: scope["path"] == "/health",
}
)
```
рдЬрдм рдЖрдкрдХрд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди provider setup рдЦреБрдж рд╕рдВрднрд╛рд▓рддрд╛ рд╣реЛ, рдЬреИрд╕реЗ рдЕрдкрдиреЗ lifespan function рдХреЗ рдЕрдВрджрд░, рддреЛ `auto_configure` рдХреЛ `False` рдкрд░ рд╕реЗрдЯ рдХрд░реЗрдВред