Skip to content

Commit

Permalink
Fix rebase after libdatadog refacto
Browse files Browse the repository at this point in the history
  • Loading branch information
iamluc committed May 13, 2024
1 parent 2648bab commit 051fc5d
Show file tree
Hide file tree
Showing 7 changed files with 34 additions and 11 deletions.
17 changes: 16 additions & 1 deletion components-rs/common.h
Original file line number Diff line number Diff line change
Expand Up @@ -178,10 +178,22 @@ typedef enum ddog_MetricNamespace {

typedef struct ddog_BlockingTransport_SidecarInterfaceResponse__SidecarInterfaceRequest ddog_BlockingTransport_SidecarInterfaceResponse__SidecarInterfaceRequest;

/**
* `InstanceId` is a structure that holds session and runtime identifiers.
*/
typedef struct ddog_InstanceId ddog_InstanceId;

typedef struct ddog_SidecarActionsBuffer ddog_SidecarActionsBuffer;

/**
* `SidecarTransport` is a type alias for the `BlockingTransport` struct from the `datadog_ipc`
* crate. It is used for sending `SidecarInterfaceRequest` and receiving
* `SidecarInterfaceResponse`.
*
* This transport is used for communication between different parts of the sidecar service.
* It is a blocking transport, meaning that it will block the current thread until the operation is
* complete.
*/
typedef struct ddog_BlockingTransport_SidecarInterfaceResponse__SidecarInterfaceRequest ddog_SidecarTransport;

typedef enum ddog_LogLevel {
Expand Down Expand Up @@ -262,7 +274,10 @@ typedef struct ddog_MappedMem_ShmHandle ddog_MappedMem_ShmHandle;
*/
typedef struct ddog_PlatformHandle_File ddog_PlatformHandle_File;

typedef struct ddog_RuntimeMeta ddog_RuntimeMeta;
/**
* `RuntimeMetadata` is a struct that represents the runtime metadata of a language.
*/
typedef struct ddog_RuntimeMetadata ddog_RuntimeMetadata;

typedef struct ddog_ShmHandle ddog_ShmHandle;

Expand Down
4 changes: 4 additions & 0 deletions components-rs/ddtrace.h
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,10 @@
#include "telemetry.h"
#include "sidecar.h"

/**
* `QueueId` is a struct that represents a unique identifier for a queue.
* It contains a single field, `inner`, which is a 64-bit unsigned integer.
*/
typedef uint64_t ddog_QueueId;

/**
Expand Down
14 changes: 9 additions & 5 deletions components-rs/sidecar.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,10 @@
#include <stdio.h>
#include "common.h"

/**
* `QueueId` is a struct that represents a unique identifier for a queue.
* It contains a single field, `inner`, which is a 64-bit unsigned integer.
*/
typedef uint64_t ddog_QueueId;

/**
Expand Down Expand Up @@ -73,11 +77,11 @@ void ddog_sidecar_instanceId_drop(struct ddog_InstanceId *instance_id);

ddog_QueueId ddog_sidecar_queueId_generate(void);

struct ddog_RuntimeMeta *ddog_sidecar_runtimeMeta_build(ddog_CharSlice language_name,
ddog_CharSlice language_version,
ddog_CharSlice tracer_version);
struct ddog_RuntimeMetadata *ddog_sidecar_runtimeMeta_build(ddog_CharSlice language_name,
ddog_CharSlice language_version,
ddog_CharSlice tracer_version);

void ddog_sidecar_runtimeMeta_drop(struct ddog_RuntimeMeta *meta);
void ddog_sidecar_runtimeMeta_drop(struct ddog_RuntimeMetadata *meta);

ddog_MaybeError ddog_sidecar_telemetry_enqueueConfig(ddog_SidecarTransport **transport,
const struct ddog_InstanceId *instance_id,
Expand All @@ -102,7 +106,7 @@ ddog_MaybeError ddog_sidecar_telemetry_addIntegration(ddog_SidecarTransport **tr
ddog_MaybeError ddog_sidecar_telemetry_flushServiceData(ddog_SidecarTransport **transport,
const struct ddog_InstanceId *instance_id,
const ddog_QueueId *queue_id,
const struct ddog_RuntimeMeta *runtime_meta,
const struct ddog_RuntimeMetadata *runtime_meta,
ddog_CharSlice service_name,
ddog_CharSlice env_name);

Expand Down
2 changes: 1 addition & 1 deletion components-rs/sidecar.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ use std::ffi::{c_char, CStr, OsStr};
#[cfg(unix)]
use std::os::unix::ffi::OsStrExt;
use datadog_sidecar::config::{self, LogMethod};
use datadog_sidecar::interface::blocking::SidecarTransport;
use datadog_sidecar::service::blocking::SidecarTransport;
use ddcommon_ffi::slice::AsBytes;
use ddcommon_ffi::{CharSlice, self as ffi, MaybeError};
use ddtelemetry_ffi::try_c;
Expand Down
4 changes: 2 additions & 2 deletions components-rs/telemetry.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
use datadog_sidecar::interface::blocking::SidecarTransport;
use datadog_sidecar::interface::{blocking, InstanceId, QueueId, SidecarAction};
use datadog_sidecar::service::blocking::SidecarTransport;
use datadog_sidecar::service::{blocking, InstanceId, QueueId, SidecarAction};
use ddcommon_ffi::slice::AsBytes;
use ddcommon_ffi::{CharSlice, MaybeError, self as ffi};
use ddcommon::tag::parse_tags;
Expand Down
2 changes: 1 addition & 1 deletion ext/telemetry.c
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@ void ddtrace_telemetry_finalize(void) {
}

ddog_CharSlice php_version = dd_zend_string_to_CharSlice(Z_STR_P(zend_get_constant_str(ZEND_STRL("PHP_VERSION"))));
struct ddog_RuntimeMeta *meta = ddog_sidecar_runtimeMeta_build(DDOG_CHARSLICE_C("php"), php_version, DDOG_CHARSLICE_C(PHP_DDTRACE_VERSION));
struct ddog_RuntimeMetadata *meta = ddog_sidecar_runtimeMeta_build(DDOG_CHARSLICE_C("php"), php_version, DDOG_CHARSLICE_C(PHP_DDTRACE_VERSION));

ddog_sidecar_telemetry_flushServiceData(&ddtrace_sidecar, ddtrace_sidecar_instance_id, &DDTRACE_G(telemetry_queue_id), meta, service_name, env_name);

Expand Down
2 changes: 1 addition & 1 deletion libdatadog
Submodule libdatadog updated 87 files
+77 −0 .codecov.yml
+36 −0 .config/nextest.toml
+0 −4 .github/PULL_REQUEST_TEMPLATE.md
+1 −1 .github/actions/cache/action.yaml
+44 −20 .github/labeler.yml
+32 −0 .github/workflows/coverage.yml
+8 −7 .github/workflows/lint.yml
+13 −8 .github/workflows/miri.yml
+1 −1 .github/workflows/nightly-verify-proto-files.yml
+1 −1 .github/workflows/pr-auto-labeler.yml
+3 −3 .github/workflows/publish-serverless-agent.yml
+2 −2 .github/workflows/test-ruby.yml
+64 −30 .github/workflows/test.yml
+4 −30 .github/workflows/verify-proto-files.yml
+17 −18 Cargo.lock
+1 −1 Cargo.toml
+1 −1 LICENSE-3rdparty.yml
+22 −1 README.md
+1 −0 bin_tests/src/bin/crashtracker_bin_test.rs
+0 −1 crashtracker/Cargo.toml
+8 −12 crashtracker/src/api.rs
+4 −1 crashtracker/src/configuration.rs
+14 −80 crashtracker/src/crash_info.rs
+10 −25 crashtracker/src/receiver.rs
+1 −0 crashtracker/src/telemetry.rs
+69 −27 data-pipeline-ffi/src/trace_exporter.rs
+5 −65 data-pipeline/README.md
+171 −75 data-pipeline/src/trace_exporter.rs
+1 −1 ddcommon-ffi/src/slice.rs
+1 −1 ddcommon-ffi/src/vec.rs
+1 −1 ddtelemetry-ffi/src/lib.rs
+1 −1 ddtelemetry/src/config.rs
+1 −1 ddtelemetry/src/metrics.rs
+7 −3 examples/ffi/crashinfo.cpp
+26 −11 examples/ffi/trace_exporter.c
+2 −2 ipc/src/platform/unix/mod.rs
+4 −4 ipc/tarpc/.github/workflows/main.yml
+1 −0 ipc/tarpc/tarpc/src/client.rs
+1 −0 ipc/tarpc/tarpc/src/context.rs
+1 −0 ipc/tarpc/tarpc/src/lib.rs
+0 −3 ipc/tarpc/tarpc/tests/service_functional.rs
+4 −28 profiling-ffi/src/crashtracker/crash_info.rs
+15 −1 profiling-ffi/src/crashtracker/datatypes.rs
+1 −1 profiling-ffi/src/exporter.rs
+8 −6 profiling-ffi/src/profiles.rs
+8 −8 profiling-replayer/src/replayer.rs
+2 −11 profiling/examples/profiles.rs
+16 −9 profiling/src/api.rs
+1 −1 profiling/src/collections/identifiable/mod.rs
+2 −0 profiling/src/internal/mod.rs
+1 −1 profiling/src/internal/observation/observations.rs
+1 −1 profiling/src/internal/observation/trimmed_observation.rs
+36 −0 profiling/src/internal/owned_types.rs
+131 −169 profiling/src/internal/profile.rs
+1 −1 profiling/src/pprof/proto.rs
+8 −5 ruby/Rakefile
+8 −0 ruby/lib/libdatadog.rb
+1 −1 ruby/lib/libdatadog/version.rb
+24 −20 ruby/spec/libdatadog_spec.rb
+46 −35 sidecar-ffi/src/lib.rs
+1 −0 sidecar-ffi/tests/sidecar.rs
+10 −11 sidecar/src/config.rs
+2 −2 sidecar/src/entry.rs
+0 −1,674 sidecar/src/interface.rs
+2 −1 sidecar/src/lib.rs
+1 −1 sidecar/src/log.rs
+1 −1 sidecar/src/self_telemetry.rs
+263 −0 sidecar/src/service/blocking.rs
+54 −0 sidecar/src/service/instance_id.rs
+59 −0 sidecar/src/service/mod.rs
+56 −0 sidecar/src/service/queue_id.rs
+27 −0 sidecar/src/service/request_identification.rs
+132 −0 sidecar/src/service/runtime_info.rs
+61 −0 sidecar/src/service/runtime_metadata.rs
+163 −0 sidecar/src/service/serialized_tracer_header_tags.rs
+220 −0 sidecar/src/service/session_info.rs
+123 −0 sidecar/src/service/sidecar_interface.rs
+784 −0 sidecar/src/service/sidecar_server.rs
+66 −0 sidecar/src/service/telemetry/app_instance.rs
+285 −0 sidecar/src/service/telemetry/enqueued_telemetry_data.rs
+157 −0 sidecar/src/service/telemetry/enqueued_telemetry_stats.rs
+17 −0 sidecar/src/service/telemetry/mod.rs
+8 −0 sidecar/src/service/tracing/mod.rs
+236 −0 sidecar/src/service/tracing/trace_flusher.rs
+29 −0 sidecar/src/service/tracing/trace_send_data.rs
+21 −15 spawn_worker/src/unix/fork.rs
+1 −1 trace-normalization/src/normalizer.rs

0 comments on commit 051fc5d

Please sign in to comment.