import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
 * This data source provides details about a specific Trace resource in Oracle Cloud Infrastructure Apm Traces service.
 *
 * Gets the trace details identified by traceId.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testTrace = oci.apmtraces.getTrace({
 *     apmDomainId: testApmDomain.id,
 *     traceKey: traceTraceKey,
 *     timeTraceStartedGreaterThanOrEqualTo: traceTimeTraceStartedGreaterThanOrEqualTo,
 *     timeTraceStartedLessThan: traceTimeTraceStartedLessThan,
 *     traceNamespace: traceTraceNamespace,
 * });
 * ```
 */
export declare function getTrace(args: GetTraceArgs, opts?: pulumi.InvokeOptions): Promise<GetTraceResult>;
/**
 * A collection of arguments for invoking getTrace.
 */
export interface GetTraceArgs {
    /**
     * The APM Domain ID for the intended request.
     */
    apmDomainId: string;
    /**
     * Include traces that have a minTraceStartTime equal to or greater than this value.
     */
    timeTraceStartedGreaterThanOrEqualTo?: string;
    /**
     * Include traces that have a minTraceStartTime less than this value.
     */
    timeTraceStartedLessThan?: string;
    /**
     * Unique Application Performance Monitoring trace identifier (traceId).
     */
    traceKey: string;
    /**
     * Name space from which the trace details need to be retrieved.
     */
    traceNamespace?: string;
}
/**
 * A collection of values returned by getTrace.
 */
export interface GetTraceResult {
    readonly apmDomainId: string;
    /**
     * The number of spans with errors that have been processed by the system for the trace. Note that the number of spans with errors will be less than or equal to the total number of spans in the trace.
     */
    readonly errorSpanCount: number;
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    /**
     * Boolean flag that indicates whether the trace has an error.
     */
    readonly isFault: boolean;
    /**
     * Unique identifier (spanId) for the span.  Note that this field is defined as spanKey in the API and it maps to the spanId in the trace data in Application Performance Monitoring.
     */
    readonly key: string;
    /**
     * Time taken for the root span operation to complete in milliseconds.
     */
    readonly rootSpanDurationInMs: number;
    /**
     * Root span name associated with the trace. This is the flow start operation name. Null is displayed if the root span is not yet completed.
     */
    readonly rootSpanOperationName: string;
    /**
     * Service associated with the trace.
     */
    readonly rootSpanServiceName: string;
    /**
     * A summary of the spans by service.
     */
    readonly serviceSummaries: outputs.ApmTraces.GetTraceServiceSummary[];
    /**
     * Source of span (spans, syn_spans).
     */
    readonly sourceName: string;
    /**
     * The number of spans that have been processed by the system for the trace.  Note that there could be additional spans that have not been processed or reported yet if the trace is still in progress.
     */
    readonly spanCount: number;
    /**
     * Summary of the information pertaining to the spans in the trace window that is being queried.
     */
    readonly spanSummaries: outputs.ApmTraces.GetTraceSpanSummary[];
    /**
     * An array of spans in the trace.
     */
    readonly spans: outputs.ApmTraces.GetTraceSpan[];
    /**
     * Start time of the earliest span in the span collection.
     */
    readonly timeEarliestSpanStarted: string;
    /**
     * End time of the span that most recently ended in the span collection.
     */
    readonly timeLatestSpanEnded: string;
    /**
     * End time of the root span for the span collection.
     */
    readonly timeRootSpanEnded: string;
    /**
     * Start time of the root span for the span collection.
     */
    readonly timeRootSpanStarted: string;
    readonly timeTraceStartedGreaterThanOrEqualTo?: string;
    readonly timeTraceStartedLessThan?: string;
    /**
     * Time between the start of the earliest span and the end of the most recent span in milliseconds.
     */
    readonly traceDurationInMs: number;
    /**
     * Error code of the trace.
     */
    readonly traceErrorCode: string;
    /**
     * Error type of the trace.
     */
    readonly traceErrorType: string;
    /**
     * Unique identifier for the trace.
     */
    readonly traceKey: string;
    readonly traceNamespace?: string;
    /**
     * The status of the trace. The trace statuses are defined as follows: complete - a root span has been recorded, but there is no information on the errors. success - a complete root span is recorded there is a successful error type and error code - HTTP 200. incomplete - the root span has not yet been received. error - the root span returned with an error. There may or may not be an associated error code or error type.
     */
    readonly traceStatus: string;
}
/**
 * This data source provides details about a specific Trace resource in Oracle Cloud Infrastructure Apm Traces service.
 *
 * Gets the trace details identified by traceId.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testTrace = oci.apmtraces.getTrace({
 *     apmDomainId: testApmDomain.id,
 *     traceKey: traceTraceKey,
 *     timeTraceStartedGreaterThanOrEqualTo: traceTimeTraceStartedGreaterThanOrEqualTo,
 *     timeTraceStartedLessThan: traceTimeTraceStartedLessThan,
 *     traceNamespace: traceTraceNamespace,
 * });
 * ```
 */
export declare function getTraceOutput(args: GetTraceOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetTraceResult>;
/**
 * A collection of arguments for invoking getTrace.
 */
export interface GetTraceOutputArgs {
    /**
     * The APM Domain ID for the intended request.
     */
    apmDomainId: pulumi.Input<string>;
    /**
     * Include traces that have a minTraceStartTime equal to or greater than this value.
     */
    timeTraceStartedGreaterThanOrEqualTo?: pulumi.Input<string | undefined>;
    /**
     * Include traces that have a minTraceStartTime less than this value.
     */
    timeTraceStartedLessThan?: pulumi.Input<string | undefined>;
    /**
     * Unique Application Performance Monitoring trace identifier (traceId).
     */
    traceKey: pulumi.Input<string>;
    /**
     * Name space from which the trace details need to be retrieved.
     */
    traceNamespace?: pulumi.Input<string | undefined>;
}
//# sourceMappingURL=getTrace.d.ts.map