Skip to main content

datadog_protos/
lib.rs

1//! Datadog Agent-specific Protocol Buffers definitions.
2//!
3//! This crate contains generated code based on the Protocol Buffers definitions used by the Datadog Agent to
4//! communicate with the Datadog Platform, specifically for shipping metrics and traces.
5#![deny(warnings)]
6#![allow(dead_code)]
7#![allow(clippy::enum_variant_names)]
8#![allow(clippy::doc_overindented_list_items)]
9
10pub(crate) mod serde;
11
12mod include {
13    include!(concat!(env!("OUT_DIR"), "/protos/mod.rs"));
14}
15
16mod trace_include {
17    include!(concat!(env!("OUT_DIR"), "/trace_protos/mod.rs"));
18}
19
20mod agent_include {
21    include!(concat!(env!("OUT_DIR"), "/api.mod.rs"));
22}
23
24mod sketch_include {
25    include!(concat!(env!("OUT_DIR"), "/sketch_protos/mod.rs"));
26}
27
28mod trace_piecemeal_include {
29    include!(concat!(env!("OUT_DIR"), "/trace_piecemeal/mod.rs"));
30}
31
32/// Metrics-related definitions.
33pub mod metrics {
34    pub use super::include::agent_payload::metric_payload::*;
35    pub use super::include::agent_payload::sketch_payload::{sketch::*, Sketch};
36    pub use super::include::agent_payload::*;
37}
38
39/// Event-related definitions.
40pub mod events {
41    pub use super::include::agent_payload::events_payload::*;
42    pub use super::include::agent_payload::EventsPayload;
43}
44
45/// Trace-related definitions.
46pub mod traces {
47    pub use super::trace_include::agent_payload::*;
48    pub use super::trace_include::span::{attribute_any_value::*, attribute_array_value::*, *};
49    pub use super::trace_include::stats::*;
50    pub use super::trace_include::tracer_payload::*;
51
52    /// Piecemeal-generated builder types for incremental trace encoding.
53    pub mod builders {
54        pub use super::super::trace_piecemeal_include::datadog::trace::*;
55    }
56}
57
58/// Agent definitions.
59pub mod agent {
60    pub use super::agent_include::datadog::api::v1::agent_client::AgentClient;
61    pub use super::agent_include::datadog::api::v1::agent_secure_client::AgentSecureClient;
62    pub use super::agent_include::datadog::autodiscovery::*;
63    pub use super::agent_include::datadog::model::v1::*;
64    pub use super::agent_include::datadog::remoteagent::*;
65    pub use super::agent_include::datadog::workloadmeta::*;
66}
67
68/// DDSketch definitions from (sketches-go).
69pub mod sketches {
70    pub use super::sketch_include::ddsketch::*;
71}