pub struct GetProfileFluentBuilder { /* private fields */ }
Expand description

Fluent builder constructing a request to GetProfile.

Gets the aggregated profile of a profiling group for a specified time range. Amazon CodeGuru Profiler collects posted agent profiles for a profiling group into aggregated profiles.

Because aggregated profiles expire over time GetProfile is not idempotent.

Specify the time range for the requested aggregated profile using 1 or 2 of the following parameters: startTime, endTime, period. The maximum time range allowed is 7 days. If you specify all 3 parameters, an exception is thrown. If you specify only period, the latest aggregated profile is returned.

Aggregated profiles are available with aggregation periods of 5 minutes, 1 hour, and 1 day, aligned to UTC. The aggregation period of an aggregated profile determines how long it is retained. For more information, see AggregatedProfileTime . The aggregated profile's aggregation period determines how long it is retained by CodeGuru Profiler.

  • If the aggregation period is 5 minutes, the aggregated profile is retained for 15 days.

  • If the aggregation period is 1 hour, the aggregated profile is retained for 60 days.

  • If the aggregation period is 1 day, the aggregated profile is retained for 3 years.

There are two use cases for calling GetProfile.

  1. If you want to return an aggregated profile that already exists, use ListProfileTimes to view the time ranges of existing aggregated profiles. Use them in a GetProfile request to return a specific, existing aggregated profile.

  2. If you want to return an aggregated profile for a time range that doesn't align with an existing aggregated profile, then CodeGuru Profiler makes a best effort to combine existing aggregated profiles from the requested time range and return them as one aggregated profile.

    If aggregated profiles do not exist for the full time range requested, then aggregated profiles for a smaller time range are returned. For example, if the requested time range is from 00:00 to 00:20, and the existing aggregated profiles are from 00:15 and 00:25, then the aggregated profiles from 00:15 to 00:20 are returned.

Implementations§

source§

impl GetProfileFluentBuilder

source

pub async fn customize( self ) -> Result<CustomizableOperation<GetProfile, AwsResponseRetryClassifier>, SdkError<GetProfileError>>

Consume this builder, creating a customizable operation that can be modified before being sent. The operation’s inner http::Request can be modified as well.

source

pub async fn send(self) -> Result<GetProfileOutput, SdkError<GetProfileError>>

Sends the request and returns the response.

If an error occurs, an SdkError will be returned with additional details that can be matched against.

By default, any retryable failures will be retried twice. Retry behavior is configurable with the RetryConfig, which can be set when configuring the client.

source

pub fn profiling_group_name(self, input: impl Into<String>) -> Self

The name of the profiling group to get.

source

pub fn set_profiling_group_name(self, input: Option<String>) -> Self

The name of the profiling group to get.

source

pub fn start_time(self, input: DateTime) -> Self

The start time of the profile to get. Specify using the ISO 8601 format. For example, 2020-06-01T13:15:02.001Z represents 1 millisecond past June 1, 2020 1:15:02 PM UTC.

If you specify startTime, then you must also specify period or endTime, but not both.

source

pub fn set_start_time(self, input: Option<DateTime>) -> Self

The start time of the profile to get. Specify using the ISO 8601 format. For example, 2020-06-01T13:15:02.001Z represents 1 millisecond past June 1, 2020 1:15:02 PM UTC.

If you specify startTime, then you must also specify period or endTime, but not both.

source

pub fn period(self, input: impl Into<String>) -> Self

Used with startTime or endTime to specify the time range for the returned aggregated profile. Specify using the ISO 8601 format. For example, P1DT1H1M1S.

To get the latest aggregated profile, specify only period.

source

pub fn set_period(self, input: Option<String>) -> Self

Used with startTime or endTime to specify the time range for the returned aggregated profile. Specify using the ISO 8601 format. For example, P1DT1H1M1S.

To get the latest aggregated profile, specify only period.

source

pub fn end_time(self, input: DateTime) -> Self

The end time of the requested profile. Specify using the ISO 8601 format. For example, 2020-06-01T13:15:02.001Z represents 1 millisecond past June 1, 2020 1:15:02 PM UTC.

If you specify endTime, then you must also specify period or startTime, but not both.

source

pub fn set_end_time(self, input: Option<DateTime>) -> Self

The end time of the requested profile. Specify using the ISO 8601 format. For example, 2020-06-01T13:15:02.001Z represents 1 millisecond past June 1, 2020 1:15:02 PM UTC.

If you specify endTime, then you must also specify period or startTime, but not both.

source

pub fn max_depth(self, input: i32) -> Self

The maximum depth of the stacks in the code that is represented in the aggregated profile. For example, if CodeGuru Profiler finds a method A, which calls method B, which calls method C, which calls method D, then the depth is 4. If the maxDepth is set to 2, then the aggregated profile contains representations of methods A and B.

source

pub fn set_max_depth(self, input: Option<i32>) -> Self

The maximum depth of the stacks in the code that is represented in the aggregated profile. For example, if CodeGuru Profiler finds a method A, which calls method B, which calls method C, which calls method D, then the depth is 4. If the maxDepth is set to 2, then the aggregated profile contains representations of methods A and B.

source

pub fn accept(self, input: impl Into<String>) -> Self

The format of the returned profiling data. The format maps to the Accept and Content-Type headers of the HTTP request. You can specify one of the following: or the default .

  • application/json — standard JSON format

  • application/x-amzn-ion — the Amazon Ion data format. For more information, see Amazon Ion.

source

pub fn set_accept(self, input: Option<String>) -> Self

The format of the returned profiling data. The format maps to the Accept and Content-Type headers of the HTTP request. You can specify one of the following: or the default .

  • application/json — standard JSON format

  • application/x-amzn-ion — the Amazon Ion data format. For more information, see Amazon Ion.

Trait Implementations§

source§

impl Clone for GetProfileFluentBuilder

source§

fn clone(&self) -> GetProfileFluentBuilder

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for GetProfileFluentBuilder

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for Twhere U: From<T>,

const: unstable · source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> Same<T> for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for Twhere T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
const: unstable · source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more