{"id":13551210,"url":"https://github.com/intelsdi-x/snap","last_synced_at":"2025-09-28T21:30:28.282Z","repository":{"id":19677401,"uuid":"22931257","full_name":"intelsdi-x/snap","owner":"intelsdi-x","description":"The open telemetry framework","archived":true,"fork":false,"pushed_at":"2022-11-07T23:05:59.000Z","size":60991,"stargazers_count":1792,"open_issues_count":151,"forks_count":294,"subscribers_count":139,"default_branch":"master","last_synced_at":"2024-12-29T08:23:39.111Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://snap-telemetry.io","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/intelsdi-x.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-08-13T21:04:51.000Z","updated_at":"2024-12-27T12:04:53.000Z","dependencies_parsed_at":"2022-07-25T07:16:52.475Z","dependency_job_id":null,"html_url":"https://github.com/intelsdi-x/snap","commit_stats":null,"previous_names":["intelsdilabs/pulse","intelsdi-x/pulse"],"tags_count":20,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/intelsdi-x%2Fsnap","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/intelsdi-x%2Fsnap/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/intelsdi-x%2Fsnap/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/intelsdi-x%2Fsnap/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/intelsdi-x","download_url":"https://codeload.github.com/intelsdi-x/snap/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":234563123,"owners_count":18853056,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-01T12:01:44.177Z","updated_at":"2025-09-28T21:30:22.799Z","avatar_url":"https://github.com/intelsdi-x.png","language":"Go","funding_links":[],"categories":["软件包","Go","Software Packages","Go 工具","others","軟件包","Other Software","Go Tools"],"sub_categories":["其他软件","Other Software","其他软件库和软件包","其他軟件"],"readme":"DISCONTINUATION OF PROJECT. \n\nThis project will no longer be maintained by Intel.\n\nThis project has been identified as having known security escapes.\n\nIntel has ceased development and contributions including, but not limited to, maintenance, bug fixes, new releases, or updates, to this project.  \n\nIntel no longer accepts patches to this project.\n\u003c!--\nhttp://www.apache.org/licenses/LICENSE-2.0.txt\n\n\nCopyright 2015 Intel Corporation\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n    http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n--\u003e\n\n# DISCONTINUATION OF PROJECT \n\n**This project will no longer be maintained by Intel.  Intel will not provide or guarantee development of or support for this project, including but not limited to, maintenance, bug fixes, new releases or updates.  Patches to this project are no longer accepted by Intel. If you have an ongoing need to use this project, are interested in independently developing it, or would like to maintain patches for the community, please create your own fork of the project.**\n\n# **The Snap Telemetry Framework** [![Build Status](https://travis-ci.org/intelsdi-x/snap.svg?branch=master)](https://travis-ci.org/intelsdi-x/snap) [![Go Report Card](https://goreportcard.com/badge/intelsdi-x/snap)](https://goreportcard.com/report/intelsdi-x/snap)  [![Join the chat on Slack](https://intelsdi-x.herokuapp.com/badge.svg)](https://intelsdi-x.herokuapp.com/)\n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"https://cloud.githubusercontent.com/assets/1744971/20331694/e07e9148-ab5b-11e6-856a-e4e956540077.png\" width=\"70%\"\u003e\n\u003c/p\u003e\n\n**Snap** is an open telemetry framework designed to simplify the collection, processing and publishing of system data through a single API. The goals of this project are to:\n\n* Empower systems to expose a consistent set of telemetry data\n* Simplify telemetry ingestion across ubiquitous storage systems\n* Allow flexible processing of telemetry data on agent (e.g. filtering and decoration)\n* Provide powerful clustered control of telemetry workflows across small or large clusters\n\n----\n\n1. [Overview](#overview)\n2. [Getting Started](#getting-started)\n   * [System Requirements](#system-requirements)\n   * [Installation](#installation)\n   * [Running Snap](#running-snap)\n   * [Load Plugins](#load-plugins)\n   * [Running Tasks](#running-tasks)\n   * [Building Tasks](#building-tasks)\n   * [Plugin Catalog](#plugin-catalog)\n3. [Documentation](#documentation)\n   * [Examples](#examples)\n4. [Community Support](#community-support)\n5. [Contributing](#contributing)\n   * [Author a Plugin](#author-a-plugin)\n   * [Become a Maintainer](#become-a-maintainer)\n6. [Code of Conduct](#code-of-conduct)\n7. [Security Disclosure](#security-disclosure)\n8. [License](#license)\n10. [Thank You](#thank-you)\n\n## Overview\n\n**The Snap Telemetry Framework** is a project made up of multiple parts:\n\n* A hardened, extensively tested daemon, `snapteld`, and CLI, `snaptel` (in this repo)\n* A growing number of maturing `plugins` (found in the [Plugin Catalog](#plugin-catalog))\n* Lots of example `tasks` to gather and publish metrics (found in the [Examples folder](examples/))\n\nThese and other terminology are explained in the [glossary](docs/GLOSSARY.md).\n\n![workflow-collect-process-publish](https://cloud.githubusercontent.com/assets/1744971/14644683/be49a6b6-0607-11e6-8621-14f7b54e2192.png)\n\nThe key features of Snap are:\n\n* **Plugin Architecture**: Snap has a simple and smart modular design. The four types of plugins (collectors, processors, publishers and streaming collectors) allow Snap to mix and match functionality based on user need. All plugins are designed with versioning, signing and deployment at scale in mind. The **open plugin model** allows for loading built-in, community, or proprietary plugins into Snap.\n  * **Collectors** - Collectors gather telemetry data at determined interval. Collectors are plugins for leveraging existing telemetry solutions (Facter, CollectD, Ohai) as well as specific plugins for consuming Intel telemetry (Node, DCM, NIC, Disk) and can reach into new architectures through additional plugins (see [Plugin Authoring below](#author-a-plugin)). Telemetry data is organized into a dynamically generated catalog of available data points.\n  * **Processors** - Extensible workflow injection. Convert telemetry into another data model for consumption by existing systems. Allows encryption of all or part of the telemetry payload before publishing. Inject remote queries into workflow for tokens, filtering, or other external calls. Implement filtering at an agent level reducing injection load on telemetry consumer.\n  * **Publishers** - Store telemetry into a wide array of systems. Snap decouples the collection of telemetry from the implementation of where to send it. Snap comes with a large library of publisher plugins that allow exposure to telemetry analytics systems both custom and common. This flexibility allows Snap to be valuable to open source and commercial ecosystems alike by writing a publisher for their architectures.\n  * **Streaming Collectors** - Streaming collectors act just like collectors, but there is no determined interval of gathering metrics. They send metrics immediately when they are available over a GRPC to Snap daemon. There is also available mechanism of buffering incoming metrics configurable by params MaxMetricsBuffer and MaxCollectDuration. Check out [STREAMING.md](/docs/STREAMING.md) for more details. \n\n* **Dynamic Updates**: Snap is designed to evolve. Each scheduled workflow automatically uses the most mature plugin for that step, unless the collection is pinned to a specific version (e.g. get `/intel/psutil/load/load1/v1`). Loading a new plugin automatically upgrades running workflows in tasks. Load plugins dynamically, without a restart to the service or server. This dynamically extends the metric catalog when loaded, giving access to new measurements immediately. Swapping a newer version plugin for an old one in a safe transaction. All of these behaviors allow for simple and secure bug fixes, security patching, and improving accuracy in production.\n\n* **Snap tribe**: Snap is designed for ease of administration. With Snap tribe, nodes work in groups (aka tribes). Requests are made through agreement- or task-based node groups, designed as a scalable gossip-based node-to-node communication process. Administrators can control all Snap nodes in a tribe agreement by messaging just one of them. There is auto-discovery of new nodes and import of tasks and plugins from nodes within a given tribe. It is cluster configuration management made simple.\n\n**Snap** is not intended to:\n\n* Operate as an analytics platform: the intention is to allow plugins for feeding those platforms\n* Compete with existing metric/monitoring/telemetry agents: Snap is simply a new option to use or reference\n\n## Getting Started\n\n### System Requirements\n\nSnap needs [Swagger for Go](https://github.com/go-swagger/go-swagger)  installed to update OpenAPI specification file after successful build. Swagger will be installed automatically during build process (`make` or `make deps`).\n\n#### To install Swagger manually\n\nUsing `go get` (recommended):\n```sh\ngo get -u github.com/go-swagger/go-swagger/cmd/swagger\n```\n\nFrom Debian package:\n```sh\necho \"deb https://dl.bintray.com/go-swagger/goswagger-debian ubuntu main\" | sudo tee -a /etc/apt/sources.list\nsudo apt-get update\nsudo apt-get install swagger\n```\n\nFrom GitHub release:\n```sh\ncurl -LO https://github.com/go-swagger/go-swagger/releases/download/0.10.0/swagger_linux_amd64\nchmod +x swagger_linux_amd64 \u0026\u0026 sudo mv swagger_linux_amd64 /usr/bin/swagger\n```\n\nSnap does not have external dependencies since it is compiled into a statically linked binary. At this time, we build Snap binaries for Linux and MacOS. We also provide Linux RPM/Deb packages and MacOS X .pkg installer.\n\n### Installation\n\nYou can obtain Linux RPM/Deb packages from [Snap's packagecloud.io repository](https://packagecloud.io/intelsdi-x/snap). After installation, please check and ensure `/usr/local/bin:/usr/local/sbin` is in your path via `echo $PATH` before executing any Snap commands.\n\nRedHat 6/7:\n```\n$ curl -s https://packagecloud.io/install/repositories/intelsdi-x/snap/script.rpm.sh | sudo bash\n$ sudo yum install -y snap-telemetry\n```\n\nUbuntu 14.04/16.04 (see known issue with Ubuntu 16.04.1 below)\n```\n$ curl -s https://packagecloud.io/install/repositories/intelsdi-x/snap/script.deb.sh | sudo bash\n$ sudo apt-get install -y snap-telemetry\n```\n\nWe only build and test packages for a limited set of Linux distributions. For distros that are compatible with RedHat/Ubuntu packages, you can use the environment variable `os=` and `dist=` to override the OS detection script. For example Linux Mint 17/17.* (use `dist=xenial` for Linux Mint 18/18.*):\n```\n$ curl -s https://packagecloud.io/install/repositories/intelsdi-x/snap/script.deb.sh | sudo os=ubuntu dist=trusty bash\n$ sudo apt-get install -y snap-telemetry\n```\n\nMacOS X:\n\nIf you use homebrew, the latest version of Snap package: [![snap-telemetry](https://img.shields.io/homebrew/v/snap-telemetry.svg)](http://brew.sh/)\n```\n$ brew install snap-telemetry\n```\n\nIf you do not use homebrew, download and install Mac pkg package:\n```\n$ curl -sfL mac.pkg.dl.snap-telemetry.io -o snap-telemetry.pkg\n$ sudo installer -pkg ./snap-telemetry.pkg -target /\n```\n\nTarball (choose the appropriate version and platform):\n```\n$ curl -sfL linux.tar.dl.snap-telemetry.io -o snap-telemetry.tar.gz\n$ tar xf snap-telemetry.tar.gz\n$ cp snapteld /usr/local/sbin\n$ cp snaptel /usr/local/bin\n```\n\nThe intelsdi-x package repo contains additional information regarding:\n\n* [Snap Redhat/Ubuntu packages](https://packagecloud.io/intelsdi-x/snap)\n* [Snap `.tar.gz` bundles and MacOS `.pkg` installer](https://github.com/intelsdi-x/snap/releases).\n* [installation script](https://packagecloud.io/intelsdi-x/snap/install#bash)\n* [manual installation steps](https://packagecloud.io/intelsdi-x/snap/install#manual)\n* [repo mirroring](https://packagecloud.io/intelsdi-x/snap/mirror)\n\nNOTE: snap-telemetry packages prior to 0.19.0 installed `/usr/local/bin/{snapctl|snapd}` and these binaries have been renamed to `snaptel` and `snapteld`. snap-telemetry packages prior to 0.18.0 symlinked `/usr/bin/{snapctl|snapd}` to `/opt/snap/bin/{snapctl|snapd}` and may cause conflicts with [Ubuntu's `snapd` package](http://packages.ubuntu.com/xenial-updates/snapd). Ubuntu 16.04.1 [snapd package version 2.13+](https://launchpad.net/ubuntu/+source/snapd) installs snapd/snapctl binary in /usr/bin. These executables are not related to snap-telemetry. Running `snapctl` from snapd package will result in the following error message:\n\n```\n$ snapctl\nerror: snapctl requires SNAP_CONTEXT environment variable\n```\n\nNOTE: If you prefer to build from source, follow the steps in the [build documentation](docs/BUILD_AND_TEST.md). The _alpha_ binaries containing the latest master branch are available here for bleeding edge testing purposes:\n* snapteld: [linux](http://snap.ci.snap-telemetry.io/snap/latest_build/linux/x86_64/snapteld) | [darwin](http://snap.ci.snap-telemetry.io/snap/latest_build/darwin/x86_64/snapteld)\n* snaptel: [linux](http://snap.ci.snap-telemetry.io/snap/latest_build/linux/x86_64/snaptel) | [darwin](http://snap.ci.snap-telemetry.io/snap/latest_build/darwin/x86_64/snaptel)\n\n### Running Snap\n\nIf you installed Snap from RPM/Deb package, you can start/stop Snap daemon as a service:\n\nRedHat 6/Ubuntu 14.04:\n```\n$ service snap-telemetry start\n```\n\nRedHat 7/Ubuntu 16.04:\n```\n$ systemctl start snap-telemetry\n```\n\nIf you installed Snap from binary, you can start Snap daemon via the command:\n```\n$ sudo mkdir -p /var/log/snap\n$ sudo snapteld --plugin-trust 0 --log-level 1 --log-path /var/log/snap \u0026\n```\n\nTo view the service logs:\n```\n$ tail -f /var/log/snap/snapteld.log\n```\n\nBy default, Snap daemon will be running in standalone mode and listening on port 8181. To enable gossip mode, checkout the [tribe documentation](docs/TRIBE.md). For additional configuration options such as plugin signing and port configuration see [snapteld documentation](docs/SNAPTELD.md).\n\n### Load Plugins\n\nSnap gets its power from the use of plugins. The [plugin catalog](#plugin-catalog) contains a collection of all known Snap plugins with links to their repo and release pages.\n\nFirst, let's download the file and psutil plugins (also make sure [psutil is installed](https://github.com/giampaolo/psutil/blob/master/INSTALL.rst)):\n\n```\n$ export OS=$(uname -s | tr '[:upper:]' '[:lower:]')\n$ export ARCH=$(uname -m)\n$ curl -sfL \"https://github.com/intelsdi-x/snap-plugin-publisher-file/releases/download/2/snap-plugin-publisher-file_${OS}_${ARCH}\" -o snap-plugin-publisher-file\n$ curl -sfL \"https://github.com/intelsdi-x/snap-plugin-collector-psutil/releases/download/8/snap-plugin-collector-psutil_${OS}_${ARCH}\" -o snap-plugin-collector-psutil\n```\n\nNext load the plugins into Snap daemon using `snaptel`:\n```\n$ snaptel plugin load snap-plugin-publisher-file\nPlugin loaded\nName: file\nVersion: 2\nType: publisher\nSigned: false\nLoaded Time: Fri, 14 Oct 2016 10:53:59 PDT\n\n$ snaptel plugin load snap-plugin-collector-psutil\nPlugin loaded\nName: psutil\nVersion: 8\nType: collector\nSigned: false\nLoaded Time: Fri, 14 Oct 2016 10:54:07 PDT\n```\n\nVerify plugins are loaded:\n```\n$ snaptel plugin list\nNAME      VERSION    TYPE         SIGNED     STATUS    LOADED TIME\nfile      2          publisher    false      loaded    Fri, 14 Oct 2016 10:55:20 PDT\npsutil    8          collector    false      loaded    Fri, 14 Oct 2016 10:55:29 PDT\n```\n\nSee which metrics are available:\n```\n$ snaptel metric list\nNAMESPACE                                VERSIONS\n/intel/psutil/cpu/cpu-total/guest        8\n/intel/psutil/cpu/cpu-total/guest_nice   8\n/intel/psutil/cpu/cpu-total/idle         8\n/intel/psutil/cpu/cpu-total/iowait       8\n/intel/psutil/cpu/cpu-total/irq          8\n/intel/psutil/cpu/cpu-total/nice         8\n/intel/psutil/cpu/cpu-total/softirq      8\n/intel/psutil/cpu/cpu-total/steal        8\n/intel/psutil/cpu/cpu-total/stolen       8\n/intel/psutil/cpu/cpu-total/system       8\n/intel/psutil/cpu/cpu-total/user         8\n/intel/psutil/load/load1                 8\n/intel/psutil/load/load15                8\n/intel/psutil/load/load5                 8\n...\n```\n\n### Running Tasks\n\nTo collect data, you need to create a task by loading a `Task Manifest`. The Task Manifest contains a specification for what interval a set of metrics are gathered, how the data is transformed, and where the information is published. For more information see [task](docs/TASKS.md) documentation.\n\nNow, download and load the [psutil example](examples/tasks/psutil-file.yaml):\n```\n$ curl https://raw.githubusercontent.com/intelsdi-x/snap/master/examples/tasks/psutil-file.yaml -o /tmp/psutil-file.yaml\n$ snaptel task create -t /tmp/psutil-file.yaml\nUsing task manifest to create task\nTask created\nID: 8b9babad-b3bc-4a16-9e06-1f35664a7679\nName: Task-8b9babad-b3bc-4a16-9e06-1f35664a7679\nState: Running\n```\n\nNOTE: In subsequent commands use the task ID from your CLI output in place of the `\u003ctask_id\u003e`.\n\nThis starts a task collecting metrics via psutil, then publishes the data to a file. To see the data published to the file (CTRL+C to exit):\n```\n$ tail -f /tmp/psutil_metrics.log\n```\n\nOr directly tap into the data stream that Snap is collecting using `snaptel task watch \u003ctask_id\u003e`:\n```\n$ snaptel task watch 8b9babad-b3bc-4a16-9e06-1f35664a7679\nNAMESPACE                             DATA             TIMESTAMP\n/intel/psutil/cpu/cpu-total/idle      451176.5         2016-10-14 11:01:44.666137773 -0700 PDT\n/intel/psutil/cpu/cpu-total/system    33749.2734375    2016-10-14 11:01:44.666139698 -0700 PDT\n/intel/psutil/cpu/cpu-total/user      65653.2578125    2016-10-14 11:01:44.666145594 -0700 PDT\n/intel/psutil/load/load1              1.81             2016-10-14 11:01:44.666072208 -0700 PDT\n/intel/psutil/load/load15             2.62             2016-10-14 11:01:44.666074302 -0700 PDT\n/intel/psutil/load/load5              2.38             2016-10-14 11:01:44.666074098 -0700 PDT\n```\n\nNice work - you're all done with this example. Depending on how you started `snap-telemetry` service earlier, use the appropriate command to stop the daemon:\n\n* init.d service: `service snap-telemetry stop`\n* systemd service: `systemctl stop snap-telemetry`\n* ran `snapteld` manually: `sudo pkill snapteld`\n\nWhen you're ready to move on, walk through other uses of Snap available in the [Examples folder](examples/).\n\n### Building Tasks\nDocumentation for building a task can be found [here](docs/TASKS.md).\n\n### Plugin Catalog\nAll known plugins are tracked in the [plugin catalog](https://github.com/intelsdi-x/snap/blob/master/docs/PLUGIN_CATALOG.md) and are tagged as collectors, processors, publishers and streaming collectors.\n\nIf you would like to write your own, read through [Author a Plugin](#author-a-plugin) to get started. Let us know if you begin to write one by [joining our Slack channel](https://intelsdi-x.herokuapp.com/). When you finish, please open a Pull Request to add yours to the catalog!\n\n## Documentation\nDocumentation for Snap will be kept in this repository for now with an emphasis of filling out the `docs/` directory. We would also like to link to external how-to blog posts as people write them. [Read about contributing to the project](#contributing) for more details.\n\n* [snapteld (Snap agent)](docs/SNAPTELD.md)\n* [configuring snapteld](docs/SNAPTELD_CONFIGURATION.md)\n* [snaptel (Snap CLI)](docs/SNAPTEL.md)\n* [build and test](docs/BUILD_AND_TEST.md)\n* [REST API V1](docs/REST_API_V1.md)\n* [tasks](docs/TASKS.md)\n* [plugin life cycle](docs/PLUGIN_LIFECYCLE.md)\n* [plugin signing](docs/PLUGIN_SIGNING.md)\n* [tribe](docs/TRIBE.md)\n* [secure plugin communication](docs/SECURE_PLUGIN_COMMUNICATION.md)\n\nTo learn more about Snap and how others are using it, check out our [blog](https://medium.com/intel-sdi). A good first post to read is [My How-to for the Snap Telemetry Framework](https://medium.com/intel-sdi/my-how-to-for-the-snap-telemetry-framework-e3bb641bc740#.6f5nk543t) by @mjbrender.\n\n### Examples\nMore complex examples of using Snap Framework configuration, Task Manifest files and use cases are available under the [Examples folder](examples/README.md). There are also interesting examples of using Snap in every plugin repository. For the full list of plugins, review the [Plugin Catalog](docs/PLUGIN_CATALOG.md).\n\n## Community Support\nThis repository is one of many in the Snap framework and [has maintainers supporting it](docs/MAINTAINERS.md). We love contributions from our community along the way. No improvement is too small.\n\nThis note is especially important for plugins. While the Snap framework is hardened through tons of use, **plugins mature at their own pace**. If you have subject matter expertise related to a plugin, please share your feedback on that repository.\n\n## Contributing\nWe encourage contributions from the community. Snap needs:\n\n* _Contributors_: We always appreciate more eyes on the core framework and plugins\n* _Feedback_: try it and tell us about it on [our Slack team](https://intelsdi-x.herokuapp.com/), through [a blog posts](https://medium.com/intel-sdi/) or Twitter with #SnapTelemetry\n* _Integrations_: Snap can collect from and publish to almost anything by [authoring a plugin](#author-a-plugin)\n\nTo contribute to the Snap framework, see our [CONTRIBUTING.md](CONTRIBUTING.md) file. To give back to a specific plugin, open an issue on its repository. Snap maintainers aim to address comments and questions as quickly as possible. To get some attention on an issue, reach out to us [on Slack](http://slack.snap-telemetry.io), or open an issue to get a conversation started.\n\n\n### Author a Plugin\nThe power of Snap comes from its open architecture and its growing community of contributors. You can be one of them:\n\n* The definitive how-to is in [PLUGIN_AUTHORING.md](docs/PLUGIN_AUTHORING.md)\n\nAdd to the ecosystem by building your own plugins to collect, process or publish telemetry.\n\n### Become a Maintainer\nSnap maintainers are here to help guide Snap, the plugins, and the community forward in a positive direction. Maintainers of Snap and the Intel created plugins are selected based on contributions to the project and recommendations from other maintainers. The full list of active maintainers can be found [here](docs/MAINTAINERS.md).\n\nInterested in becoming a maintainer? Check out [Responsibilities of a Maintainer](docs/MAINTAINERS.md#responsibilities-of-maintainers) and open an issue [here](https://github.com/intelsdi-x/snap/issues/new?title=interested+in+becoming+a+maintainer\u0026body=About+me) to discuss your interest.\n\n## Code of Conduct\nAll contributors to Snap are expected to be helpful and encouraging to all members of the community, treating everyone with a high level of professionalism and respect. See our [code of conduct](CODE_OF_CONDUCT.md) for more details.\n\n## Security Disclosure\n\nThe Snap team takes security very seriously. If you have any issue regarding security, please notify us by sending an email to sys_snaptel-security@intel.com\nand not by creating a GitHub issue. We will follow up with you promptly with more information and a plan for remediation.\n\n## License\nSnap is Open Source software released under the [Apache 2.0 License](LICENSE).\n\n## Thank You\nAnd **thank you!** Your contribution, through code and participation, is incredibly important to us.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fintelsdi-x%2Fsnap","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fintelsdi-x%2Fsnap","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fintelsdi-x%2Fsnap/lists"}