pub struct SpansAPI { /* private fields */ }
Expand description
Search and aggregate your spans from your Datadog platform over HTTP.
Implementations§
Source§impl SpansAPI
impl SpansAPI
pub fn new() -> Self
Sourcepub fn with_config(config: Configuration) -> Self
pub fn with_config(config: Configuration) -> Self
Examples found in repository?
7async fn main() {
8 let configuration = datadog::Configuration::new();
9 let api = SpansAPI::with_config(configuration);
10 let resp = api
11 .list_spans_get(ListSpansGetOptionalParams::default())
12 .await;
13 if let Ok(value) = resp {
14 println!("{:#?}", value);
15 } else {
16 println!("{:#?}", resp.unwrap_err());
17 }
18}
More examples
9async fn main() {
10 let configuration = datadog::Configuration::new();
11 let api = SpansAPI::with_config(configuration);
12 let response =
13 api.list_spans_get_with_pagination(ListSpansGetOptionalParams::default().page_limit(2));
14 pin_mut!(response);
15 while let Some(resp) = response.next().await {
16 if let Ok(value) = resp {
17 println!("{:#?}", value);
18 } else {
19 println!("{:#?}", resp.unwrap_err());
20 }
21 }
22}
14async fn main() {
15 let body = SpansListRequest::new().data(
16 SpansListRequestData::new()
17 .attributes(
18 SpansListRequestAttributes::new()
19 .filter(
20 SpansQueryFilter::new()
21 .from("now-15m".to_string())
22 .query("*".to_string())
23 .to("now".to_string()),
24 )
25 .options(SpansQueryOptions::new().timezone("GMT".to_string()))
26 .page(SpansListRequestPage::new().limit(25))
27 .sort(SpansSort::TIMESTAMP_ASCENDING),
28 )
29 .type_(SpansListRequestType::SEARCH_REQUEST),
30 );
31 let configuration = datadog::Configuration::new();
32 let api = SpansAPI::with_config(configuration);
33 let resp = api.list_spans(body).await;
34 if let Ok(value) = resp {
35 println!("{:#?}", value);
36 } else {
37 println!("{:#?}", resp.unwrap_err());
38 }
39}
14async fn main() {
15 let body = SpansAggregateRequest::new().data(
16 SpansAggregateData::new()
17 .attributes(
18 SpansAggregateRequestAttributes::new()
19 .compute(vec![SpansCompute::new(SpansAggregationFunction::COUNT)
20 .interval("5m".to_string())
21 .type_(SpansComputeType::TIMESERIES)])
22 .filter(
23 SpansQueryFilter::new()
24 .from("now-15m".to_string())
25 .query("*".to_string())
26 .to("now".to_string()),
27 ),
28 )
29 .type_(SpansAggregateRequestType::AGGREGATE_REQUEST),
30 );
31 let configuration = datadog::Configuration::new();
32 let api = SpansAPI::with_config(configuration);
33 let resp = api.aggregate_spans(body).await;
34 if let Ok(value) = resp {
35 println!("{:#?}", value);
36 } else {
37 println!("{:#?}", resp.unwrap_err());
38 }
39}
16async fn main() {
17 let body = SpansListRequest::new().data(
18 SpansListRequestData::new()
19 .attributes(
20 SpansListRequestAttributes::new()
21 .filter(
22 SpansQueryFilter::new()
23 .from("now-15m".to_string())
24 .query("service:python*".to_string())
25 .to("now".to_string()),
26 )
27 .options(SpansQueryOptions::new().timezone("GMT".to_string()))
28 .page(SpansListRequestPage::new().limit(2))
29 .sort(SpansSort::TIMESTAMP_ASCENDING),
30 )
31 .type_(SpansListRequestType::SEARCH_REQUEST),
32 );
33 let configuration = datadog::Configuration::new();
34 let api = SpansAPI::with_config(configuration);
35 let response = api.list_spans_with_pagination(body);
36 pin_mut!(response);
37 while let Some(resp) = response.next().await {
38 if let Ok(value) = resp {
39 println!("{:#?}", value);
40 } else {
41 println!("{:#?}", resp.unwrap_err());
42 }
43 }
44}
pub fn with_client_and_config( config: Configuration, client: ClientWithMiddleware, ) -> Self
Sourcepub async fn aggregate_spans(
&self,
body: SpansAggregateRequest,
) -> Result<SpansAggregateResponse, Error<AggregateSpansError>>
pub async fn aggregate_spans( &self, body: SpansAggregateRequest, ) -> Result<SpansAggregateResponse, Error<AggregateSpansError>>
The API endpoint to aggregate spans into buckets and compute metrics and timeseries.
This endpoint is rate limited to 300
requests per hour.
Examples found in repository?
14async fn main() {
15 let body = SpansAggregateRequest::new().data(
16 SpansAggregateData::new()
17 .attributes(
18 SpansAggregateRequestAttributes::new()
19 .compute(vec![SpansCompute::new(SpansAggregationFunction::COUNT)
20 .interval("5m".to_string())
21 .type_(SpansComputeType::TIMESERIES)])
22 .filter(
23 SpansQueryFilter::new()
24 .from("now-15m".to_string())
25 .query("*".to_string())
26 .to("now".to_string()),
27 ),
28 )
29 .type_(SpansAggregateRequestType::AGGREGATE_REQUEST),
30 );
31 let configuration = datadog::Configuration::new();
32 let api = SpansAPI::with_config(configuration);
33 let resp = api.aggregate_spans(body).await;
34 if let Ok(value) = resp {
35 println!("{:#?}", value);
36 } else {
37 println!("{:#?}", resp.unwrap_err());
38 }
39}
Sourcepub async fn aggregate_spans_with_http_info(
&self,
body: SpansAggregateRequest,
) -> Result<ResponseContent<SpansAggregateResponse>, Error<AggregateSpansError>>
pub async fn aggregate_spans_with_http_info( &self, body: SpansAggregateRequest, ) -> Result<ResponseContent<SpansAggregateResponse>, Error<AggregateSpansError>>
The API endpoint to aggregate spans into buckets and compute metrics and timeseries.
This endpoint is rate limited to 300
requests per hour.
Sourcepub async fn list_spans(
&self,
body: SpansListRequest,
) -> Result<SpansListResponse, Error<ListSpansError>>
pub async fn list_spans( &self, body: SpansListRequest, ) -> Result<SpansListResponse, Error<ListSpansError>>
List endpoint returns spans that match a span search query. Results are paginated.
Use this endpoint to build complex spans filtering and search.
This endpoint is rate limited to 300
requests per hour.
Examples found in repository?
14async fn main() {
15 let body = SpansListRequest::new().data(
16 SpansListRequestData::new()
17 .attributes(
18 SpansListRequestAttributes::new()
19 .filter(
20 SpansQueryFilter::new()
21 .from("now-15m".to_string())
22 .query("*".to_string())
23 .to("now".to_string()),
24 )
25 .options(SpansQueryOptions::new().timezone("GMT".to_string()))
26 .page(SpansListRequestPage::new().limit(25))
27 .sort(SpansSort::TIMESTAMP_ASCENDING),
28 )
29 .type_(SpansListRequestType::SEARCH_REQUEST),
30 );
31 let configuration = datadog::Configuration::new();
32 let api = SpansAPI::with_config(configuration);
33 let resp = api.list_spans(body).await;
34 if let Ok(value) = resp {
35 println!("{:#?}", value);
36 } else {
37 println!("{:#?}", resp.unwrap_err());
38 }
39}
Sourcepub fn list_spans_with_pagination(
&self,
body: SpansListRequest,
) -> impl Stream<Item = Result<Span, Error<ListSpansError>>> + '_
pub fn list_spans_with_pagination( &self, body: SpansListRequest, ) -> impl Stream<Item = Result<Span, Error<ListSpansError>>> + '_
Examples found in repository?
16async fn main() {
17 let body = SpansListRequest::new().data(
18 SpansListRequestData::new()
19 .attributes(
20 SpansListRequestAttributes::new()
21 .filter(
22 SpansQueryFilter::new()
23 .from("now-15m".to_string())
24 .query("service:python*".to_string())
25 .to("now".to_string()),
26 )
27 .options(SpansQueryOptions::new().timezone("GMT".to_string()))
28 .page(SpansListRequestPage::new().limit(2))
29 .sort(SpansSort::TIMESTAMP_ASCENDING),
30 )
31 .type_(SpansListRequestType::SEARCH_REQUEST),
32 );
33 let configuration = datadog::Configuration::new();
34 let api = SpansAPI::with_config(configuration);
35 let response = api.list_spans_with_pagination(body);
36 pin_mut!(response);
37 while let Some(resp) = response.next().await {
38 if let Ok(value) = resp {
39 println!("{:#?}", value);
40 } else {
41 println!("{:#?}", resp.unwrap_err());
42 }
43 }
44}
Sourcepub async fn list_spans_with_http_info(
&self,
body: SpansListRequest,
) -> Result<ResponseContent<SpansListResponse>, Error<ListSpansError>>
pub async fn list_spans_with_http_info( &self, body: SpansListRequest, ) -> Result<ResponseContent<SpansListResponse>, Error<ListSpansError>>
List endpoint returns spans that match a span search query. Results are paginated.
Use this endpoint to build complex spans filtering and search.
This endpoint is rate limited to 300
requests per hour.
Sourcepub async fn list_spans_get(
&self,
params: ListSpansGetOptionalParams,
) -> Result<SpansListResponse, Error<ListSpansGetError>>
pub async fn list_spans_get( &self, params: ListSpansGetOptionalParams, ) -> Result<SpansListResponse, Error<ListSpansGetError>>
List endpoint returns spans that match a span search query. Results are paginated.
Use this endpoint to see your latest spans.
This endpoint is rate limited to 300
requests per hour.
Examples found in repository?
7async fn main() {
8 let configuration = datadog::Configuration::new();
9 let api = SpansAPI::with_config(configuration);
10 let resp = api
11 .list_spans_get(ListSpansGetOptionalParams::default())
12 .await;
13 if let Ok(value) = resp {
14 println!("{:#?}", value);
15 } else {
16 println!("{:#?}", resp.unwrap_err());
17 }
18}
Sourcepub fn list_spans_get_with_pagination(
&self,
params: ListSpansGetOptionalParams,
) -> impl Stream<Item = Result<Span, Error<ListSpansGetError>>> + '_
pub fn list_spans_get_with_pagination( &self, params: ListSpansGetOptionalParams, ) -> impl Stream<Item = Result<Span, Error<ListSpansGetError>>> + '_
Examples found in repository?
9async fn main() {
10 let configuration = datadog::Configuration::new();
11 let api = SpansAPI::with_config(configuration);
12 let response =
13 api.list_spans_get_with_pagination(ListSpansGetOptionalParams::default().page_limit(2));
14 pin_mut!(response);
15 while let Some(resp) = response.next().await {
16 if let Ok(value) = resp {
17 println!("{:#?}", value);
18 } else {
19 println!("{:#?}", resp.unwrap_err());
20 }
21 }
22}
Sourcepub async fn list_spans_get_with_http_info(
&self,
params: ListSpansGetOptionalParams,
) -> Result<ResponseContent<SpansListResponse>, Error<ListSpansGetError>>
pub async fn list_spans_get_with_http_info( &self, params: ListSpansGetOptionalParams, ) -> Result<ResponseContent<SpansListResponse>, Error<ListSpansGetError>>
List endpoint returns spans that match a span search query. Results are paginated.
Use this endpoint to see your latest spans.
This endpoint is rate limited to 300
requests per hour.