[ aws . codeguruprofiler ]

get-recommendations

Description

Returns a list of ` Recommendation https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_Recommendation.html`__ objects that contain recommendations for a profiling group for a given time period. A list of ` Anomaly https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_Anomaly.html`__ objects that contains details about anomalies detected in the profiling group for the same time period is also returned.

See also: AWS API Documentation

See ‘aws help’ for descriptions of global parameters.

Synopsis

  get-recommendations
--end-time <value>
[--locale <value>]
--profiling-group-name <value>
--start-time <value>
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]
[--cli-auto-prompt <value>]

Options

--end-time (timestamp)

The start time of the profile to get analysis data about. You must specify startTime and endTime . This is specified 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.

--locale (string)

The language used to provide analysis. Specify using a string that is one of the following BCP 47 language codes.

  • de-DE - German, Germany

  • en-GB - English, United Kingdom

  • en-US - English, United States

  • es-ES - Spanish, Spain

  • fr-FR - French, France

  • it-IT - Italian, Italy

  • ja-JP - Japanese, Japan

  • ko-KR - Korean, Republic of Korea

  • pt-BR - Portugese, Brazil

  • zh-CN - Chinese, China

  • zh-TW - Chinese, Taiwan

--profiling-group-name (string)

The name of the profiling group to get analysis data about.

--start-time (timestamp)

The end time of the profile to get analysis data about. You must specify startTime and endTime . This is specified 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.

--cli-input-json | --cli-input-yaml (string) Reads arguments from the JSON string provided. The JSON string follows the format provided by --generate-cli-skeleton. If other arguments are provided on the command line, those values will override the JSON-provided values. It is not possible to pass arbitrary binary values using a JSON-provided value as the string will be taken literally. This may not be specified along with --cli-input-yaml.

--generate-cli-skeleton (string) Prints a JSON skeleton to standard output without sending an API request. If provided with no value or the value input, prints a sample input JSON that can be used as an argument for --cli-input-json. Similarly, if provided yaml-input it will print a sample input YAML that can be used with --cli-input-yaml. If provided with the value output, it validates the command inputs and returns a sample output JSON for that command.

--cli-auto-prompt (boolean) Automatically prompt for CLI input parameters.

See ‘aws help’ for descriptions of global parameters.

Output

anomalies -> (list)

The list of anomalies that the analysis has found for this profile.

(structure)

Details about an anomaly in a specific metric of application profile. The anomaly is detected using analysis of the metric data over a period of time.

instances -> (list)

A list of the instances of the detected anomalies during the requested period.

(structure)

The specific duration in which the metric is flagged as anomalous.

endTime -> (timestamp)

The end time of the period during which the metric is flagged as anomalous. This is specified 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.

id -> (string)

The universally unique identifier (UUID) of an instance of an anomaly in a metric.

startTime -> (timestamp)

The start time of the period during which the metric is flagged as anomalous. This is specified 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.

userFeedback -> (structure)

Feedback type on a specific instance of anomaly submitted by the user.

type -> (string)

Optional Positive or Negative feedback submitted by the user about whether the recommendation is useful or not.

metric -> (structure)

Details about the metric that the analysis used when it detected the anomaly. The metric includes the name of the frame that was analyzed with the type and thread states used to derive the metric value for that frame.

frameName -> (string)

The name of the method that appears as a frame in any stack in a profile.

threadStates -> (list)

The list of application runtime thread states that is used to calculate the metric value for the frame.

(string)

type -> (string)

A type that specifies how a metric for a frame is analyzed. The supported value AggregatedRelativeTotalTime is an aggregation of the metric value for one frame that is calculated across the occurences of all frames in a profile.

reason -> (string)

The reason for which metric was flagged as anomalous.

profileEndTime -> (timestamp)

The end time of the profile the analysis data is about. This is specified 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.

profileStartTime -> (timestamp)

The start time of the profile the analysis data is about. This is specified 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.

profilingGroupName -> (string)

The name of the profiling group the analysis data is about.

recommendations -> (list)

The list of recommendations that the analysis found for this profile.

(structure)

A potential improvement that was found from analyzing the profiling data.

allMatchesCount -> (integer)

How many different places in the profile graph triggered a match.

allMatchesSum -> (double)

How much of the total sample count is potentially affected.

endTime -> (timestamp)

End time of the profile that was used by this analysis. This is specified 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.

pattern -> (structure)

The pattern that analysis recognized in the profile to make this recommendation.

countersToAggregate -> (list)

A list of the different counters used to determine if there is a match.

(string)

description -> (string)

The description of the recommendation. This explains a potential inefficiency in a profiled application.

id -> (string)

The universally unique identifier (UUID) of this pattern.

name -> (string)

The name for this pattern.

resolutionSteps -> (string)

A string that contains the steps recommended to address the potential inefficiency.

targetFrames -> (list)

A list of frame names that were searched during the analysis that generated a recommendation.

(list)

(string)

thresholdPercent -> (double)

The percentage of time an application spends in one method that triggers a recommendation. The percentage of time is the same as the percentage of the total gathered sample counts during analysis.

startTime -> (timestamp)

The start time of the profile that was used by this analysis. This is specified 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.

topMatches -> (list)

List of the matches with most impact.

(structure)

The part of a profile that contains a recommendation found during analysis.

frameAddress -> (string)

The location in the profiling graph that contains a recommendation found during analysis.

targetFramesIndex -> (integer)

The target frame that triggered a match.

thresholdBreachValue -> (double)

The value in the profile data that exceeded the recommendation threshold.