This is an automated email from the ASF dual-hosted git repository.
asorokoumov pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/otava.git
The following commit(s) were added to refs/heads/master by this push:
new 8d623fc Add missing config files in examples (#92)
8d623fc is described below
commit 8d623fcfd079db58b5dc009befbd446d0b924fb2
Author: Alex Sorokoumov <[email protected]>
AuthorDate: Mon Sep 22 11:52:24 2025 -0700
Add missing config files in examples (#92)
---
examples/csv/config/otava.yaml | 27 ++++++++++
examples/graphite/config/otava.yaml | 48 ++++++++++++++++++
examples/postgresql/config/otava.yaml | 94 +++++++++++++++++++++++++++++++++++
3 files changed, 169 insertions(+)
diff --git a/examples/csv/config/otava.yaml b/examples/csv/config/otava.yaml
new file mode 100644
index 0000000..d91f4ea
--- /dev/null
+++ b/examples/csv/config/otava.yaml
@@ -0,0 +1,27 @@
+# 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.
+
+tests:
+ local.sample:
+ type: csv
+ file: /data/local_sample.csv
+ time_column: time
+ attributes: [commit]
+ metrics: [metric1, metric2]
+ csv_options:
+ delimiter: ","
+ quotechar: "'"
diff --git a/examples/graphite/config/otava.yaml
b/examples/graphite/config/otava.yaml
new file mode 100644
index 0000000..09e07f9
--- /dev/null
+++ b/examples/graphite/config/otava.yaml
@@ -0,0 +1,48 @@
+# 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.
+
+# External systems connectors configuration:
+graphite:
+ url: ${GRAPHITE_ADDRESS}
+
+grafana:
+ url: ${GRAFANA_ADDRESS}
+ user: ${GRAFANA_USER}
+ password: ${GRAFANA_PASSWORD}
+
+# Define your tests here:
+tests:
+ my-product.test:
+ type: graphite
+ prefix: performance-tests.daily.my-product
+ tags: [perf-test, daily, my-product]
+ metrics:
+ throughput:
+ suffix: client.throughput
+ direction: 1 # higher is better
+ scale: 1
+ response_time:
+ suffix: client.p50
+ direction: -1 # lower is better
+ scale: 1
+ cpu_usage:
+ suffix: server.cpu
+ direction: -1 # lower is better
+ scale: 1
+
+
+
diff --git a/examples/postgresql/config/otava.yaml
b/examples/postgresql/config/otava.yaml
new file mode 100644
index 0000000..bb52c15
--- /dev/null
+++ b/examples/postgresql/config/otava.yaml
@@ -0,0 +1,94 @@
+# 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.
+
+# External systems connectors configuration:
+postgres:
+ hostname: ${POSTGRES_HOSTNAME}
+ port: ${POSTGRES_PORT}
+ username: ${POSTGRES_USERNAME}
+ password: ${POSTGRES_PASSWORD}
+ database: ${POSTGRES_DATABASE}
+
+# Templates define common bits shared between test definitions:
+templates:
+ common:
+ type: postgres
+ time_column: commit_ts
+ attributes: [experiment_id, commit, config_id]
+ # required for --update-postgres to work
+ update_statement: |
+ UPDATE results
+ SET {metric}_rel_forward_change=%s,
+ {metric}_rel_backward_change=%s,
+ {metric}_p_value=%s
+ WHERE experiment_id = '{experiment_id}' AND config_id = {config_id}
+ metrics:
+ process_cumulative_rate_mean:
+ direction: 1
+ scale: 1
+ process_cumulative_rate_stderr:
+ direction: -1
+ scale: 1
+ process_cumulative_rate_diff:
+ direction: -1
+ scale: 1
+
+# Define your tests here:
+tests:
+ aggregate_mem:
+ inherit: [ common ] # avoids repeating metrics definitions and
postgres-related config
+ query: |
+ SELECT e.commit,
+ e.commit_ts,
+ r.process_cumulative_rate_mean,
+ r.process_cumulative_rate_stderr,
+ r.process_cumulative_rate_diff,
+ r.experiment_id,
+ r.config_id
+ FROM results r
+ INNER JOIN configs c ON r.config_id = c.id
+ INNER JOIN experiments e ON r.experiment_id = e.id
+ WHERE e.exclude_from_analysis = false AND
+ e.branch = '${BRANCH}' AND
+ e.username = 'ci' AND
+ c.store = 'MEM' AND
+ c.cache = true AND
+ c.benchmark = 'aggregate' AND
+ c.instance_type = 'ec2i3.large'
+ ORDER BY e.commit_ts ASC;
+
+ aggregate_time_rocks:
+ inherit: [ common ]
+ query: |
+ SELECT e.commit,
+ e.commit_ts,
+ r.process_cumulative_rate_mean,
+ r.process_cumulative_rate_stderr,
+ r.process_cumulative_rate_diff,
+ r.experiment_id,
+ r.config_id
+ FROM results r
+ INNER JOIN configs c ON r.config_id = c.id
+ INNER JOIN experiments e ON r.experiment_id = e.id
+ WHERE e.exclude_from_analysis = false AND
+ e.branch = '${BRANCH}' AND
+ e.username = 'ci' AND
+ c.store = 'TIME_ROCKS' AND
+ c.cache = true AND
+ c.benchmark = 'aggregate' AND
+ c.instance_type = 'ec2i3.large'
+ ORDER BY e.commit_ts ASC;
\ No newline at end of file