github Download

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 processed

      • censor — corresponds to the stage when query is being checked by AcraCensor
  • PgDecryptStream (PostgreSQL-specific) like ProxyClientConnection but tracks time needed to process data from database back to client; this trace starts after first response from PostgreSQL database

    • PgDecryptStreamLoop (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 established

    • ProxyDatabaseConnectionLoop 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 to ProxyWithTracing but starts as soon as TCP socket client→AcraConnector was created, so it’s roughly the lifetime of TCP stream

    • WrapClient — 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.