Skip to content

list_audit_findings async

list_audit_findings(
    start_time: datetime,
    end_time: datetime,
    audit_targets: AuditTargets,
    *,
    config_overrides: Optional[AsyncApplicationSignalsClientConfig] = None,
    auditors: Optional[Auditors] = None,
    detail_level: Optional[DetailLevel] = None,
    next_token: Optional[NextToken] = None,
    max_results: Optional[ListAuditFindingMaxResults] = None,
) -> ListAuditFindingsOutput

Returns a list of audit findings that provide automated analysis of service behavior and root cause analysis. These findings help identify the most significant observations about your services, including performance issues, anomalies, and potential problems. The findings are generated using heuristic algorithms based on established troubleshooting patterns.

Parameters:

  • start_time (datetime) –

    The start of the time period to retrieve audit findings for. When used in a raw HTTP Query API, it is formatted as epoch time in seconds. For example, 1698778057

  • end_time (datetime) –

    The end of the time period to retrieve audit findings for. When used in a raw HTTP Query API, it is formatted as epoch time in seconds. For example, 1698778057

  • auditors (Optional[Auditors], default: None ) –

    A list of auditor names to filter the findings by. Only findings generated by the specified auditors will be returned.

    The following auditors are available for configuration:

    • slo - SloAuditor: Identifies SLO violations and detects breached thresholds during the Assessment phase.

    • operation_metric - OperationMetricAuditor: Detects anomalies in service operation metrics from Application Signals RED metrics during the Assessment phase

      Anomaly detection is not supported for sparse metrics (those missing more than 80% of datapoints within the given time period).

    • service_quota - ServiceQuotaAuditor: Monitors resource utilization against service quotas during the Assessment phase

    • trace - TraceAuditor: Performs deep-dive analysis of distributed traces, correlating traces with breached SLOs or abnormal RED metrics during the Analysis phase

    • dependency_metric - CriticalPathAuditor: Analyzes service dependency impacts and maps dependency relationships from Application Signals RED metrics during the Analysis phase

    • top_contributor - TopContributorAuditor: Identifies infrastructure-level contributors to issues by analyzing EMF logs of Application Signals RED metrics during the Analysis phase

    • log - LogAuditor: Extracts insights from application logs, categorizing error types and ranking severity by frequency during the Analysis phase

    • change_indicator - ChangeIndicatorAuditor: Detects change events (deployments, configuration changes) that occurred within 10 minutes before and during a detected anomaly, and surfaces them as findings with deployment timestamps in the Analysis phase. When changes are detected, the top_contributor auditor skips its analysis to avoid redundancy.

    InitAuditor and Summarizer auditors are not configurable as they are automatically triggered during the audit process.

  • audit_targets (AuditTargets) –

    A list of audit targets to filter the findings by. You can specify services, SLOs, or service operations to limit the audit findings to specific entities.

  • detail_level (Optional[DetailLevel], default: None ) –

    The level of details of the audit findings. Supported values: BRIEF, DETAILED.

  • next_token (Optional[NextToken], default: None ) –

    Include this value, if it was returned by the previous operation, to get the next set of audit findings.

  • max_results (Optional[ListAuditFindingMaxResults], default: None ) –

    The maximum number of audit findings to return in one operation. If you omit this parameter, the default of 10 is used.

Raises:

Source code in docs_src/capo_application_signals/_services/async_application_signals.py
async def list_audit_findings(
    self,
    start_time: datetime.datetime,
    end_time: datetime.datetime,
    audit_targets: "capo_application_signals.types.audit_targets.AuditTargets",
    *,
    config_overrides: Optional[AsyncApplicationSignalsClientConfig] = None,
    auditors: Optional["capo_application_signals.types.auditors.Auditors"] = None,
    detail_level: Optional[
        "capo_application_signals.types.detail_level.DetailLevel"
    ] = None,
    next_token: Optional[
        "capo_application_signals.types.next_token.NextToken"
    ] = None,
    max_results: Optional[
        "capo_application_signals.types.list_audit_finding_max_results.ListAuditFindingMaxResults"
    ] = None,
) -> "capo_application_signals.types.list_audit_findings_output.ListAuditFindingsOutput":
    """<p>Returns a list of audit findings that provide automated analysis of service behavior and root cause analysis. These findings help identify the most significant observations about your services, including performance issues, anomalies, and potential problems. The findings are generated using heuristic algorithms based on established troubleshooting patterns.</p>

    Args:
        start_time: <p>The start of the time period to retrieve audit findings for. When used in a raw HTTP Query API, it is formatted as epoch time in seconds. For example, <code>1698778057</code> </p>
        end_time: <p>The end of the time period to retrieve audit findings for. When used in a raw HTTP Query API, it is formatted as epoch time in seconds. For example, <code>1698778057</code> </p>
        auditors: <p>A list of auditor names to filter the findings by. Only findings generated by the specified auditors will be returned.</p> <p>The following auditors are available for configuration:</p> <ul> <li> <p> <code>slo</code> - SloAuditor: Identifies SLO violations and detects breached thresholds during the Assessment phase.</p> </li> <li> <p> <code>operation_metric</code> - OperationMetricAuditor: Detects anomalies in service operation metrics from Application Signals RED metrics during the Assessment phase</p> <note> <p>Anomaly detection is not supported for sparse metrics (those missing more than 80% of datapoints within the given time period).</p> </note> </li> <li> <p> <code>service_quota</code> - ServiceQuotaAuditor: Monitors resource utilization against service quotas during the Assessment phase</p> </li> <li> <p> <code>trace</code> - TraceAuditor: Performs deep-dive analysis of distributed traces, correlating traces with breached SLOs or abnormal RED metrics during the Analysis phase</p> </li> <li> <p> <code>dependency_metric</code> - CriticalPathAuditor: Analyzes service dependency impacts and maps dependency relationships from Application Signals RED metrics during the Analysis phase</p> </li> <li> <p> <code>top_contributor</code> - TopContributorAuditor: Identifies infrastructure-level contributors to issues by analyzing EMF logs of Application Signals RED metrics during the Analysis phase</p> </li> <li> <p> <code>log</code> - LogAuditor: Extracts insights from application logs, categorizing error types and ranking severity by frequency during the Analysis phase</p> </li> <li> <p> <code>change_indicator</code> - ChangeIndicatorAuditor: Detects change events (deployments, configuration changes) that occurred within 10 minutes before and during a detected anomaly, and surfaces them as findings with deployment timestamps in the Analysis phase. When changes are detected, the <code>top_contributor</code> auditor skips its analysis to avoid redundancy.</p> </li> </ul> <note> <p> <code>InitAuditor</code> and <code>Summarizer</code> auditors are not configurable as they are automatically triggered during the audit process.</p> </note>
        audit_targets: <p>A list of audit targets to filter the findings by. You can specify services, SLOs, or service operations to limit the audit findings to specific entities.</p>
        detail_level: <p>The level of details of the audit findings. Supported values: <code>BRIEF</code>, <code>DETAILED</code>.</p>
        next_token: <p>Include this value, if it was returned by the previous operation, to get the next set of audit findings.</p>
        max_results: <p>The maximum number of audit findings to return in one operation. If you omit this parameter, the default of 10 is used.</p>

    Raises:
        capo_application_signals.errors.throttling_exception.ThrottlingException: <p>The request was throttled because of quota limits.</p>
        capo_application_signals.errors.validation_exception.ValidationException: <p>The resource is not valid.</p>
        capo_application_signals.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_application_signals.types.list_audit_findings_input.ListAuditFindingsInput]",
    ) -> AsyncOperationResponse[
        "capo_application_signals.types.list_audit_findings_output.ListAuditFindingsOutput"
    ]:
        import capo_application_signals._operations.application_signals.list_audit_findings

        (
            output,
            http_response,
        ) = await capo_application_signals._operations.application_signals.list_audit_findings.async_list_audit_findings(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("ListAuditFindings")
    )
    input_: capo_application_signals.types.list_audit_findings_input.ListAuditFindingsInput = {
        "start_time": start_time,
        "end_time": end_time,
        "audit_targets": audit_targets,
    }
    if auditors is not None:
        input_["auditors"] = auditors
    if detail_level is not None:
        input_["detail_level"] = detail_level
    if next_token is not None:
        input_["next_token"] = next_token
    if max_results is not None:
        input_["max_results"] = max_results

    response = await aexecute_pipeline(
        AsyncOperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    await response.response.aclose()
    return response.output