View Source GRPC.Telemetry (grpc v0.11.1)
Events published by GRPC
These can be divided in client-side events and server-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
: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:request- the client request:result- the result returned from the interceptor pipeline.
:exception events also include some error metadata:
:reasonis the error value in case ofcatchor the actual exception in case ofrescue.:kindcan be one of::error— from an{:error, error}return value. Some Erlang functions may also throw an:errortuple, 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
[: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
: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:
:reasonis the error value in case ofcatchor the actual exception in case ofrescue.:kindcan be one of::error— from an{:error, error}return value. Some Erlang functions may also throw an:errortuple, 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.
Summary
Functions
The client telemetry event prefix.
The server telemetry event prefix.