View Source GRPC.Telemetry (grpc v0.6.0)
Events published by GRPC
These can be divided in client-side events and server-side events.
client-side-events
Client-side Events
[:grpc, :client, :rpc, :start]
- Published before all interceptors are executed.[:grpc, :client, :rpc, :stop]
- Published after all interceptors executed successfully.:duration
- the duration as measured throughSystem.monotonic_time()
for the whole interceptor pipeline.
[:grpc, :client, :rpc, :exception]
- Published if any exception occurs while receiving a message.:duration
- the duration as measured throughSystem.monotonic_time()
for the execution since the start of the pipeline until the exception happened.
event | measurements | metadata |
---|---|---|
[:rpc, :start] | :count | :stream |
[:rpc, :stop] | :duration | :stream |
[:rpc, :exception] | :duration | :stream , :kind , :reason , :stacktrace |
metadata
Metadata
:stream
- the%GRPC.Server.Stream{}
for the request:function_name
- the name of the function called:server
- the server module name:endpoint
- the endpoint module name
:exception
events also include some error metadata:
:reason
is the error value in case ofcatch
or the actual exception in case ofrescue
.:kind
can be one of::error
— from an{:error, error}
return value. Some Erlang functions may also throw an:error
tuple, which will be reported as:error
.:exit
— from a caught process exit.:throw
— from a caught value, this doesn't necessarily mean that an error occurred.
server-side-events
Server-side Events
[:grpc, :server, :rpc, :start]
- Published before all interceptors are executed.[:grpc, :server, :rpc, :stop]
- Published after all interceptors executed successfully.:duration
- the duration as measured throughSystem.monotonic_time()
for the whole interceptor pipeline.
[:grpc, :server, :rpc, :exception]
- Published if any exception occurs while receiving a message.:duration
- the duration as measured throughSystem.monotonic_time()
for the execution since the start of the pipeline until the exception happened.
event | measurements | metadata |
---|---|---|
[:rpc, :start] | :count | :stream , :server , :endpoint , :function_name |
[:rpc, :stop] | :duration | :stream , :server , :endpoint , :function_name , :result |
[:rpc, :exception] | :duration | :stream , :server , :endpoint , :function_name , :kind , :reason , :stacktrace |
metadata-1
Metadata
:stream
- the%GRPC.Server.Stream{}
for the request.:function_name
- the name of the function called.:server
- the server module name.:endpoint
- the endpoint module name.:result
- the result returned from the interceptor pipeline.
:exception
events also include some error metadata:
:reason
is the error value in case ofcatch
or the actual exception in case ofrescue
.:kind
can be one of::error
— from an{:error, error}
return value. Some Erlang functions may also throw an:error
tuple, which will be reported as:error
.:exit
— from a caught process exit.:throw
— from a caught value, this doesn't necessarily mean that an error occurred.
Link to this section Summary
Link to this section Functions
The client telemetry event prefix.
The server telemetry event prefix.