# 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: solon-2.x-scenario
    segmentSize: ge 2
    segments:
      - segmentId: not null
        spans:
          - operationName: GET:/testcase/error
            parentSpanId: -1
            spanId: 0
            spanLayer: Http
            startTime: not null
            endTime: not null
            componentId: 158
            isError: true
            spanType: Entry
            peer: ''
            skipAnalysis: false
            tags:
              - {key: url, value: not null}
              - {key: http.method, value: GET}
              - {key: http.headers, value: not null}
              - {key: http.params, value: not null}
              - {key: http.status_code, value: '500'}
            logs:
              - logEvent:
                  - {key: event, value: error}
                  - {key: error.kind, value: java.lang.RuntimeException}
                  - {key: message, value: this is Error}
                  - {key: stack, value: not null}
            refs:
              - {parentEndpoint: 'GET:/testcase/test', networkAddress: 'localhost:8082',
                 refType: CrossProcess, parentSpanId: 2, parentTraceSegmentId: not null,
                 parentServiceInstance: not null, parentService: solon-2.x-scenario,
                 traceId: not null}
      - segmentId: not null
        spans:
          - operationName: H2/JDBC/PreparedStatement/executeQuery
            parentSpanId: 0
            spanId: 1
            spanLayer: Database
            startTime: not null
            endTime: not null
            componentId: 32
            isError: false
            spanType: Exit
            peer: localhost:-1
            skipAnalysis: false
            tags:
              - {key: db.type, value: H2}
              - {key: db.instance, value: test}
              - {key: db.statement, value: SELECT 1 = 1}
          - operationName: /testcase/error
            parentSpanId: 0
            spanId: 2
            spanLayer: Http
            startTime: not null
            endTime: not null
            componentId: 128
            isError: true
            spanType: Exit
            peer: localhost:8082
            skipAnalysis: false
            tags:
              - {key: http.method, value: GET}
              - {key: url, value: 'http://localhost:8082/testcase/error'}
              - {key: http.status_code, value: '500'}
          - operationName: GET:/testcase/test
            parentSpanId: -1
            spanId: 0
            spanLayer: Http
            startTime: not null
            endTime: not null
            componentId: 158
            isError: false
            spanType: Entry
            peer: ''
            skipAnalysis: false
            tags:
              - {key: url, value: 'http://localhost:8082/testcase/test'}
              - {key: http.method, value: GET}
              - {key: http.headers, value: not null}
              - {key: http.params, value: '{}'}
              - {key: http.status_code, value: '200'}
