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.
-
ProxyClientConnectiontime 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) likeProxyClientConnectionbut 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
-
ProxyDatabaseConnectionMySQL-specific alternative to PgDecryptStream, but the trace starts after connection to MySQL database was establishedProxyDatabaseConnectionLoopMySQL-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 toProxyWithTracingbut 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