Struct appinsights::telemetry::RequestTelemetry
source · [−]pub struct RequestTelemetry { /* private fields */ }
Expand description
Represents completion of an external request to the application and contains a summary of that request execution and results. This struct is focused on HTTP requests.
Examples
use appinsights::telemetry::{Telemetry, RequestTelemetry};
use http::{Method, Uri};
use std::time::Duration;
// create a telemetry item
let mut telemetry = RequestTelemetry::new(
Method::GET,
"https://api.github.com/dmolokanov/appinsights-rs".parse::<Uri>().unwrap(),
Duration::from_millis(182),
"200"
);
// attach custom properties, measurements and context tags
telemetry.properties_mut().insert("component".to_string(), "data_processor".to_string());
telemetry.tags_mut().insert("os_version".to_string(), "linux x86_64".to_string());
telemetry.measurements_mut().insert("body_size".to_string(), 115.0);
// submit telemetry item to server
client.track(telemetry);
Implementations
sourceimpl RequestTelemetry
impl RequestTelemetry
sourcepub fn new(
method: Method,
uri: Uri,
duration: StdDuration,
response_code: impl Into<String>
) -> Self
pub fn new(
method: Method,
uri: Uri,
duration: StdDuration,
response_code: impl Into<String>
) -> Self
Creates a new telemetry item for HTTP request.
sourcepub fn measurements(&self) -> &Measurements
pub fn measurements(&self) -> &Measurements
Returns custom measurements to submit with the telemetry item.
sourcepub fn measurements_mut(&mut self) -> &mut Measurements
pub fn measurements_mut(&mut self) -> &mut Measurements
Returns mutable reference to custom measurements.
sourcepub fn is_success(&self) -> bool
pub fn is_success(&self) -> bool
Returns an indication of successful or unsuccessful call.
sourcepub fn set_id(&mut self, id: impl Into<String>)
pub fn set_id(&mut self, id: impl Into<String>)
Sets the request id. Use this to link other telemetry to this request by setting their operation parent id to this request’s id.
let operation_id = "...".to_string();
let request_id = "...".to_string();
let mut request = RequestTelemetry::new(
Method::GET,
"https://api.github.com/dmolokanov/appinsights-rs".parse::<Uri>().unwrap(),
Duration::from_millis(182),
"200",
);
request.set_id(request_id.clone());
request.tags_mut().operation_mut().set_id(operation_id.clone());
client.track(request);
let mut trace = TraceTelemetry::new(
"Starting data processing",
SeverityLevel::Information,
);
trace.tags_mut().operation_mut().set_id(operation_id);
trace.tags_mut().operation_mut().set_parent_id(request_id);
client.track(trace);
Trait Implementations
sourceimpl Debug for RequestTelemetry
impl Debug for RequestTelemetry
sourceimpl Telemetry for RequestTelemetry
impl Telemetry for RequestTelemetry
sourcefn properties(&self) -> &Properties
fn properties(&self) -> &Properties
Returns custom properties to submit with the telemetry item.
sourcefn properties_mut(&mut self) -> &mut Properties
fn properties_mut(&mut self) -> &mut Properties
Returns mutable reference to custom properties.
Returns context data containing extra, optional tags. Overrides values found on client telemetry context.
Returns mutable reference to custom tags.