Sha256: 5401bb079f05d3e1c2af8581c9a9a5e6a5c688a4dbebd5ff8c035994daa725e4

Contents?: true

Size: 934 Bytes

Versions: 12

Compression:

Stored size: 934 Bytes

Contents

#pragma once

#include <datadog/profiling.h>
#include <ruby.h>

typedef struct {
  int64_t cpu_time_ns;
  int64_t wall_time_ns;
  uint32_t cpu_or_wall_samples;
  uint32_t alloc_samples;
  int64_t timeline_wall_time_ns;
} sample_values;

typedef struct sample_labels {
  ddog_prof_Slice_Label labels;

  // This is used to allow the `Collectors::Stack` to modify the existing label, if any. This MUST be NULL or point
  // somewhere inside the labels slice above.
  ddog_prof_Label *state_label;

  int64_t end_timestamp_ns;
} sample_labels;

void record_sample(VALUE recorder_instance, ddog_prof_Slice_Location locations, sample_values values, sample_labels labels);
void record_endpoint(VALUE recorder_instance, uint64_t local_root_span_id, ddog_CharSlice endpoint);
void track_object(VALUE recorder_instance, VALUE new_object, unsigned int sample_weight, ddog_CharSlice *alloc_class);
VALUE enforce_recorder_instance(VALUE object);

Version data entries

12 entries across 12 versions & 2 rubygems

Version Path
ddtrace-1.23.3 ext/datadog_profiling_native_extension/stack_recorder.h
ddtrace-1.23.2 ext/datadog_profiling_native_extension/stack_recorder.h
datadog-2.1.0 ext/datadog_profiling_native_extension/stack_recorder.h
datadog-2.0.0 ext/datadog_profiling_native_extension/stack_recorder.h
ddtrace-1.23.1 ext/datadog_profiling_native_extension/stack_recorder.h
datadog-2.0.0.beta2 ext/datadog_profiling_native_extension/stack_recorder.h
ddtrace-1.22.0 ext/datadog_profiling_native_extension/stack_recorder.h
datadog-2.0.0.beta1 ext/datadog_profiling_native_extension/stack_recorder.h
ddtrace-1.21.1 ext/datadog_profiling_native_extension/stack_recorder.h
ddtrace-1.21.0 ext/datadog_profiling_native_extension/stack_recorder.h
ddtrace-1.20.0 ext/ddtrace_profiling_native_extension/stack_recorder.h
ddtrace-1.19.0 ext/ddtrace_profiling_native_extension/stack_recorder.h