Sha256: 30e5b8bbad6701b8175e374f23f684e93a8b9360cde1401f0fae18fc05dc4e5c

Contents?: true

Size: 706 Bytes

Versions: 7

Compression:

Stored size: 706 Bytes

Contents

#pragma once

#include <stdbool.h>
#include <time.h>

// Contains the operating-system specific identifier needed to fetch CPU-time, and a flag to indicate if we failed to fetch it
typedef struct thread_cpu_time_id {
  bool valid;
  clockid_t clock_id;
} thread_cpu_time_id;

// Contains the current cpu time, and a flag to indicate if we failed to fetch it
typedef struct thread_cpu_time {
  bool valid;
  long result_ns;
} thread_cpu_time;

void self_test_clock_id(void);

// TODO: Remove this after the OldStack profiler gets removed
VALUE clock_id_for(VALUE self, VALUE thread);

thread_cpu_time_id thread_cpu_time_id_for(VALUE thread);
thread_cpu_time thread_cpu_time_for(thread_cpu_time_id time_id);

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
ddtrace-1.5.2 ext/ddtrace_profiling_native_extension/clock_id.h
ddtrace-1.5.1 ext/ddtrace_profiling_native_extension/clock_id.h
ddtrace-1.5.0 ext/ddtrace_profiling_native_extension/clock_id.h
ddtrace-1.4.2 ext/ddtrace_profiling_native_extension/clock_id.h
ddtrace-1.4.1 ext/ddtrace_profiling_native_extension/clock_id.h
ddtrace-1.4.0 ext/ddtrace_profiling_native_extension/clock_id.h
ddtrace-1.3.0 ext/ddtrace_profiling_native_extension/clock_id.h