# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

segmentItems:
- serviceName: kong
  segmentSize: eq 1
  segments:
  - segmentId: not null
    spans:
    - operationName: "/mock"
      parentSpanId: 0
      spanId: 1
      spanLayer: Http
      tags:
      - key: http.status
        value: '200'
      startTime: gt 0
      endTime: gt 0
      componentId: 6001
      spanType: Exit
      peer: localhost
      skipAnalysis: false
    - operationName: "/mock"
      parentSpanId: -1
      spanId: 0
      spanLayer: Http
      tags:
      - key: http.method
        value: GET
      - key: http.params
        value: http://localhost/mock
      - key: kong.node
        value: not null
      - key: kong.service
        value: not null
      - key: kong.route
        value: not null
      - key: kong.service_name
        value: example-service
      - key: http.status
        value: '200'
      startTime: gt 0
      endTime: gt 0
      componentId: 6001
      spanType: Entry
      peer: ''
      skipAnalysis: false

