Enabling tracing #
Acra services provide some traces for Jaeger when configured to do so. This includes AcraConnector (deprecated and removed since 0.91.0), AcraServer, AcraTranslator.
Traces #
Acra services collect the following traces and their subtraces.
-
ProxyClientConnection
time of processing incoming connection from a client, from the moment when SecureSession/TLS handshake was done to the moment when connection was closed-
ProxyClientConnectionLoop
— corresponds to one exact database packet being checked and processedcensor
— corresponds to the stage when query is being checked by AcraCensor
-
-
PgDecryptStream
(PostgreSQL-specific) likeProxyClientConnection
but tracks time needed to process data from database back to client; this trace starts after first response from PostgreSQL databasePgDecryptStreamLoop
(PostgreSQL-specific) — corresponds to one query response being processed
-
ProxyDatabaseConnection
MySQL-specific alternative to PgDecryptStream, but the trace starts after connection to MySQL database was establishedProxyDatabaseConnectionLoop
MySQL-specific alternative to PgDecryptStreamLoop
ProxyWithTracing
(AcraConnector-specific) traces how much time connection was proxied, starting after client→AcraConnector SecureSession/TLS handshake was done and AcraConnector→AcraServer connection was established
-
handleConnection
(AcraConnector-specific) similar toProxyWithTracing
but starts as soon as TCP socket client→AcraConnector was created, so it’s roughly the lifetime of TCP streamWrapClient
— only includes SecureSession/TLS handshake time
HandleSession
(AcraServer-specific) tracks time taken by processing HTTP API requests; since HTTP server does not support keep-alives, this trace measures processing time for all requests
-
WrapServer
(AcraServer-specific) tracks time of SecureSession/TLS handshakes for incoming connections<function>
- if
handleCommandsConnection
— tracks processing time of requests to HTTP API.
- if