Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 5 additions & 0 deletions components-rs/common.h
Original file line number Diff line number Diff line change
Expand Up @@ -1174,6 +1174,11 @@ typedef struct ddog_NativeFile {
struct ddog_PlatformHandle_File *handle;
} ddog_NativeFile;

typedef struct ddog_SidecarFlushOptions {
bool traces_and_stats;
bool telemetry;
} ddog_SidecarFlushOptions;

typedef struct ddog_TracerHeaderTags {
ddog_CharSlice lang;
ddog_CharSlice lang_version;
Expand Down
3 changes: 2 additions & 1 deletion components-rs/sidecar.h
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,8 @@ ddog_MaybeError ddog_sidecar_clear_inherited_listener(void);

ddog_MaybeError ddog_sidecar_ping(struct ddog_SidecarTransport **transport);

ddog_MaybeError ddog_sidecar_flush_traces(struct ddog_SidecarTransport **transport);
ddog_MaybeError ddog_sidecar_flush(struct ddog_SidecarTransport **transport,
struct ddog_SidecarFlushOptions options);

struct ddog_InstanceId *ddog_sidecar_instanceId_build(ddog_CharSlice session_id,
ddog_CharSlice runtime_id);
Expand Down
6 changes: 3 additions & 3 deletions ext/ddtrace.c
Original file line number Diff line number Diff line change
Expand Up @@ -1598,7 +1598,7 @@ static PHP_MSHUTDOWN_FUNCTION(ddtrace) {
} else /* ! part of the if outside the ifdef */
#endif
if (get_global_DD_TRACE_FORCE_FLUSH_ON_SHUTDOWN() && DDTRACE_G(sidecar)) {
ddog_sidecar_flush_traces(&DDTRACE_G(sidecar));
ddog_sidecar_flush(&DDTRACE_G(sidecar), (ddog_SidecarFlushOptions){.traces_and_stats = true, .telemetry = true});
}

ddtrace_log_mshutdown();
Expand Down Expand Up @@ -3083,7 +3083,7 @@ PHP_FUNCTION(dd_trace_internal_fn) {
} else
#endif
if (DDTRACE_G(sidecar)) {
ddtrace_ffi_try("Failed synchronously flushing traces", ddog_sidecar_flush_traces(&DDTRACE_G(sidecar)));
ddtrace_ffi_try("Failed synchronously flushing traces", ddog_sidecar_flush(&DDTRACE_G(sidecar), (ddog_SidecarFlushOptions){.traces_and_stats = true}));
}
RETVAL_TRUE;
#ifndef _WIN32
Expand Down Expand Up @@ -3218,7 +3218,7 @@ PHP_FUNCTION(dd_trace_synchronous_flush) {
} else
#endif
if (DDTRACE_G(sidecar)) {
ddtrace_ffi_try("Failed synchronously flushing traces", ddog_sidecar_flush_traces(&DDTRACE_G(sidecar)));
ddtrace_ffi_try("Failed synchronously flushing traces", ddog_sidecar_flush(&DDTRACE_G(sidecar), (ddog_SidecarFlushOptions){.traces_and_stats = true}));
}
RETURN_NULL();
}
Expand Down
2 changes: 1 addition & 1 deletion ext/signals.c
Original file line number Diff line number Diff line change
Expand Up @@ -363,7 +363,7 @@ static int dd_call_prev_handler(bool flush) {
}

if (flush) {
ddog_sidecar_flush_traces(&ddtrace_sidecar_for_signal);
ddog_sidecar_flush(&ddtrace_sidecar_for_signal, (ddog_SidecarFlushOptions){.traces_and_stats = true});
}

if (prev_handler == SIG_DFL) {
Expand Down
Loading