Π‘ΠΎΠ±ΡΠ°Π» ΡΡΠΎ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π±ΡΠ» ΡΠ΄ΠΈΠ²Π»Π΅Π½, ΠΊΠΎΠ³Π΄Π° ΡΠ΅Π±ΡΡΠ° Π² ΡΠ΅ΡΠ²ΠΈΡΠ΅ ΠΎΠ±Π½ΠΎΠ²ΠΈΠ»ΠΈ Π»ΠΈΠ±Ρ otel Π΄Π»Ρ golang, Π° ΡΠ°ΠΌ ΡΠ°ΡΡΡ ΠΌΠ΅ΡΡΠΈΠΊ Π΄Π»Ρ gRPC ΠΈΡΡΠ΅Π·Π»Π°, ΠΎΠ½ΠΈ ΠΏΠ΅ΡΠ΅ΡΡΠ°Π»ΠΈ Π²ΠΈΠ΄Π΅ΡΡ ΡΠ΅ΡΠ²ΠΈΡ Π½Π° Π½Π°ΡΠ΅ΠΉ ΡΡΠ°Π½Π΄Π°ΡΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π΄ΠΎΡΠΊΠ΅ gRPC RED-ΠΌΠ΅ΡΡΠΈΠΊΠΈ Π² Grafana.
ΠΠ΅ΡΡΠΈΡ 1.37.0 (ΠΠ°Π·ΠΎΠ²Π°Ρ)
- HTTP:
- ΠΠ΅ΡΡΠΈΠΊΠΈ:
http.server.request.duration, http.client.request.duration- ΠΠ΄ΠΈΠ½ΠΈΡΠ° ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ: Π‘Π΅ΠΊΡΠ½Π΄Ρ (
s)- ΠΡΡΠΈΠ±ΡΡΡ:
http.request.method, url.scheme, http.response.status_code ΠΈ Π΄Ρ.- RPC (Π²ΠΊΠ»ΡΡΠ°Ρ gRPC ΠΈ JSON-RPC):
- ΠΠ΅ΡΡΠΈΠΊΠΈ:
rpc.server.duration, rpc.client.duration- ΠΠ΄ΠΈΠ½ΠΈΡΠ° ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ: ΠΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄Ρ (
ms)- ΠΡΡΠΈΠ±ΡΡΡ:
rpc.system, rpc.service, rpc.methodΠΠ΅ΡΡΠΈΡ 1.38.0
- HTTP:
- ΠΠ΄ΠΈΠ½ΠΈΡΠ° ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ: ΠΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ Π·Π°ΠΊΡΠ΅ΠΏΠ»Π΅Π½Π° Π² ΡΠ΅ΠΊΡΠ½Π΄Π°Ρ (
s). Π Π±ΠΎΠ»Π΅Π΅ ΡΠ°Π½Π½ΠΈΡ
ΡΠ΅ΡΠ½ΠΎΠ²ΠΈΠΊΠ°Ρ
ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ
ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡΡ
ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈΡΡ ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄Ρ, Π½ΠΎ Π² 1.38.0 ΡΡΠ°Π½Π΄Π°ΡΡ ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΡΠ΅Π» Π½Π° ΡΠ΅ΠΊΡΠ½Π΄Ρ Π΄Π»Ρ Π²ΡΠ΅Ρ
duration ΠΌΠ΅ΡΡΠΈΠΊ.- RPC:
- ΠΠ°ΡΠ°Π»ΠΎ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π° ΠΎΡ
rpc.server.duration ΠΊ rpc.server.call.duration.ΠΠ΅ΡΡΠΈΡ 1.39.0
- RPC:
- ΠΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ΅ΡΡΠΈΠΊ: ΠΠ΅ΡΡΠΈΠΊΠΈ
rpc.server.duration ΠΈ rpc.client.duration Π½Π°ΡΠΈΠ½Π°ΡΡ Π·Π°ΠΌΠ΅Π½ΡΡΡΡΡ Π½Π° rpc.server.call.duration ΠΈ rpc.client.call.duration.- ΠΠ΄ΠΈΠ½ΠΈΡΠ° ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ: ΠΠ΅ΡΠ΅Ρ ΠΎΠ΄ Ρ ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄ (
ms) Π½Π° ΡΠ΅ΠΊΡΠ½Π΄Ρ (s) Π΄Π»Ρ Π½ΠΎΠ²ΡΡ
ΠΌΠ΅ΡΡΠΈΠΊ call.duration.- gRPC/JSON-RPC:
- ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡ ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ ΠΎΠ±ΡΠΈΠΌ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌ Π΄Π»Ρ RPC, Π½ΠΎ ΡΠ΅ΠΏΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΈΠΌΠ΅Π½Π° ΠΈ ΡΠ΅ΠΊΡΠ½Π΄Ρ.
ΠΠ΅ΡΡΠΈΡ 1.40.0
- RPC:
- Π‘ΡΠ°Π±ΠΈΠ»ΠΈΠ·Π°ΡΠΈΡ:
rpc.server.call.duration ΠΈ rpc.client.call.duration ΡΡΠ°Π½ΠΎΠ²ΡΡΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌΠΈ ΠΈ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌΡΠΌΠΈ ΠΌΠ΅ΡΡΠΈΠΊΠ°ΠΌΠΈ.- ΠΡΡΠΈΠ±ΡΡΡ: Π£ΡΠΎΡΠ½Π΅Π½Ρ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ Π°ΡΡΠΈΠ±ΡΡΠ°ΠΌ
rpc.system (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, grpc, jsonrpc), rpc.service ΠΈ rpc.method.- HTTP:
- ΠΠ΅Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΡΠΎΡΠ½Π΅Π½ΠΈΡ Π² ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΈ Π°ΡΡΠΈΠ±ΡΡΠΎΠ², ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ ΠΏΠΎΠ²ΡΠΎΡΠ½ΡΠΌΠΈ ΠΏΠΎΠΏΡΡΠΊΠ°ΠΌΠΈ (retries).
ΠΠ΅ΡΡΠΈΡ 1.41.0
- RPC:
- Π€ΠΈΠ½Π°Π»ΠΈΠ·Π°ΡΠΈΡ: Π‘ΡΠ°ΡΡΠ΅ ΠΌΠ΅ΡΡΠΈΠΊΠΈ
rpc.server.duration ΠΈ rpc.client.duration ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½Ρ ΠΊΠ°ΠΊ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΠ΅ (deprecated) ΠΈΠ»ΠΈ ΡΠ΄Π°Π»Π΅Π½Ρ ΠΈΠ· ΠΎΡΠ½ΠΎΠ²Π½ΡΡ
ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΉ Π² ΠΏΠΎΠ»ΡΠ·Ρ rpc.server.call.duration ΠΈ rpc.client.call.duration.- ΠΠ΄ΠΈΠ½ΠΈΡΠ° ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ: Π‘ΡΡΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΠ½Π΄Ρ (
s) Π΄Π»Ρ Π²ΡΠ΅Ρ
call.duration ΠΌΠ΅ΡΡΠΈΠΊ.- gRPC/JSON-RPC:
- ΠΠ½Π°ΡΠ΅Π½ΠΈΡ Π°ΡΡΠΈΠ±ΡΡΠ°
rpc.system ΡΡΠ°Π½Π΄Π°ΡΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Ρ: grpc Π΄Π»Ρ gRPC, jsonrpc Π΄Π»Ρ JSON-RPC.ΠΠ΅ΡΡΠΈΡ 1.42.0
- HTTP:
- Π£ΡΠΎΡΠ½Π΅Π½ΠΈΡ Π² Π°ΡΡΠΈΠ±ΡΡΠ°Ρ
http.request.method (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ Π½Π΅ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ
ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΈΠ»ΠΈ ΡΡΠΎΡΠ½Π΅Π½ΠΈΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠ°).- RPC:
- Π£ΡΠΎΡΠ½Π΅Π½ΠΈΡ Π² ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΈ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Π°ΡΡΠΈΠ±ΡΡΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΡΡ ΠΏΡΠΈ ΡΠ±ΠΎΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ,
error.type).ΠΠ΅ΡΡΠΈΡ 1.43.0
- RPC:
- ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΡ Π½Π°Π΄ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΠΎΡΡΡΡ Π°ΡΡΠΈΠ±ΡΡΠΎΠ² ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ RPC-ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ.
- Π£ΡΠΎΡΠ½Π΅Π½ΠΈΡ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΏΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ
rpc.service ΠΈ rpc.method Π΄Π»Ρ gRPC ΠΈ JSON-RPC.- HTTP:
- ΠΠ΅Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΠΎΠ²ΠΊΠΈ Π² ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΠ΅ Π°ΡΡΠΈΠ±ΡΡΠΎΠ²
server.address ΠΈ server.port.Π Π΅Π·ΡΠΌΠ΅ ΠΊΠ»ΡΡΠ΅Π²ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ:
- ΠΠ΄ΠΈΠ½ΠΈΡΡ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ: ΠΠΎΠ²ΡΠ΅ΠΌΠ΅ΡΡΠ½ΡΠΉ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ Ρ ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄ (
ms) Π½Π° ΡΠ΅ΠΊΡΠ½Π΄Ρ (s) Π΄Π»Ρ Π²ΡΠ΅Ρ
ΠΌΠ΅ΡΡΠΈΠΊ duration.- ΠΠΌΠ΅Π½Π° ΠΌΠ΅ΡΡΠΈΠΊ RPC: ΠΠ΅ΡΠ΅Ρ ΠΎΠ΄ ΠΎΡ
rpc.*.duration ΠΊ rpc.*.call.duration.- ΠΡΡΠΈΠ±ΡΡΡ: Π‘ΡΠ°Π½Π΄Π°ΡΡΠΈΠ·Π°ΡΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π΄Π»Ρ
rpc.system (grpc, jsonrpc) ΠΈ ΡΡΠΎΡΠ½Π΅Π½ΠΈΠ΅ Π½Π°Π±ΠΎΡΠ° ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΡ
Π°ΡΡΠΈΠ±ΡΡΠΎΠ².Π ΠΊΠ°ΠΊ Π²Ρ ΡΠ΅ΡΠ°Π΅ΡΠ΅ Π²ΠΎΠΏΡΠΎΡ Ρ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ ΠΌΠ΅ΡΡΠΈΠΊ ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΠΌΠΈ Π² OTEL?
#opentelemetry #observability #changelog #otel