LCOV - code coverage report
Current view: top level - Include - pydtrace.h (source / functions) Hit Total Coverage
Test: CPython 3.12 LCOV report [commit acb105a7c1f] Lines: 8 16 50.0 %
Date: 2022-07-20 13:12:14 Functions: 8 16 50.0 %
Branches: 0 0 -

           Branch data     Line data    Source code
       1                 :            : /* Static DTrace probes interface */
       2                 :            : 
       3                 :            : #ifndef Py_DTRACE_H
       4                 :            : #define Py_DTRACE_H
       5                 :            : #ifdef __cplusplus
       6                 :            : extern "C" {
       7                 :            : #endif
       8                 :            : 
       9                 :            : #ifdef WITH_DTRACE
      10                 :            : 
      11                 :            : #include "pydtrace_probes.h"
      12                 :            : 
      13                 :            : /* pydtrace_probes.h, on systems with DTrace, is auto-generated to include
      14                 :            :    `PyDTrace_{PROBE}` and `PyDTrace_{PROBE}_ENABLED()` macros for every probe
      15                 :            :    defined in pydtrace_provider.d.
      16                 :            : 
      17                 :            :    Calling these functions must be guarded by a `PyDTrace_{PROBE}_ENABLED()`
      18                 :            :    check to minimize performance impact when probing is off. For example:
      19                 :            : 
      20                 :            :        if (PyDTrace_FUNCTION_ENTRY_ENABLED())
      21                 :            :            PyDTrace_FUNCTION_ENTRY(f);
      22                 :            : */
      23                 :            : 
      24                 :            : #else
      25                 :            : 
      26                 :            : /* Without DTrace, compile to nothing. */
      27                 :            : 
      28                 :          0 : static inline void PyDTrace_LINE(const char *arg0, const char *arg1, int arg2) {}
      29                 :          0 : static inline void PyDTrace_FUNCTION_ENTRY(const char *arg0, const char *arg1, int arg2)  {}
      30                 :          0 : static inline void PyDTrace_FUNCTION_RETURN(const char *arg0, const char *arg1, int arg2) {}
      31                 :          0 : static inline void PyDTrace_GC_START(int arg0) {}
      32                 :          0 : static inline void PyDTrace_GC_DONE(Py_ssize_t arg0) {}
      33                 :            : static inline void PyDTrace_INSTANCE_NEW_START(int arg0) {}
      34                 :            : static inline void PyDTrace_INSTANCE_NEW_DONE(int arg0) {}
      35                 :            : static inline void PyDTrace_INSTANCE_DELETE_START(int arg0) {}
      36                 :            : static inline void PyDTrace_INSTANCE_DELETE_DONE(int arg0) {}
      37                 :          0 : static inline void PyDTrace_IMPORT_FIND_LOAD_START(const char *arg0) {}
      38                 :          0 : static inline void PyDTrace_IMPORT_FIND_LOAD_DONE(const char *arg0, int arg1) {}
      39                 :          0 : static inline void PyDTrace_AUDIT(const char *arg0, void *arg1) {}
      40                 :            : 
      41                 :    5893350 : static inline int PyDTrace_LINE_ENABLED(void) { return 0; }
      42                 :     752481 : static inline int PyDTrace_FUNCTION_ENTRY_ENABLED(void) { return 0; }
      43                 :  315016509 : static inline int PyDTrace_FUNCTION_RETURN_ENABLED(void) { return 0; }
      44                 :     235107 : static inline int PyDTrace_GC_START_ENABLED(void) { return 0; }
      45                 :     235107 : static inline int PyDTrace_GC_DONE_ENABLED(void) { return 0; }
      46                 :            : static inline int PyDTrace_INSTANCE_NEW_START_ENABLED(void) { return 0; }
      47                 :            : static inline int PyDTrace_INSTANCE_NEW_DONE_ENABLED(void) { return 0; }
      48                 :            : static inline int PyDTrace_INSTANCE_DELETE_START_ENABLED(void) { return 0; }
      49                 :            : static inline int PyDTrace_INSTANCE_DELETE_DONE_ENABLED(void) { return 0; }
      50                 :     299671 : static inline int PyDTrace_IMPORT_FIND_LOAD_START_ENABLED(void) { return 0; }
      51                 :     299671 : static inline int PyDTrace_IMPORT_FIND_LOAD_DONE_ENABLED(void) { return 0; }
      52                 :    5600998 : static inline int PyDTrace_AUDIT_ENABLED(void) { return 0; }
      53                 :            : 
      54                 :            : #endif /* !WITH_DTRACE */
      55                 :            : 
      56                 :            : #ifdef __cplusplus
      57                 :            : }
      58                 :            : #endif
      59                 :            : #endif /* !Py_DTRACE_H */

Generated by: LCOV version 1.14