telemetry_rust/middleware/aws/instrumentation/fluent_builder/
appconfigdata.rs1use super::{utils::*, *};
3
4impl<'a> AwsBuilderInstrument<'a> for StartConfigurationSessionFluentBuilder {
6 fn build_aws_span(&self) -> AwsSpanBuilder<'a> {
7 let application_id = self
8 .get_application_identifier()
9 .clone()
10 .unwrap_or_default();
11 let attributes = attributes![
12 self.get_environment_identifier()
13 .as_attribute("aws.appconfigdata.environment_id"),
14 self.get_configuration_profile_identifier()
15 .as_attribute("aws.appconfigdata.configuration_profile_id"),
16 self.get_required_minimum_poll_interval_in_seconds()
17 .map(|v| KeyValue::new(
18 "aws.appconfigdata.required_minimum_poll_interval_in_seconds",
19 v as i64,
20 )),
21 ];
22 AppConfigDataSpanBuilder::start_configuration_session(application_id)
23 .attributes(attributes)
24 }
25}
26impl InstrumentedFluentBuilderOutput for StartConfigurationSessionOutput {}
27instrument_aws_operation!(aws_sdk_appconfigdata::operation::start_configuration_session);
28
29impl<'a> AwsBuilderInstrument<'a> for GetLatestConfigurationFluentBuilder {
31 fn build_aws_span(&self) -> AwsSpanBuilder<'a> {
32 AppConfigDataSpanBuilder::get_latest_configuration()
33 }
34}
35impl InstrumentedFluentBuilderOutput for GetLatestConfigurationOutput {
36 fn extract_attributes(&self) -> impl IntoIterator<Item = KeyValue> {
37 attributes![
38 self.content_type()
39 .as_attribute("aws.appconfigdata.content_type"),
40 self.version_label()
41 .as_attribute("aws.appconfigdata.version_label"),
42 Some(KeyValue::new(
43 "aws.appconfigdata.next_poll_interval_in_seconds",
44 self.next_poll_interval_in_seconds() as i64,
45 )),
46 ]
47 }
48}
49instrument_aws_operation!(aws_sdk_appconfigdata::operation::get_latest_configuration);