From d50ae155d36ec7acbf015932a232077d3e9743e3 Mon Sep 17 00:00:00 2001 From: javaducky Date: Wed, 30 Mar 2022 15:22:05 -0500 Subject: [PATCH] Providing Makefile and CoC as well as minor README tweaks --- CODE_OF_CONDUCT.md | 75 ++++++++++++++++++++++++++++++++++++++++++++++ Makefile | 32 ++++++++++++++++++++ README.md | 9 ++---- 3 files changed, 110 insertions(+), 6 deletions(-) create mode 100644 CODE_OF_CONDUCT.md create mode 100644 Makefile diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..41fa3e1 --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,75 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +In the interest of fostering an open and welcoming environment, we as +contributors and maintainers pledge to making participation in our project and +our community a harassment-free experience for everyone, regardless of age, body +size, disability, ethnicity, gender identity and expression, level of experience, +nationality, personal appearance, race, religion, or sexual identity and +orientation. + +## Our Standards + +Examples of behavior that contributes to creating a positive environment +include: + +* Using welcoming and inclusive language +* Being respectful of differing viewpoints and experiences +* Gracefully accepting constructive criticism +* Focusing on what is best for the community +* Showing empathy towards other community members + +Examples of unacceptable behavior by participants include: + +* The use of sexualized language or imagery and unwelcome sexual attention or + advances +* Trolling, insulting/derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or electronic + address, without explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Our Responsibilities + +Project maintainers are responsible for clarifying the standards of acceptable +behavior and are expected to take appropriate and fair corrective action in +response to any instances of unacceptable behavior. + +Project maintainers have the right and responsibility to remove, edit, or +reject comments, commits, code, wiki edits, issues, and other contributions +that are not aligned to this Code of Conduct, or to ban temporarily or +permanently any contributor for other behaviors that they deem inappropriate, +threatening, offensive, or harmful. + +## Scope + +This Code of Conduct applies both within project spaces and in public spaces +when an individual is representing the project or its community. Examples of +representing a project or community include using an official project e-mail +address, posting via an official social media account, or acting as an appointed +representative at an online or offline event. Representation of a project may be +further defined and clarified by project maintainers. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported by contacting our Developer Relations team, avocados@k6.io. + +All complaints will be reviewed and investigated and will result in a response that +is deemed necessary and appropriate to the circumstances. The project team is +obligated to maintain confidentiality with regard to the reporter of an incident. +Further details of specific enforcement policies may be posted separately. + +Project maintainers who do not follow or enforce the Code of Conduct in good +faith may face temporary or permanent repercussions as determined by other +members of the project's leadership. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, +available at [http://contributor-covenant.org/version/1/4][version] + +[homepage]: http://contributor-covenant.org +[version]: http://contributor-covenant.org/version/1/4/ diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..5ec2fe6 --- /dev/null +++ b/Makefile @@ -0,0 +1,32 @@ +MAKEFLAGS += --silent + +all: clean format test build + +## help: Prints a list of available build targets. +help: + echo "Usage: make ... " + echo "" + echo "Available targets are:" + echo '' + sed -n 's/^##//p' ${PWD}/Makefile | column -t -s ':' | sed -e 's/^/ /' + echo + echo "Targets run by default are: `sed -n 's/^all: //p' ./Makefile | sed -e 's/ /, /g' | sed -e 's/\(.*\), /\1, and /'`" + +## clean: Removes any previously created build artifacts. +clean: + rm -f ./k6 + +## build: Builds a custom 'k6' with the local extension. +build: + go install go.k6.io/xk6/cmd/xk6@latest + xk6 build --with github.com/grafana/xk6-output-prometheus-remote=. + +## format: Applies Go formatting to code. +format: + go fmt ./... + +## test: Executes any unit tests. +test: + go test -cover -race ./... + +.PHONY: build clean format help test diff --git a/README.md b/README.md index c9f5e93..59b9ddc 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,9 @@ # xk6-output-prometheus-remote +k6 extension for publishing test-run metrics to Prometheus via Remote Write endpoint. -> ### ⚠️ Beta version +> :warning: Not to be confused with [Prometheus Remote Write **client** extension](https://github.com/grafana/xk6-client-prometheus-remote) which is for load testing _Prometheus_ itself. -k6 extension for Prometheus remote-write output. - -*Distinguish from [Prometheus remote write **client** extension](https://github.com/grafana/xk6-client-prometheus-remote) :)* - -According to [Prometheus API Stability Guarantees](https://prometheus.io/docs/prometheus/latest/stability/) remote write is an **experimental feature**, thus it is unstable and is subject to change. There are many options for remote-write compatible agents, the official list can be found [here](https://prometheus.io/docs/operating/integrations/). The exact details of how metrics will be processed or stored depends on the underlying agent used. +There are many options for remote-write compatible agents, the official list can be found [here](https://prometheus.io/docs/operating/integrations/). The exact details of how metrics will be processed or stored depends on the underlying agent used. Key points to know: