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
32mod checks_include {
33    include!(concat!(env!("OUT_DIR"), "/checks.mod.rs"));
34}
35
36/// Metrics-related definitions.
37pub mod metrics {
38    pub use super::include::agent_payload::metric_payload::*;
39    pub use super::include::agent_payload::sketch_payload::{sketch::*, Sketch};
40    pub use super::include::agent_payload::*;
41
42    /// Metrics V3 API-related definitions.
43    pub mod v3 {
44        pub use super::super::include::intake_v3::*;
45    }
46}
47
48/// Event-related definitions.
49pub mod events {
50    pub use super::include::agent_payload::events_payload::*;
51    pub use super::include::agent_payload::EventsPayload;
52}
53
54/// Trace-related definitions.
55pub mod traces {
56    pub use super::trace_include::agent_payload::*;
57    pub use super::trace_include::span::{attribute_any_value::*, attribute_array_value::*, *};
58    pub use super::trace_include::stats::*;
59    pub use super::trace_include::tracer_payload::*;
60
61    /// Piecemeal-generated builder types for incremental trace encoding.
62    pub mod builders {
63        pub use super::super::trace_piecemeal_include::datadog::trace::*;
64    }
65}
66
67/// Agent definitions.
68pub mod agent {
69    pub use super::agent_include::datadog::api::v1::agent_client::AgentClient;
70    pub use super::agent_include::datadog::api::v1::agent_secure_client::AgentSecureClient;
71    pub use super::agent_include::datadog::autodiscovery::*;
72    pub use super::agent_include::datadog::model::v1::*;
73    pub use super::agent_include::datadog::remoteagent::*;
74    pub use super::agent_include::datadog::workloadmeta::*;
75}
76
77/// DDSketch definitions from (sketches-go).
78pub mod sketches {
79    pub use super::sketch_include::ddsketch::*;
80}
81
82/// Checks definitions.
83pub mod checks {
84    pub use super::checks_include::datadog::checks::v1::*;
85}