DTrace-accessible Observability

See the DTrace Guide for general information on how to use DTrace.

libmtev includes a number of Statically Defined Trace points (SDTs) for key events in the system.

Probes will be visible using the provider libmtev<pid> where <pid> is the process ID of a libmtev application. To trace all PIDs of all libmtev applications currently running, one would use the provider definition libmtev*:::.

List all available libmtev probes:

dtrace -l -n 'libmtev*:::'

DTrace probe definitions

Logging

provider libmtev {
  probe log (char *facility, char *file, int line, char *msg);
};

Eventer

provider libmtev {
  probe eventer-accept-entry (int, void *, int, int, void *);
  probe eventer-accept-return (int, void *, int, int, void *, int);
  probe eventer-read-entry (int, char *, size_t, int, void *);
  probe eventer-read-return (int, char *, size_t, int, void *, int);
  probe eventer-write-entry (int, char *, size_t, int, void *);
  probe eventer-write-return (int, char *, size_t, int, void *, int);
  probe eventer-close-entry (int, int, void *);
  probe eventer-close-return (int, int, void *, int);
  probe eventer-callback-entry (void *, void *, char *, int, int, int);
  probe eventer-callback-return (void *, void *, char *, int);
};

Reverse Connections

provider libmtev {
  probe reverse-reschedule (int, char *, char *, int);
  probe reverse-shutdown-permanent (int, char *, char *);
  probe reverse-connect (int, char *, char *);
  probe reverse-connect-success (int, char *, char *);
  probe reverse-connect-close (int, char *, char *, int, int);
  probe reverse-connect-failed (int, char *, char *, int);
  probe reverse-connect-ssl (int, char *, char *);
  probe reverse-connect-ssl-success (int, char *, char *);
  probe reverse-connect-ssl-failed (int, char *, char *, char *, int);
};

HTTP Server

provider libmtev {
  probe http-accept (int, struct mtev_http_session_ctx *);
  probe http-request-start (int, struct mtev_http_session_ctx *);
  probe http-request-finish (int, struct mtev_http_session_ctx *);
  probe http-response-start (int, struct mtev_http_session_ctx *);
  probe http-response-finish (int, struct mtev_http_session_ctx *);
  probe http-log (int, struct mtev_http_session_ctx *, char *);
  probe http-close (int, struct mtev_http_session_ctx *);
};

results matching ""

    No results matching ""