Chronosphere TraceTailSamplingRules API

The TraceTailSamplingRules API from Chronosphere — 1 operation(s) for tracetailsamplingrules.

OpenAPI Specification

chronosphere-tracetailsamplingrules-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Config V1 Bucket TraceTailSamplingRules API
  description: '

    The Config API provides standard HTTP/JSON REST endpoints for creating, reading,

    updating, deleting, and listing configurable Chronosphere resources.


    Use this link to download the raw Swagger specification:

    <a href="/api/v1/config/swagger.json">/api/v1/config/swagger.json</a>

    '
  version: v1
servers:
- url: /
tags:
- name: TraceTailSamplingRules
paths:
  /api/v1/config/trace-tail-sampling-rules:
    get:
      tags:
      - TraceTailSamplingRules
      operationId: ReadTraceTailSamplingRules
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/configv1ReadTraceTailSamplingRulesResponse'
        '404':
          description: Cannot read the TraceTailSamplingRules because TraceTailSamplingRules has not been created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiError'
        '500':
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiError'
        default:
          description: An undefined error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/genericError'
    put:
      tags:
      - TraceTailSamplingRules
      operationId: UpdateTraceTailSamplingRules
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/configv1UpdateTraceTailSamplingRulesRequest'
        required: true
      responses:
        '200':
          description: A successful response containing the updated TraceTailSamplingRules.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/configv1UpdateTraceTailSamplingRulesResponse'
        '400':
          description: Cannot update the TraceTailSamplingRules because the request is invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiError'
        '404':
          description: Cannot update the TraceTailSamplingRules because TraceTailSamplingRules has not been created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiError'
        '500':
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiError'
        default:
          description: An undefined error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/genericError'
      x-codegen-request-body-name: body
    post:
      tags:
      - TraceTailSamplingRules
      description: TraceTailSamplingRules CRUD (subset for singleton objects)
      operationId: CreateTraceTailSamplingRules
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/configv1CreateTraceTailSamplingRulesRequest'
        required: true
      responses:
        '200':
          description: A successful response containing the created TraceTailSamplingRules.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/configv1CreateTraceTailSamplingRulesResponse'
        '400':
          description: Cannot create the TraceTailSamplingRules because the request is invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiError'
        '409':
          description: Cannot create the TraceTailSamplingRules because there is a conflict with an existing TraceTailSamplingRules.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiError'
        '500':
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiError'
        default:
          description: An undefined error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/genericError'
      x-codegen-request-body-name: body
    delete:
      tags:
      - TraceTailSamplingRules
      operationId: DeleteTraceTailSamplingRules
      parameters:
      - name: dry_run
        in: query
        schema:
          type: boolean
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/configv1DeleteTraceTailSamplingRulesResponse'
        '400':
          description: Cannot delete the TraceTailSamplingRules because it is in use.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiError'
        '404':
          description: Cannot delete the TraceTailSamplingRules because the slug does not exist.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiError'
        '500':
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiError'
        default:
          description: An undefined error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/genericError'
components:
  schemas:
    TraceSearchFilterStringFilter:
      type: object
      properties:
        match:
          $ref: '#/components/schemas/StringFilterStringFilterMatchType'
        value:
          type: string
          description: The value of the filter compared to the target trace or span field.
        in_values:
          type: array
          description: Values the filter tests against when using `IN` or `NOT_IN` match type.
          items:
            type: string
    configv1CreateTraceTailSamplingRulesRequest:
      type: object
      properties:
        trace_tail_sampling_rules:
          $ref: '#/components/schemas/configv1TraceTailSamplingRules'
        dry_run:
          type: boolean
          description: If true, the TraceTailSamplingRules isn't created, and no response TraceTailSamplingRules will be returned. The response will return an error if the given TraceTailSamplingRules is invalid.
    StringFilterStringFilterMatchType:
      type: string
      enum:
      - EXACT
      - REGEX
      - EXACT_NEGATION
      - REGEX_NEGATION
      - IN
      - NOT_IN
    genericError:
      type: object
      additionalProperties: true
    configv1UpdateTraceTailSamplingRulesRequest:
      type: object
      properties:
        trace_tail_sampling_rules:
          $ref: '#/components/schemas/configv1TraceTailSamplingRules'
        create_if_missing:
          type: boolean
          description: If true, the TraceTailSamplingRules will be created if it does not already exist. If false, an error will be returned if the TraceTailSamplingRules does not already exist.
        dry_run:
          type: boolean
          description: If true, the TraceTailSamplingRules isn't created or updated, and no response TraceTailSamplingRules will be returned. The response will return an error if the given TraceTailSamplingRules is invalid.
    configv1ReadTraceTailSamplingRulesResponse:
      type: object
      properties:
        trace_tail_sampling_rules:
          $ref: '#/components/schemas/configv1TraceTailSamplingRules'
    NumericFilterComparisonType:
      type: string
      enum:
      - EQUAL
      - NOT_EQUAL
      - GREATER_THAN
      - GREATER_THAN_OR_EQUAL
      - LESS_THAN
      - LESS_THAN_OR_EQUAL
    TraceSearchFilterDurationFilter:
      type: object
      properties:
        min_secs:
          type: number
          description: Minimum duration, in seconds, required for a span or trace to match.
          format: double
        max_secs:
          type: number
          description: Maximum duration, in seconds, required for a span or trace to match.
          format: double
    TraceSearchFilterTraceFilter:
      type: object
      properties:
        duration:
          $ref: '#/components/schemas/TraceSearchFilterDurationFilter'
        error:
          $ref: '#/components/schemas/TraceSearchFilterBoolFilter'
    configv1CreateTraceTailSamplingRulesResponse:
      type: object
      properties:
        trace_tail_sampling_rules:
          $ref: '#/components/schemas/configv1TraceTailSamplingRules'
    TraceSearchFilterTagFilter:
      type: object
      properties:
        key:
          type: string
          description: The key or name of the span tag that this filter inspects.
        value:
          $ref: '#/components/schemas/TraceSearchFilterStringFilter'
        numeric_value:
          $ref: '#/components/schemas/TraceSearchFilterNumericFilter'
    apiError:
      type: object
      properties:
        code:
          type: integer
          description: An optional private error code whose values are undefined.
          format: int32
        message:
          type: string
          description: An error message describing what went wrong.
    configv1TraceTailSamplingRules:
      type: object
      properties:
        created_at:
          type: string
          description: Set in API responses.
          format: date-time
          readOnly: true
        updated_at:
          type: string
          description: Set in API responses.
          format: date-time
          readOnly: true
        rules:
          type: array
          description: 'Optional. A list of rules, evaluated in order until a match is found,

            and the sample rate applied, or else the default sample rate is applied.'
          items:
            $ref: '#/components/schemas/configv1TraceTailSamplingRule'
        default_sample_rate:
          $ref: '#/components/schemas/configv1DefaultSampleRate'
      description: Root object containing all tail sampling rules (for a tenant).
    configv1UpdateTraceTailSamplingRulesResponse:
      type: object
      properties:
        trace_tail_sampling_rules:
          $ref: '#/components/schemas/configv1TraceTailSamplingRules'
    configv1TraceSearchFilter:
      type: object
      properties:
        trace:
          $ref: '#/components/schemas/TraceSearchFilterTraceFilter'
        span:
          type: array
          description: 'Specifies the span conditions to match on. All conditions must be true in a

            single span for the span to be considered a match. If `span_count` is specified,

            the number of spans within the trace that match span conditions must be within

            `[min, max]`. You can specify multiple span conditions, and each can be

            satisfied by any number of spans within the trace.'
          items:
            $ref: '#/components/schemas/TraceSearchFilterSpanFilter'
    configv1DeleteTraceTailSamplingRulesResponse:
      type: object
    SpanFilterSpanFilterMatchType:
      type: string
      enum:
      - INCLUDE
      - EXCLUDE
    TraceSearchFilterBoolFilter:
      type: object
      properties:
        value:
          type: boolean
          description: The value of the filter compared to the target trace or span field.
    configv1DefaultSampleRate:
      type: object
      properties:
        enabled:
          type: boolean
          description: Whether to override the default sample rate
        sample_rate:
          type: number
          description: A fraction of traces to keep, which should be a number between 0 and 1, inclusive
          format: double
    configv1TraceTailSamplingRule:
      type: object
      properties:
        filter:
          $ref: '#/components/schemas/configv1TraceSearchFilter'
        sample_rate:
          type: number
          description: A fraction of traces to keep, which should be a number between 0 and 1, inclusive
          format: double
        name:
          type: string
          description: A human-readable name of the rule, which summarizes what it's for
        system_name:
          type: string
          description: Value used as the metric label value for metrics emitted relating to this rule.
        created_at:
          type: string
          description: When the rule was created (novel system_name)
          format: date-time
        updated_at:
          type: string
          description: When the rule was updated (existing system_name)
          format: date-time
      description: Contains configuration for one tail sampling rule.
    TraceSearchFilterSpanFilter:
      type: object
      properties:
        match_type:
          $ref: '#/components/schemas/SpanFilterSpanFilterMatchType'
        service:
          $ref: '#/components/schemas/TraceSearchFilterStringFilter'
        operation:
          $ref: '#/components/schemas/TraceSearchFilterStringFilter'
        parent_service:
          $ref: '#/components/schemas/TraceSearchFilterStringFilter'
        parent_operation:
          $ref: '#/components/schemas/TraceSearchFilterStringFilter'
        duration:
          $ref: '#/components/schemas/TraceSearchFilterDurationFilter'
        error:
          $ref: '#/components/schemas/TraceSearchFilterBoolFilter'
        tags:
          type: array
          description: Matches the tags of the candidate span.
          items:
            $ref: '#/components/schemas/TraceSearchFilterTagFilter'
        span_count:
          $ref: '#/components/schemas/TraceSearchFilterCountFilter'
        is_root_span:
          $ref: '#/components/schemas/TraceSearchFilterBoolFilter'
    TraceSearchFilterCountFilter:
      type: object
      properties:
        min:
          type: integer
          description: Minimum number of spans that must match a span query, inclusive.
          format: int32
        max:
          type: integer
          description: Maximum number of spans that must match a span query, inclusive.
          format: int32
    TraceSearchFilterNumericFilter:
      type: object
      properties:
        comparison:
          $ref: '#/components/schemas/NumericFilterComparisonType'
        value:
          type: number
          description: The filter value used in comparison against match candidates.
          format: double
x-original-swagger-version: '2.0'