blob: 39ccb13132d30295f02614949974106f5e24d3e9 [file] [log] [blame]
# 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.
# This file is used to show how to write configuration files and can be used to test.
cases:
# trace segment list
# todo check will profiling be impacted by multiprocessing?
- query: |
curl -s -XPOST http://${provider_host}:${provider_9090}/artist-provider -d '{"enableProfiling":"false","name":"SkyWalking"}' -H "Content-Type: application/json" > /dev/null;
sleep 3;
swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql trace ls --service-name=e2e-service-provider
expected: expected/traces-list.yml
# service list
- query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql service ls
expected: expected/service.yml
# service instance list
- query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql instance list --service-name=e2e-service-provider
expected: expected/service-instance.yml
# service endpoint
- query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql endpoint list --keyword=artist-provider --service-name=e2e-service-provider
expected: expected/service-endpoint.yml
# create task
- query: |
swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql \
profiling trace create --service-name=e2e-service-provider \
--endpoint-name=/artist-provider \
--start-time=-1 \
--duration=5 --min-duration-threshold=0 \
--dump-period=10 --max-sampling-count=5
expected: expected/profile-create.yml
# profiling list notified: sleep to wait agent notices and query profiling list
- query: sleep 10 && swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profiling trace list --service-name=e2e-service-provider --endpoint-name=/artist-provider
expected: expected/profile-list-notified.yml
# profiling list finished:
- query: |
curl -s -XPOST http://${provider_host}:${provider_9090}/artist-provider -d '{"song": "Hey Jude"}' -H "Content-Type: application/json" > /dev/null;
sleep 30;
swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profiling trace list --service-name=e2e-service-provider --endpoint-name=/artist-provider
expected: expected/profile-list-finished.yml
# profiled segment list
- query: |
swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profiling trace segment-list --task-id=$( \
swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profiling trace list --service-name=e2e-service-provider --endpoint-name=/artist-provider | yq e '.[0].id' - \
)
expected: expected/profile-segment-list.yml
# profiled segment detail
- query: |
swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profiling trace profiled-segment --segment-id=$( \
swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profiling trace segment-list --task-id=$( \
swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profiling trace list --service-name=e2e-service-provider --endpoint-name=/artist-provider | yq e '.[0].id' - \
) | yq e '.[0].segmentid' - \
)
expected: expected/profile-segment-detail.yml
# query profiled segment analyze
- query: |
segmentid=$( \
swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profiling trace segment-list --task-id=$( \
swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profiling trace list --service-name=e2e-service-provider --endpoint-name=/artist-provider | yq e '.[0].id' - \
) | yq e '.[0].segmentid' - \
);
start=$(swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profiling trace profiled-segment --segment-id=$segmentid | yq e '.spans[] | select(.spanid == 0).starttime' -);
end=$(swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profiling trace profiled-segment --segment-id=$segmentid | yq e '.spans[] | select(.spanid == 0).endtime' -);
swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql profiling trace analysis --segment-id=$segmentid --time-ranges=$(echo $start"-"$end)
expected: expected/profile-segment-analyze.yml