# 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: jsonrpc4j-1.x-scenario
    segmentSize: ge 2
    segments:
      - segmentId: not null
        spans:
          - operationName: /jsonrpc4j-1.x-scenario/path/to/demo-service.sayHello
            parentSpanId: 0
            spanId: 1
            spanLayer: RPCFramework
            startTime: nq 0
            endTime: nq 0
            componentId: 107
            isError: false
            spanType: Exit
            peer: localhost:8080
            skipAnalysis: false
            tags:
              - { key: http.method, value: POST }
              - {
                key: url,
                value: 'http://localhost:8080/jsonrpc4j-1.x-scenario/path/to/demo-service',
              }
          - operationName: GET:/jsonrpc4j-1.x-scenario/case/json-rpc
            parentSpanId: -1
            spanId: 0
            spanLayer: Http
            startTime: nq 0
            endTime: nq 0
            componentId: 1
            isError: false
            spanType: Entry
            peer: ''
            skipAnalysis: false
            tags:
              - {
                key: url,
                value: 'http://localhost:8080/jsonrpc4j-1.x-scenario/case/json-rpc',
              }
              - { key: http.method, value: GET }
              - {key: http.status_code, value: '200'}
      - segmentId: not null
        spans:
          - operationName: /jsonrpc4j-1.x-scenario/path/to/demo-service
            parentSpanId: -1
            spanId: 0
            spanLayer: RPCFramework
            startTime: nq 0
            endTime: nq 0
            componentId: 107
            isError: false
            spanType: Entry
            peer: ''
            skipAnalysis: false
            tags:
              - { key: http.method, value: POST }
              - {
                key: url,
                value: 'http://localhost:8080/jsonrpc4j-1.x-scenario/path/to/demo-service',
              }
              - { key: jsonrpc.method, value: sayHello }
              - { key: http.status_code, value: '200' }
            refs:
              - {
                parentEndpoint: GET:/jsonrpc4j-1.x-scenario/case/json-rpc,
                networkAddress: 'localhost:8080',
                refType: CrossProcess,
                parentSpanId: 1,
                parentTraceSegmentId: not null,
                parentServiceInstance: not null,
                parentService: jsonrpc4j-1.x-scenario,
                traceId: not null,
              }
