• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

llnl / dftracer-utils / 28693295402

04 Jul 2026 03:17AM UTC coverage: 52.408% (+0.1%) from 52.278%
28693295402

push

github

hariharan-devarajan
feat: silence noisy warnings on aarch64

37318 of 92666 branches covered (40.27%)

Branch coverage included in aggregate %.

33462 of 42389 relevant lines covered (78.94%)

20557.64 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

33.33
/src/dftracer/utils/python/trace_reader_iterator.h
1
#ifndef DFTRACER_UTILS_PYTHON_TRACE_READER_ITERATOR_H
2
#define DFTRACER_UTILS_PYTHON_TRACE_READER_ITERATOR_H
3

4
#include <Python.h>
5
#include <dftracer/utils/core/common/config.h>
6
#include <dftracer/utils/core/task_handle.h>
7
#include <dftracer/utils/python/memoryview_batch.h>
8
#include <dftracer/utils/utilities/composites/dft/args_map.h>
9
#include <dftracer/utils/utilities/reader/internal/json_dict_builder.h>
10

11
#include <memory>
12
#ifdef DFTRACER_UTILS_ENABLE_ARROW
13
#include <dftracer/utils/utilities/common/arrow/arrow_export.h>
14

15
typedef struct {
16
    PyObject_HEAD dftracer::utils::utilities::common::arrow::ArrowExportResult
17
        *result;
18
} ArrowBatchCapsuleObject;
19

20
extern PyTypeObject ArrowBatchCapsuleType;
21
#endif
22

23
enum class IteratorMode {
24
    MEMORYVIEW,
25
    JSON_DICT,
26
#ifdef DFTRACER_UTILS_ENABLE_ARROW
27
    ARROW,
28
#endif
29
};
30

31
#ifdef DFTRACER_UTILS_ENABLE_ARROW
32
struct ArrowIteratorState {
55✔
33
    using BatchType =
34
        dftracer::utils::utilities::common::arrow::ArrowExportResult;
35
    std::shared_ptr<dftracer::utils::coro::Channel<BatchType>> channel;
36
    std::mutex error_mtx;
37
    std::exception_ptr error;
38
    std::atomic<bool> cancelled{false};
55✔
39
    std::size_t memory_budget_bytes = 0;
55✔
40
    std::atomic<std::size_t> bytes_in_queue{0};
55✔
41
    std::shared_future<void> task_future;
42

43
    void set_error(std::exception_ptr e) {
×
44
        std::lock_guard<std::mutex> lock(error_mtx);
×
45
        if (!error) error = e;
×
46
    }
×
47
};
48
#endif
49

50
using ArgsValue = dftracer::utils::utilities::composites::dft::ArgsValue;
51
using ArgsMap = dftracer::utils::utilities::composites::dft::ArgsMap;
52

53
using dftracer::utils::utilities::reader::internal::JsonDictBatch;
54
using dftracer::utils::utilities::reader::internal::JsonDictEvent;
55

56
struct JsonDictIteratorState {
7✔
57
    std::shared_ptr<dftracer::utils::coro::Channel<JsonDictBatch>> channel;
58
    std::mutex error_mtx;
59
    std::exception_ptr error;
60
    std::atomic<bool> cancelled{false};
7✔
61
    std::size_t memory_budget_bytes = 0;
7✔
62
    std::atomic<std::size_t> bytes_in_queue{0};
7✔
63
    std::shared_future<void> task_future;
64

65
    void set_error(std::exception_ptr e) {
×
66
        std::lock_guard<std::mutex> lock(error_mtx);
×
67
        if (!error) error = e;
×
68
    }
×
69
};
70

71
using dftracer::utils::python::MemoryViewBatchIteratorState;
72
using dftracer::utils::python::MemoryViewBatchObject;
73
using dftracer::utils::python::MemoryViewBatchType;
74

75
typedef struct {
76
    PyObject_HEAD std::shared_ptr<MemoryViewBatchIteratorState> batch_state;
77
    PyObject *current_batch;
78
    Py_ssize_t batch_index;
79
    std::shared_ptr<JsonDictIteratorState> json_dict_state;
80
    std::shared_ptr<JsonDictBatch> json_dict_current_batch;
81
    Py_ssize_t json_dict_index;
82
#ifdef DFTRACER_UTILS_ENABLE_ARROW
83
    std::shared_ptr<ArrowIteratorState> arrow_state;
84
#endif
85
    IteratorMode mode;
86
} TraceReaderIteratorObject;
87

88
extern PyTypeObject TraceReaderIteratorType;
89
int init_trace_reader_iterator(PyObject *m);
90

91
#endif  // DFTRACER_UTILS_PYTHON_TRACE_READER_ITERATOR_H
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc