From a5fb8c34b4517158f967c74d85f1d7051d3eb084 Mon Sep 17 00:00:00 2001 From: Vishnu Challa Date: Sun, 5 Mar 2023 18:02:33 -0500 Subject: [PATCH] Adding queries for quay performance testing and containerinzing touchstone for easy installation --- Dockerfile | 26 ++++++++ config/clair-vegeta.json | 103 ++++++++++++++++++++++++++++++ config/quay-push-pull-index.json | 26 ++++++++ config/quay-vegeta.json | 104 +++++++++++++++++++++++++++++++ config/vegeta.json | 2 +- 5 files changed, 260 insertions(+), 1 deletion(-) create mode 100644 Dockerfile create mode 100644 config/clair-vegeta.json create mode 100644 config/quay-push-pull-index.json create mode 100644 config/quay-vegeta.json diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..7e8fca9 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,26 @@ +FROM ubuntu + +WORKDIR /tmp +ARG DEBIAN_FRONTEND=noninteractive + +# Install necessary libraries for subsequent commands +RUN apt-get update && apt-get install -y podman wget git dumb-init python3.6 python3-distutils python3-pip python3-apt + +# Install and setup snafu for storing vegeta results into ES +RUN mkdir -p /opt/touchstone/ \ + && git clone https://github.com/cloud-bulldozer/benchmark-comparison \ + && cd benchmark-comparison \ + && cp -R . /opt/touchstone/ \ + && pip3 install --upgrade pip \ + && pip3 install -e /opt/touchstone/ + +# Cleanup the installation remainings +RUN apt-get clean autoclean && \ + apt-get autoremove --yes && \ + rm -rf /var/lib/{apt,dpkg,cache,log}/ + +# Start the command +ENTRYPOINT ["/usr/bin/dumb-init", "--"] +# Keeping this command as sleep infinity for now. +# Can be changed according to the development requirements. +CMD ["sleep", "infinity"] \ No newline at end of file diff --git a/config/clair-vegeta.json b/config/clair-vegeta.json new file mode 100644 index 0000000..c7b0524 --- /dev/null +++ b/config/clair-vegeta.json @@ -0,0 +1,103 @@ +{ + "elasticsearch": { + "metadata": { + "cpuinfo-metadata": { + "additional_fields": [ + "pod_name" + ], + "fields": [ + "value.Model name", + "value.Architecture", + "value.CPU(s)" + ] + }, + "meminfo-metadata": { + "additional_fields": [ + "pod_name" + ], + "fields": [ + "value.MemTotal" + ] + } + }, + "clair-test-index": [ + { + "filter": {}, + "buckets": [ + "targets.keyword" + ], + "aggregations": { + "rps": [ + "avg" + ], + "throughput": [ + "avg" + ], + "requests": [ + "avg" + ], + "req_latency": [ + "avg" + ], + "p95_latency": [ + "avg" + ], + "p99_latency": [ + "avg" + ], + "max_latency": [ + "avg" + ], + "min_latency": [ + "avg" + ], + "bytes_in": [ + "avg" + ], + "bytes_out": [ + "avg" + ], + "status_codes.0": [ + "sum" + ], + "status_codes.200": [ + "sum" + ], + "status_codes.201": [ + "sum" + ], + "status_codes.204": [ + "sum" + ], + "status_codes.400": [ + "sum" + ], + "status_codes.401": [ + "sum" + ], + "status_codes.403": [ + "sum" + ], + "status_codes.404": [ + "sum" + ], + "status_codes.408": [ + "sum" + ], + "status_codes.500": [ + "sum" + ], + "status_codes.502": [ + "sum" + ], + "status_codes.503": [ + "sum" + ], + "status_codes.504": [ + "sum" + ] + } + } + ] + } +} diff --git a/config/quay-push-pull-index.json b/config/quay-push-pull-index.json new file mode 100644 index 0000000..1c44927 --- /dev/null +++ b/config/quay-push-pull-index.json @@ -0,0 +1,26 @@ +{ + "elasticsearch": { + "quay-push-pull-index": [ + { + "filter": {}, + "buckets": [ + "targets.keyword" + ], + "aggregations": { + "elapsed_time": [ + "avg", + "max", + "min" + ], + "failures": [ + "sum" + ], + "successes": [ + "sum" + ] + } + } + ] + } + } + \ No newline at end of file diff --git a/config/quay-vegeta.json b/config/quay-vegeta.json new file mode 100644 index 0000000..f597561 --- /dev/null +++ b/config/quay-vegeta.json @@ -0,0 +1,104 @@ +{ + "elasticsearch": { + "metadata": { + "cpuinfo-metadata": { + "additional_fields": [ + "pod_name" + ], + "fields": [ + "value.Model name", + "value.Architecture", + "value.CPU(s)" + ] + }, + "meminfo-metadata": { + "additional_fields": [ + "pod_name" + ], + "fields": [ + "value.MemTotal" + ] + } + }, + "quay-vegeta-results": [ + { + "filter": {}, + "buckets": [ + "targets.keyword" + ], + "aggregations": { + "rps": [ + "avg" + ], + "throughput": [ + "avg" + ], + "requests": [ + "avg" + ], + "req_latency": [ + "avg" + ], + "p95_latency": [ + "avg" + ], + "p99_latency": [ + "avg" + ], + "max_latency": [ + "avg" + ], + "min_latency": [ + "avg" + ], + "bytes_in": [ + "avg" + ], + "bytes_out": [ + "avg" + ], + "status_codes.0": [ + "sum" + ], + "status_codes.200": [ + "sum" + ], + "status_codes.201": [ + "sum" + ], + "status_codes.204": [ + "sum" + ], + "status_codes.400": [ + "sum" + ], + "status_codes.401": [ + "sum" + ], + "status_codes.403": [ + "sum" + ], + "status_codes.404": [ + "sum" + ], + "status_codes.408": [ + "sum" + ], + "status_codes.500": [ + "sum" + ], + "status_codes.502": [ + "sum" + ], + "status_codes.503": [ + "sum" + ], + "status_codes.504": [ + "sum" + ] + } + } + ] + } + } + \ No newline at end of file diff --git a/config/vegeta.json b/config/vegeta.json index 13fd2d4..05f93cb 100644 --- a/config/vegeta.json +++ b/config/vegeta.json @@ -60,4 +60,4 @@ ] } } -} +} \ No newline at end of file