LCOV - code coverage report
Current view: | top level - Include - pydtrace.h (source / functions) |  |  | Hit | Total | Coverage
Test: | CPython 3.12 LCOV report [commit 5e6661bce9] |  | Lines: | 7 | 16 | 43.8 %
Date: | 2023-03-20 08:15:36 |  | Functions: | 7 | 16 | 43.8 %
|  |  | 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.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                 :          0 : static inline int PyDTrace_LINE_ENABLED(void) { return 0; }
          42                 :       1937 : static inline int PyDTrace_FUNCTION_ENTRY_ENABLED(void) { return 0; }
          43                 :    4037432 : static inline int PyDTrace_FUNCTION_RETURN_ENABLED(void) { return 0; }
          44                 :        386 : static inline int PyDTrace_GC_START_ENABLED(void) { return 0; }
          45                 :        386 : 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                 :        936 : static inline int PyDTrace_IMPORT_FIND_LOAD_START_ENABLED(void) { return 0; }
          51                 :        936 : static inline int PyDTrace_IMPORT_FIND_LOAD_DONE_ENABLED(void) { return 0; }
          52                 :       7072 : 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