/* * Copyright (c) Facebook, Inc. * Licensed under the Apache License, Version 2.0 (the "License") */ #include "PyPerfType.h" namespace ebpf { namespace pyperf { extern const OffsetConfig kPy36OffsetConfig = { .PyObject_type = 8, // offsetof(PyObject, ob_type) .PyTypeObject_name = 24, // offsetof(PyTypeObject, tp_name) .PyThreadState_frame = 24, // offsetof(PyThreadState, frame) .PyThreadState_thread = 152, // offsetof(PyThreadState, thread_id) .PyFrameObject_back = 24, // offsetof(PyFrameObject, f_back) .PyFrameObject_code = 32, // offsetof(PyFrameObject, f_code) .PyFrameObject_lineno = 124, // offsetof(PyFrameObject, f_lineno) .PyFrameObject_localsplus = 376, // offsetof(PyFrameObject, f_localsplus) .PyCodeObject_filename = 96, // offsetof(PyCodeObject, co_filename) .PyCodeObject_name = 104, // offsetof(PyCodeObject, co_name) .PyCodeObject_varnames = 64, // offsetof(PyCodeObject, co_varnames) .PyTupleObject_item = 24, // offsetof(PyTupleObject, ob_item) .String_data = 48, // sizeof(PyASCIIObject) .String_size = 16, // offsetof(PyVarObject, ob_size) }; } } // namespace ebpf