From 5e15e26a3b6b423ab370af8fd3b17a3a0805ad27 Mon Sep 17 00:00:00 2001 From: Massimiliano Pippi Date: Wed, 3 Jan 2018 14:15:06 +0100 Subject: [PATCH 01/25] More docs and different layout (#994) * [ci skip] reordering docs * fixed dead link * [ci skip] addressed PR comments * [ci skip] addressed PR comments --- docs/README.md | 23 ++++++--------- docs/agent/README.md | 39 ++++++++++++++++++++++++++ docs/{beta => agent}/changes.md | 30 +++----------------- docs/{beta => agent}/config.md | 0 docs/{beta => agent}/downgrade.md | 0 docs/agent/gui.md | 30 ++++++++++++++++++++ docs/agent/missing_features.md | 9 ++++++ docs/{beta => agent}/upgrade.md | 0 docs/{beta/known_issues.md => beta.md} | 28 ++++++++++++++++-- docs/beta/README.md | 31 -------------------- docs/dev/README.md | 16 +++++++++-- docs/dev/agent_api.md | 14 ++++++--- docs/dev/checks/python/README.md | 7 +++++ docs/dev/checks/python/check_api.md | 2 +- docs/dogstatsd/README.md | 3 ++ 15 files changed, 150 insertions(+), 82 deletions(-) rename docs/{beta => agent}/changes.md (90%) rename docs/{beta => agent}/config.md (100%) rename docs/{beta => agent}/downgrade.md (100%) create mode 100644 docs/agent/gui.md create mode 100644 docs/agent/missing_features.md rename docs/{beta => agent}/upgrade.md (100%) rename docs/{beta/known_issues.md => beta.md} (83%) delete mode 100644 docs/beta/README.md create mode 100644 docs/dev/checks/python/README.md create mode 100644 docs/dogstatsd/README.md diff --git a/docs/README.md b/docs/README.md index 6c73817b17f35..26f1f0e6754f9 100644 --- a/docs/README.md +++ b/docs/README.md @@ -2,18 +2,11 @@ This directory contains docs, guides and resources to better use this repo. -## Informations regarding the BETA - -**Important:** [This section][beta] of the docs will be updated regularly to -reflect the current state of the Beta. - -## Developer Guide - -New users and contributors are encouraged to build the Datadog Agent themselves -and should start reading the [Developer Guide][developer-guide]. The guide also -contains a detailed explanation of how [Checks work][checks]. - - -[developer-guide]: dev/README.md -[checks]: dev/checks/README.md -[beta]: beta/README.md +## TOC + + * [Datadog Agent](agent/README.md) user documentation. + * [Agent BETA](beta.md): important informations regarding the Agent BETA. + * [Developer Guide](dev/README.md): new users and contributors are encouraged + to build the Datadog Agent themselves and should start reading this guide. + * [DogStatsD](dogstatsd/README.md) user documentation. + * [Proposals](proposals/README.md): design docs and proposals. diff --git a/docs/agent/README.md b/docs/agent/README.md index e69de29bb2d1d..38b322f017000 100644 --- a/docs/agent/README.md +++ b/docs/agent/README.md @@ -0,0 +1,39 @@ +# Datadog Agent + +**Important**: the new Agent is currently in Beta, we recommend to check out [this +document](../beta.md) before starting using it. + +## TOC + + * [Changes][changes] + * [Configuration options][config] + * [Downgrade][downgrade] + * [GUI](gui.md) + * [Missing features][missing-features] + * [Upgrade][upgrade] + +## What is Agent 6? + +Agent 6 is the latest major version of the Datadog Agent. The big difference +between Agent 5 and Agent 6 is that Agent 6 is a complete rewrite of the core +Agent in Golang. Don’t worry! We still support Python checks. + +## Installation and management + +To install the Agent you can either [upgrade][upgrade] from an older version, or start +fresh with a new installation - in this case, please refer to the [official +documentation](https://docs.datadoghq.com/agent/). If you want to go back to +version 5.x, please follow the instructions about [how to downgrade][downgrade]. + +There are a number of differences between the old major version of the Agent and +the new one - to see what changed, please refer to [this document][changes]. The +way you can configure the Agent changed too, please read [this document][config] +where all the new options are detailed. The latest Agent won't have feature parity +with the previous one at first, you can see the list of what's missing [here][missing-features]. + + +[changes]: changes.md +[config]: config.md +[downgrade]: downgrade.md +[missing-features]: missing_features.md +[upgrade]: upgrade.md diff --git a/docs/beta/changes.md b/docs/agent/changes.md similarity index 90% rename from docs/beta/changes.md rename to docs/agent/changes.md index c2772fab8513c..65356f093f06c 100644 --- a/docs/beta/changes.md +++ b/docs/agent/changes.md @@ -3,6 +3,7 @@ Datadog Agent 6 contains a large number of changes. While we attempted to make it a drop in replacement, there were a small number of deprecations or changes in behavior which will be listed in this document. +For a list of features that haven't been ported, see [this doc](missing_features.md). Note: If you see anything that's incorrect about this document (and that's not covered by the [known_issues.md][known-issues] document), do not hesitate to @@ -17,8 +18,6 @@ open an issue or submit a Pull Request. * [Python Modules](#python-modules) * [Kubernetes support](#kubernetes-support) * [JMX](#jmx) -* [Dogstream](#dogstream) -* [Custom Emitters](#custom-emitters) * [GUI](#gui) ## Configuration Files @@ -283,37 +282,16 @@ The `kube_service` tagging depends on the `Datadog Cluster Agent`, which is not ## JMX -The Agent 6 ships JMXFetch and supports all of its features (except those that are listed in the [known_issues.md][known-issues] document). +The Agent 6 ships JMXFetch and supports all of its features, except those that +are listed in the _Known Issues_ section of the [beta docs](../beta.md). The Agent 6 does not ship the `jmxterm` JAR. If you wish to download and use `jmxterm`, please refer to the [upstream project](https://github.com/jiaqi/jmxterm). -## Dogstream - -Dogstream is not available at the moment. We're working to bring a [full featured logging solution][sheepdog] into Datadog soon. - -## Custom Emitters - -Custom Emitters are not available anymore. - ## GUI -Agent 6 deprecated Agent5's Windows Agent Manager GUI, replacing it with a browser-based, cross-platform one. - -#### Using the GUI -The port which the GUI runs on can be configured in your `datadog.yaml` file. Setting the port to -1 disables the GUI all together. By default it is enabled on port `5002` on Windows and Mac, and is disabled on Linux. - -Once the Agent is running, use the `datadog-agent launch-gui` command to launch the GUI within your default web browser. - - -#### Requirements -1. Cookies must be enabled in your browser. The GUI generates and saves a token in your browser which is used for authenticating all communications with the GUI server. - -2. The GUI will only be launched if the user launching it has the correct user permissions: if you are able to open `datadog.yaml`, you are able to use the GUI. +Agent 6 deprecated Agent5's Windows Agent Manager GUI, replacing it with a browser-based, cross-platform one. See the [specific docs](gui.md) for more details. -3. For security reasons, the GUI can **only** be accessed from the local network interface (```localhost```/```127.0.0.1```), so you must be on the same host that the agent is running to use it. In other words, you can't run the agent on a VM and access it from the host machine. -#### In development -- The 'Restart Agent' feature is not yet implemented for non-windows platforms [known-issues]: known_issues.md diff --git a/docs/beta/config.md b/docs/agent/config.md similarity index 100% rename from docs/beta/config.md rename to docs/agent/config.md diff --git a/docs/beta/downgrade.md b/docs/agent/downgrade.md similarity index 100% rename from docs/beta/downgrade.md rename to docs/agent/downgrade.md diff --git a/docs/agent/gui.md b/docs/agent/gui.md new file mode 100644 index 0000000000000..685c66608435f --- /dev/null +++ b/docs/agent/gui.md @@ -0,0 +1,30 @@ +# Graphical User Interface + +Agent 6 deprecated Agent5's Windows Agent Manager GUI, replacing it with a +browser-based, cross-platform one. + +## Using the GUI + +The port which the GUI runs on can be configured in your `datadog.yaml` file. +Setting the port to -1 disables the GUI all together. By default it is enabled +on port `5002` on Windows and Mac, and is disabled on Linux. + +Once the Agent is running, use the `datadog-agent launch-gui` command to launch +the GUI within your default web browser. + +## Requirements + +1. Cookies must be enabled in your browser. The GUI generates and saves a token +in your browser which is used for authenticating all communications with the GUI +server. + +2. The GUI will only be launched if the user launching it has the correct user +permissions: if you are able to open `datadog.yaml`, you are able to use the GUI. + +3. For security reasons, the GUI can **only** be accessed from the local network +interface (```localhost```/```127.0.0.1```), so you must be on the same host that +the agent is running to use it. In other words, you can't run the agent on a VM +or a container and access it from the host machine. + +## In development +- The 'Restart Agent' feature is not yet implemented for non-windows platforms diff --git a/docs/agent/missing_features.md b/docs/agent/missing_features.md new file mode 100644 index 0000000000000..f6f4c6ec547ab --- /dev/null +++ b/docs/agent/missing_features.md @@ -0,0 +1,9 @@ +# Missing features + +This is a list of features present in 5.x that are currently **not available** in +the 6.x release line: + + * [Using the Agent as a Proxy](https://docs.datadoghq.com/agent/proxy/#using-the-agent-as-a-proxy) + * [Custom emitters](https://github.com/DataDog/dd-agent/wiki/Using-custom-emitters) + * [Dogstream](https://docs.datadoghq.com/agent/logs/) + * Graphite support diff --git a/docs/beta/upgrade.md b/docs/agent/upgrade.md similarity index 100% rename from docs/beta/upgrade.md rename to docs/agent/upgrade.md diff --git a/docs/beta/known_issues.md b/docs/beta.md similarity index 83% rename from docs/beta/known_issues.md rename to docs/beta.md index 5940491c90bd9..e2c6cf20d39b2 100644 --- a/docs/beta/known_issues.md +++ b/docs/beta.md @@ -1,8 +1,27 @@ -# Known Issues +# Datadog Agent 6 Beta + +## Anything important to know before joining the beta? -There are some issues with the Beta Agent. We apologize for this, but it is a beta. +To see if anything you rely upon is currently available in the new major release, +please look at the [changes and deprecations document][changes]. There are a number +of issues with the Beta version we're aware of, we apologize for this, but it is a beta. This document will be updated as these issues are resolved. +## How do I join the beta? + +The beta is open for everyone! Take a look at the document about how to +[install the agent][upgrade] and you'll be ready to go. + +## That was cool, but I need to go back to `stable` + +We've tried to keep it easy and straight-forward to downgrade back to +agent 5 until things are more mature for you on agent 6. + +Please check out our [downgrade guide][downgrade] for instructions on +how to get back on the `stable` agent 5 repo. + +# Known Issues + ## Checks Even if the new Agent fully supports Python checks, a number of those provided @@ -129,3 +148,8 @@ Beta is currently available on these platforms: Next on the pipeline but still unavailable: * Windows 64-bit + + +[changes]: agent/changes.md +[upgrade]: agent/upgrade.md +[downgrade]: agent/downgrade.md diff --git a/docs/beta/README.md b/docs/beta/README.md deleted file mode 100644 index 0f5e4c3d6817b..0000000000000 --- a/docs/beta/README.md +++ /dev/null @@ -1,31 +0,0 @@ -# Datadog Agent 6 Beta - -## What is Agent 6? - -Agent 6 is the latest major version of the Datadog Agent. The big difference -between Agent 5 and Agent 6 is that Agent 6 is a complete rewrite of the core -Agent in Golang. Don’t worry! We still support Python checks. - -## Anything important to know before joining the beta? - -You should look at the [changes and deprecations document][changes] and the -[known issues document][known-issues], to see if anything you rely upon is listed -in there. - -## How do I join the beta? - -The beta is open for everyone! Take a look at the document about how to -[install the agent][upgrade] and you'll be ready to go. - -## That was cool, but I need to go back to `stable` - -We've tried to keep it easy and straight-forward to downgrade back to -agent 5 until things are more mature for you on agent 6. - -Please check out our [downgrade guide][downgrade] for instructions on -how to get back on the `stable` agent 5 repo. - -[changes]: changes.md -[known-issues]: known_issues.md -[upgrade]: upgrade.md -[downgrade]: downgrade.md diff --git a/docs/dev/README.md b/docs/dev/README.md index c074b9e2b6480..c0cb046ea65ca 100644 --- a/docs/dev/README.md +++ b/docs/dev/README.md @@ -2,6 +2,19 @@ This guide will help you to develop and contribute code to the project. +## TOC + + * [Checks developer guide](checks/README.md) + * [Python checks](checks/python/README.md) + * [Agent IPC API](agent_api.md) + * [How to Build the Agent](agent_build.md) + * [Agent development environment][dev-env] + * [Omnibus build guide][agent-omnibus] + * [Testing guide][testing] + * [Contributing][contributing] + * [Legal][legal] + * [Tools](tools.md) to troubleshoot a running Agent + ## How to contribute * [Sign the CLA][legal]. @@ -10,9 +23,6 @@ This guide will help you to develop and contribute code to the project. * Learn about [testing][testing]. * [Build][agent-omnibus] your own packages. -## Resources - - * Useful [tools][tools] to troubleshoot a running Agent. [legal]: legal.md [dev-env]: agent_dev_env.md diff --git a/docs/dev/agent_api.md b/docs/dev/agent_api.md index f20bc86502481..8221b784c19e9 100644 --- a/docs/dev/agent_api.md +++ b/docs/dev/agent_api.md @@ -1,10 +1,16 @@ # IPC (Inter Process Communication) API The agent communicates with the outside world through an HTTP API to ease the -development of 3rd party tools and interfaces. Since HTTP is transported over -a [Unix Socket](https://en.wikipedia.org/wiki/Unix_domain_socket) on *nix platforms -and [Named Pipes](https://msdn.microsoft.com/en-us/library/windows/desktop/aa365590.aspx) -on Windows, authorization is delegated to the filesystem. +development of 3rd party tools and interfaces. By default, the API is available +at TCP port `5001` on `localhost` but can be configured differently. + +## Security and Authentication + +To avoid unprivileged users to access the API, authentication is required. + +FIXME: new authentication system wasn't merged yet: https://github.com/DataDog/datadog-agent/pull/939 + +## Endpoints Endpoints implemented so far (this list should be killed in favor of [swagger](http://swagger.io/) at some point): diff --git a/docs/dev/checks/python/README.md b/docs/dev/checks/python/README.md new file mode 100644 index 0000000000000..b83975e3770fb --- /dev/null +++ b/docs/dev/checks/python/README.md @@ -0,0 +1,7 @@ +# Python support + +## TOC + + * [The `aggregator` module](aggregator.md) + * [Anatomy of a Python Check](check_api.md) + * [The `datadog_agent` module](datadog_agent.md) diff --git a/docs/dev/checks/python/check_api.md b/docs/dev/checks/python/check_api.md index 4428dcabf9e2c..c696b1d23c403 100644 --- a/docs/dev/checks/python/check_api.md +++ b/docs/dev/checks/python/check_api.md @@ -1,4 +1,4 @@ -# Anatomy of a Check +# Anatomy of a Python Check An Agent Check is a Python class that inherits from `AgentCheck` and implements the `check` method: diff --git a/docs/dogstatsd/README.md b/docs/dogstatsd/README.md new file mode 100644 index 0000000000000..3503a728c44fe --- /dev/null +++ b/docs/dogstatsd/README.md @@ -0,0 +1,3 @@ +# DogStatsD + +TODO From 10e4e5353a268ce40b75070f9364cfa7f62cf12c Mon Sep 17 00:00:00 2001 From: Xavier Vello Date: Wed, 3 Jan 2018 14:51:54 +0100 Subject: [PATCH 02/25] remove resversion handling from podwatcher (#1003) Comparing resversions accross namespaces is not supported (might be sharded), so we remove that logic. The new container logic is enough for our uses, as all users drop pods with no containers for now. We might need it back if we want tagger to collect `pod://` tags in the future --- pkg/util/kubernetes/kubelet/kubelet_test.go | 6 +-- pkg/util/kubernetes/kubelet/podwatcher.go | 49 ++++--------------- .../kubernetes/kubelet/podwatcher_test.go | 31 +++++------- .../{test => testdata}/podlist_1.6.json | 0 4 files changed, 24 insertions(+), 62 deletions(-) rename pkg/util/kubernetes/kubelet/{test => testdata}/podlist_1.6.json (100%) diff --git a/pkg/util/kubernetes/kubelet/kubelet_test.go b/pkg/util/kubernetes/kubelet/kubelet_test.go index 450488c55f989..4d5f79f7a5377 100644 --- a/pkg/util/kubernetes/kubelet/kubelet_test.go +++ b/pkg/util/kubernetes/kubelet/kubelet_test.go @@ -110,7 +110,7 @@ func (suite *KubeletTestSuite) TestLocateKubeletHTTP() { } func (suite *KubeletTestSuite) TestGetLocalPodList() { - kubelet, err := newDummyKubelet("./test/podlist_1.6.json") + kubelet, err := newDummyKubelet("./testdata/podlist_1.6.json") require.Nil(suite.T(), err) ts, kubeletPort, err := kubelet.Start() defer ts.Close() @@ -139,7 +139,7 @@ func (suite *KubeletTestSuite) TestGetLocalPodList() { } func (suite *KubeletTestSuite) TestGetNodeInfo() { - kubelet, err := newDummyKubelet("./test/podlist_1.6.json") + kubelet, err := newDummyKubelet("./testdata/podlist_1.6.json") require.Nil(suite.T(), err) ts, kubeletPort, err := kubelet.Start() defer ts.Close() @@ -168,7 +168,7 @@ func (suite *KubeletTestSuite) TestGetNodeInfo() { } func (suite *KubeletTestSuite) TestGetPodForContainerID() { - kubelet, err := newDummyKubelet("./test/podlist_1.6.json") + kubelet, err := newDummyKubelet("./testdata/podlist_1.6.json") require.Nil(suite.T(), err) ts, kubeletPort, err := kubelet.Start() defer ts.Close() diff --git a/pkg/util/kubernetes/kubelet/podwatcher.go b/pkg/util/kubernetes/kubelet/podwatcher.go index 6fe543d57928c..e103e6e435160 100644 --- a/pkg/util/kubernetes/kubelet/podwatcher.go +++ b/pkg/util/kubernetes/kubelet/podwatcher.go @@ -8,7 +8,6 @@ package kubelet import ( - "strconv" "sync" "time" @@ -19,10 +18,9 @@ import ( // It keeps an internal state to only send the updated pods. type PodWatcher struct { sync.Mutex - kubeUtil *KubeUtil - latestResVersion int - expiryDuration time.Duration - lastSeen map[string]time.Time + kubeUtil *KubeUtil + expiryDuration time.Duration + lastSeen map[string]time.Time } // NewPodWatcher creates a new watcher. User call must then trigger PullChanges @@ -33,10 +31,9 @@ func NewPodWatcher(expiryDuration time.Duration) (*PodWatcher, error) { return nil, err } watcher := &PodWatcher{ - kubeUtil: kubeutil, - latestResVersion: -1, - lastSeen: make(map[string]time.Time), - expiryDuration: expiryDuration, + kubeUtil: kubeutil, + lastSeen: make(map[string]time.Time), + expiryDuration: expiryDuration, } return watcher, nil } @@ -55,37 +52,12 @@ func (w *PodWatcher) PullChanges() ([]*Pod, error) { // computechanges is used by PullChanges, split for testing func (w *PodWatcher) computechanges(podlist []*Pod) ([]*Pod, error) { now := time.Now() - newResVersion := w.latestResVersion var updatedPods []*Pod w.Lock() defer w.Unlock() for _, pod := range podlist { - // Converting resVersion - var version int - if pod.Metadata.ResVersion == "" { - /* System pods don't have a ressource version, using - 0 to return them once. If they're restarted, we - will detect the new containers and send the pod - again anyway */ - version = 0 - } else { - var err error - version, err = strconv.Atoi(pod.Metadata.ResVersion) - if err != nil { - log.Warnf("can't parse resVersion %s for pod %s: %s", - pod.Metadata.ResVersion, pod.Metadata.Name, err) - } - } - // Detect new/updated pods - newPod := false - if version > w.latestResVersion { - newPod = true - if version > newResVersion { - newResVersion = version - } - } - // Detect new containers within existing pods + // Detect new containers newContainer := false for _, container := range pod.Status.Containers { if _, found := w.lastSeen[container.ID]; found == false { @@ -93,13 +65,12 @@ func (w *PodWatcher) computechanges(podlist []*Pod) ([]*Pod, error) { } w.lastSeen[container.ID] = now } - if newPod || newContainer { + if newContainer { updatedPods = append(updatedPods, pod) } } - log.Debugf("found %d changed pods out of %d, new resversion %d", - len(updatedPods), len(podlist), newResVersion) - w.latestResVersion = newResVersion + log.Debugf("found %d changed pods out of %d", + len(updatedPods), len(podlist)) return updatedPods, nil } diff --git a/pkg/util/kubernetes/kubelet/podwatcher_test.go b/pkg/util/kubernetes/kubelet/podwatcher_test.go index b8e7dfa285bf9..88c67a55f1a5a 100644 --- a/pkg/util/kubernetes/kubelet/podwatcher_test.go +++ b/pkg/util/kubernetes/kubelet/podwatcher_test.go @@ -9,7 +9,6 @@ package kubelet import ( "encoding/json" - "fmt" "io/ioutil" "testing" "time" @@ -29,7 +28,7 @@ func (suite *PodwatcherTestSuite) SetupTest() { } func (suite *PodwatcherTestSuite) TestPodWatcherComputeChanges() { - raw, err := ioutil.ReadFile("./test/podlist_1.6.json") + raw, err := ioutil.ReadFile("./testdata/podlist_1.6.json") require.Nil(suite.T(), err) var podlist PodList json.Unmarshal(raw, &podlist) @@ -40,14 +39,14 @@ func (suite *PodwatcherTestSuite) TestPodWatcherComputeChanges() { fourthPod := sourcePods[3:4] watcher := &PodWatcher{ - latestResVersion: -1, - lastSeen: make(map[string]time.Time), - expiryDuration: 5 * time.Minute, + lastSeen: make(map[string]time.Time), + expiryDuration: 5 * time.Minute, } changes, err := watcher.computechanges(threePods) require.Nil(suite.T(), err) - require.Len(suite.T(), changes, 3) + // The second pod is pending with no container + require.Len(suite.T(), changes, 2) // Same list should detect no change changes, err = watcher.computechanges(threePods) @@ -55,14 +54,6 @@ func (suite *PodwatcherTestSuite) TestPodWatcherComputeChanges() { require.Len(suite.T(), changes, 0) // A pod with new containers should be sent - fourthPod[0].Metadata.ResVersion = fmt.Sprintf("%d", watcher.latestResVersion-1) - changes, err = watcher.computechanges(fourthPod) - require.Nil(suite.T(), err) - require.Len(suite.T(), changes, 1) - require.Equal(suite.T(), changes[0].Metadata.UID, fourthPod[0].Metadata.UID) - - // A newer resversion should be computed - fourthPod[0].Metadata.ResVersion = fmt.Sprintf("%d", watcher.latestResVersion+1) changes, err = watcher.computechanges(fourthPod) require.Nil(suite.T(), err) require.Len(suite.T(), changes, 1) @@ -82,7 +73,7 @@ func (suite *PodwatcherTestSuite) TestPodWatcherComputeChanges() { } func (suite *PodwatcherTestSuite) TestPodWatcherExpireContainers() { - raw, err := ioutil.ReadFile("./test/podlist_1.6.json") + raw, err := ioutil.ReadFile("./testdata/podlist_1.6.json") require.Nil(suite.T(), err) var podlist PodList json.Unmarshal(raw, &podlist) @@ -90,9 +81,8 @@ func (suite *PodwatcherTestSuite) TestPodWatcherExpireContainers() { require.Len(suite.T(), sourcePods, 4) watcher := &PodWatcher{ - latestResVersion: -1, - lastSeen: make(map[string]time.Time), - expiryDuration: 5 * time.Minute, + lastSeen: make(map[string]time.Time), + expiryDuration: 5 * time.Minute, } _, err = watcher.computechanges(sourcePods) @@ -121,7 +111,7 @@ func (suite *PodwatcherTestSuite) TestPodWatcherExpireContainers() { } func (suite *PodwatcherTestSuite) TestPullChanges() { - kubelet, err := newDummyKubelet("./test/podlist_1.6.json") + kubelet, err := newDummyKubelet("./testdata/podlist_1.6.json") require.Nil(suite.T(), err) ts, kubeletPort, err := kubelet.Start() defer ts.Close() @@ -138,7 +128,8 @@ func (suite *PodwatcherTestSuite) TestPullChanges() { pods, err := watcher.PullChanges() <-kubelet.Requests // Throwing away /pods GET require.Nil(suite.T(), err) - require.Len(suite.T(), pods, 4) + // The second pod is pending with no container + require.Len(suite.T(), pods, 3) } func TestPodwatcherTestSuite(t *testing.T) { diff --git a/pkg/util/kubernetes/kubelet/test/podlist_1.6.json b/pkg/util/kubernetes/kubelet/testdata/podlist_1.6.json similarity index 100% rename from pkg/util/kubernetes/kubelet/test/podlist_1.6.json rename to pkg/util/kubernetes/kubelet/testdata/podlist_1.6.json From c0d3dc9bdd3ce0dbc379c01b010487e927464095 Mon Sep 17 00:00:00 2001 From: Pierre Margueritte Date: Thu, 4 Jan 2018 13:37:08 +0100 Subject: [PATCH 03/25] Switch copyright to 2018 (#1008) --- Dockerfiles/agent/entrypoint.sh | 2 +- Dockerfiles/cluster-agent/entrypoint.sh | 2 +- Dockerfiles/dogstatsd/alpine/entrypoint.sh | 2 +- LICENSE | 2 +- NOTICE | 2 +- cmd/agent/agent.rc | 2 +- cmd/agent/api/agent/agent.go | 2 +- cmd/agent/api/agent/agent_jmx.go | 2 +- cmd/agent/api/agent/agent_nojmx.go | 2 +- cmd/agent/api/check/check.go | 2 +- cmd/agent/api/listener.go | 2 +- cmd/agent/api/server.go | 2 +- cmd/agent/app/app.go | 2 +- cmd/agent/app/check.go | 2 +- cmd/agent/app/control_service_windows.go | 2 +- cmd/agent/app/dependent_services.go | 2 +- cmd/agent/app/dependent_services_nix.go | 2 +- cmd/agent/app/dependent_services_windows.go | 2 +- cmd/agent/app/diagnose.go | 2 +- cmd/agent/app/flare.go | 2 +- cmd/agent/app/hostname.go | 2 +- cmd/agent/app/import.go | 2 +- cmd/agent/app/install_service_windows.go | 2 +- cmd/agent/app/launchgui.go | 2 +- cmd/agent/app/listchecks.go | 2 +- cmd/agent/app/regimport_windows.go | 2 +- cmd/agent/app/reloadcheck.go | 2 +- cmd/agent/app/remove_service_windows.go | 2 +- cmd/agent/app/start.go | 2 +- cmd/agent/app/status.go | 2 +- cmd/agent/app/stop.go | 2 +- cmd/agent/app/version.go | 2 +- cmd/agent/common/autoconfig.go | 2 +- cmd/agent/common/common.go | 2 +- cmd/agent/common/common_darwin.go | 2 +- cmd/agent/common/common_nix.go | 2 +- cmd/agent/common/common_windows.go | 2 +- cmd/agent/common/helpers.go | 2 +- cmd/agent/common/import.go | 2 +- cmd/agent/dist/checks/__init__.py | 2 +- cmd/agent/dist/checks/libs/__init__.py | 2 +- cmd/agent/dist/checks/libs/thread_pool.py | 2 +- cmd/agent/dist/checks/libs/vmware/__init__.py | 2 +- cmd/agent/dist/checks/libs/vmware/all_metrics.py | 2 +- cmd/agent/dist/checks/libs/vmware/basic_metrics.py | 2 +- cmd/agent/dist/checks/libs/win/__init__.py | 2 +- cmd/agent/dist/checks/libs/win/pdhbasecheck.py | 2 +- cmd/agent/dist/checks/libs/win/winpdh.py | 2 +- cmd/agent/dist/checks/libs/wmi/__init__.py | 2 +- cmd/agent/dist/checks/libs/wmi/counter_type.py | 2 +- cmd/agent/dist/checks/libs/wmi/sampler.py | 2 +- cmd/agent/dist/checks/network_checks.py | 2 +- cmd/agent/dist/checks/prometheus_check/prometheus_check.py | 2 +- cmd/agent/dist/checks/winwmi_check.py | 2 +- cmd/agent/dist/config.py | 2 +- cmd/agent/dist/utils/__init__.py | 2 +- cmd/agent/dist/utils/containers.py | 2 +- cmd/agent/dist/utils/platform.py | 2 +- cmd/agent/dist/utils/proxy.py | 2 +- cmd/agent/dist/utils/subprocess_output.py | 4 ++-- cmd/agent/dist/utils/tailfile.py | 2 +- cmd/agent/dist/utils/timeout.py | 2 +- cmd/agent/dist/utils/timer.py | 4 ++-- cmd/agent/doc.go | 2 +- cmd/agent/main.go | 2 +- cmd/agent/main_windows.go | 2 +- cmd/cluster-agent/api/agent/agent.go | 2 +- cmd/cluster-agent/api/listener.go | 2 +- cmd/cluster-agent/api/server.go | 2 +- cmd/cluster-agent/main.go | 2 +- cmd/dogstatsd/main.go | 2 +- cmd/dogstatsd/main_nix.go | 2 +- cmd/dogstatsd/main_windows.go | 2 +- cmd/logs/logs.go | 2 +- cmd/logs/main.go | 2 +- cmd/py-launcher/py-launcher.go | 2 +- omnibus/config/projects/agent.rb | 2 +- omnibus/config/projects/datadog-cluster-agent.rb | 2 +- omnibus/config/projects/dogstatsd.rb | 2 +- omnibus/config/software/datadog-agent-finalize.rb | 2 +- omnibus/config/software/datadog-agent-integrations.rb | 2 +- omnibus/config/software/datadog-agent-prepare.rb | 2 +- omnibus/config/software/datadog-agent.rb | 2 +- omnibus/config/software/datadog-cluster-agent-finalize.rb | 2 +- omnibus/config/software/datadog-cluster-agent.rb | 2 +- omnibus/config/software/datadog-dogstatsd-finalize.rb | 2 +- omnibus/config/software/datadog-dogstatsd.rb | 2 +- omnibus/config/software/datadog-logs-agent-win.rb | 2 +- omnibus/config/software/datadog-logs-agent.rb | 2 +- omnibus/config/software/datadog-process-agent.rb | 2 +- omnibus/config/software/datadog-trace-agent.rb | 2 +- omnibus/config/software/jmxfetch.rb | 2 +- omnibus/config/software/sysstat.rb | 4 ++-- omnibus/omnibus.rb | 2 +- omnibus/resources/agent/pkg/license.html.erb | 2 +- pkg/aggregator/aggregator.go | 2 +- pkg/aggregator/aggregator_test.go | 2 +- pkg/aggregator/check_sampler.go | 2 +- pkg/aggregator/check_sampler_test.go | 2 +- pkg/aggregator/ckey/key.go | 2 +- pkg/aggregator/ckey/key_test.go | 2 +- pkg/aggregator/ckey/sort.go | 2 +- pkg/aggregator/context_resolver.go | 2 +- pkg/aggregator/context_resolver_test.go | 2 +- pkg/aggregator/dist_sampler.go | 2 +- pkg/aggregator/dist_sampler_test.go | 2 +- pkg/aggregator/mocksender/asserts.go | 2 +- pkg/aggregator/mocksender/asserts_test.go | 2 +- pkg/aggregator/mocksender/mocked_methods.go | 2 +- pkg/aggregator/mocksender/mocksender.go | 2 +- pkg/aggregator/sender.go | 2 +- pkg/aggregator/sender_test.go | 2 +- pkg/aggregator/time_sampler.go | 2 +- pkg/aggregator/time_sampler_test.go | 2 +- pkg/api/security/security.go | 2 +- pkg/api/util/doget.go | 2 +- pkg/api/util/util.go | 2 +- pkg/clusteragent/clusteragent.go | 2 +- pkg/collector/autodiscovery/autoconfig.go | 2 +- pkg/collector/autodiscovery/autoconfig_test.go | 2 +- pkg/collector/autodiscovery/configresolver.go | 2 +- pkg/collector/autodiscovery/configresolver_test.go | 2 +- pkg/collector/autodiscovery/stats.go | 2 +- pkg/collector/autodiscovery/templatecache.go | 2 +- pkg/collector/autodiscovery/templatecache_test.go | 2 +- pkg/collector/check/check.go | 2 +- pkg/collector/check/check_test.go | 2 +- pkg/collector/check/id.go | 2 +- pkg/collector/check/id_test.go | 2 +- pkg/collector/check/loader.go | 2 +- pkg/collector/check/retry.go | 2 +- pkg/collector/collector.go | 2 +- pkg/collector/collector_test.go | 2 +- pkg/collector/corechecks/cluster/doc.go | 2 +- pkg/collector/corechecks/cluster/kubernetes_apiserver.go | 2 +- pkg/collector/corechecks/cluster/kubernetes_apiserver_test.go | 2 +- pkg/collector/corechecks/containers/doc.go | 2 +- pkg/collector/corechecks/containers/docker.go | 2 +- pkg/collector/corechecks/containers/docker_eventbundle.go | 2 +- pkg/collector/corechecks/containers/docker_events.go | 2 +- pkg/collector/corechecks/containers/docker_events_test.go | 2 +- pkg/collector/corechecks/containers/docker_rate_capping.go | 2 +- .../corechecks/containers/docker_rate_capping_test.go | 2 +- pkg/collector/corechecks/embed/apm.go | 2 +- pkg/collector/corechecks/embed/apm_nix.go | 2 +- pkg/collector/corechecks/embed/apm_windows.go | 2 +- pkg/collector/corechecks/embed/jmx.go | 2 +- pkg/collector/corechecks/embed/jmx_nix.go | 2 +- pkg/collector/corechecks/embed/jmx_test.go | 2 +- pkg/collector/corechecks/embed/jmx_windows.go | 2 +- pkg/collector/corechecks/embed/jmxloader.go | 2 +- pkg/collector/corechecks/embed/jmxloader_test.go | 2 +- pkg/collector/corechecks/embed/logs-agent.go | 2 +- pkg/collector/corechecks/embed/process_agent.go | 2 +- pkg/collector/corechecks/loader.go | 2 +- pkg/collector/corechecks/loader_test.go | 2 +- pkg/collector/corechecks/network/doc.go | 2 +- pkg/collector/corechecks/network/ntp.go | 2 +- pkg/collector/corechecks/network/ntp_test.go | 2 +- pkg/collector/corechecks/network/snmp.go | 2 +- pkg/collector/corechecks/network/snmp_test.go | 2 +- pkg/collector/corechecks/system/cpu.go | 2 +- pkg/collector/corechecks/system/cpu_test.go | 2 +- pkg/collector/corechecks/system/file_handles.go | 2 +- pkg/collector/corechecks/system/file_handles_test.go | 2 +- pkg/collector/corechecks/system/iostats.go | 2 +- pkg/collector/corechecks/system/iostats_nix.go | 2 +- pkg/collector/corechecks/system/iostats_test.go | 2 +- pkg/collector/corechecks/system/iostats_wmi_windows.go | 2 +- pkg/collector/corechecks/system/load.go | 2 +- pkg/collector/corechecks/system/load_test.go | 2 +- pkg/collector/corechecks/system/memory.go | 2 +- pkg/collector/corechecks/system/memory_test.go | 2 +- pkg/collector/corechecks/system/uptime.go | 2 +- pkg/collector/corechecks/system/uptime_test.go | 2 +- pkg/collector/embed.go | 2 +- pkg/collector/embed_nopy.go | 2 +- pkg/collector/listeners/docker.go | 2 +- pkg/collector/listeners/docker_kubelet.go | 2 +- pkg/collector/listeners/docker_nokubelet.go | 2 +- pkg/collector/listeners/docker_test.go | 2 +- pkg/collector/listeners/kubelet.go | 2 +- pkg/collector/listeners/kubelet_test.go | 2 +- pkg/collector/listeners/types.go | 2 +- pkg/collector/loaders/loaders.go | 2 +- pkg/collector/loaders/loaders_test.go | 2 +- pkg/collector/metadata/agentchecks.go | 2 +- pkg/collector/metadata/agentchecks/agentchecks.go | 2 +- pkg/collector/metadata/agentchecks/payload.go | 2 +- pkg/collector/metadata/doc.go | 2 +- pkg/collector/providers/consul.go | 2 +- pkg/collector/providers/consul_test.go | 2 +- pkg/collector/providers/docker.go | 2 +- pkg/collector/providers/docker_test.go | 2 +- pkg/collector/providers/etcd.go | 2 +- pkg/collector/providers/etcd_test.go | 2 +- pkg/collector/providers/file.go | 2 +- pkg/collector/providers/file_test.go | 2 +- pkg/collector/providers/kubelet.go | 2 +- pkg/collector/providers/kubelet_test.go | 2 +- pkg/collector/providers/providers.go | 2 +- pkg/collector/providers/utils.go | 2 +- pkg/collector/providers/utils_test.go | 2 +- pkg/collector/providers/zookeeper.go | 2 +- pkg/collector/providers/zookeeper_test.go | 2 +- pkg/collector/py/api.go | 2 +- pkg/collector/py/check.go | 2 +- pkg/collector/py/check_test.go | 2 +- pkg/collector/py/config.go | 2 +- pkg/collector/py/config_test.go | 2 +- pkg/collector/py/datadog_agent.go | 2 +- pkg/collector/py/loader.go | 2 +- pkg/collector/py/loader_test.go | 2 +- pkg/collector/py/py.go | 2 +- pkg/collector/py/tests/__init__.py | 2 +- pkg/collector/py/tests/bad.py | 4 ++-- pkg/collector/py/tests/bar.py | 2 +- pkg/collector/py/tests/common.py | 2 +- pkg/collector/py/tests/complex.py | 2 +- pkg/collector/py/tests/foo.py | 2 +- pkg/collector/py/tests/init_exception.py | 2 +- pkg/collector/py/tests/init_no_traceback_exception.py | 2 +- pkg/collector/py/tests/kwargs_init_signature.py | 2 +- pkg/collector/py/tests/new_init_signature.py | 2 +- pkg/collector/py/tests/old_alt_init_signature.py | 2 +- pkg/collector/py/tests/old_init_signature.py | 2 +- pkg/collector/py/tests/testaggregator.py | 2 +- pkg/collector/py/tests/testcheck.py | 2 +- pkg/collector/py/tests/testcheck2.py | 2 +- pkg/collector/py/tests/testcheck_multi.py | 2 +- pkg/collector/py/tests/testcheck_multi_base.py | 2 +- pkg/collector/py/tests/testwarnings.py | 2 +- pkg/collector/py/utils.go | 2 +- pkg/collector/py/utils_common.go | 2 +- pkg/collector/py/utils_nocpython.go | 2 +- pkg/collector/py/utils_test.go | 2 +- pkg/collector/runner/runner.go | 2 +- pkg/collector/runner/runner_test.go | 2 +- pkg/collector/scheduler/job.go | 2 +- pkg/collector/scheduler/scheduler.go | 2 +- pkg/collector/scheduler/scheduler_test.go | 2 +- pkg/config/config.go | 2 +- pkg/config/config_darwin.go | 2 +- pkg/config/config_nix.go | 2 +- pkg/config/config_test.go | 2 +- pkg/config/config_windows.go | 2 +- pkg/config/log.go | 2 +- pkg/config/log_nix.go | 2 +- pkg/config/log_windows.go | 2 +- pkg/config/render_config.go | 2 +- pkg/diagnose/diagnosis/loader.go | 2 +- pkg/diagnose/runner.go | 2 +- pkg/diagnose/runner_test.go | 2 +- pkg/dogstatsd/listeners/packet_pool.go | 2 +- pkg/dogstatsd/listeners/types.go | 2 +- pkg/dogstatsd/listeners/udp.go | 2 +- pkg/dogstatsd/listeners/udp_test.go | 2 +- pkg/dogstatsd/listeners/uds_common.go | 2 +- pkg/dogstatsd/listeners/uds_common_test.go | 2 +- pkg/dogstatsd/listeners/uds_linux.go | 2 +- pkg/dogstatsd/listeners/uds_linux_test.go | 2 +- pkg/dogstatsd/listeners/uds_nolinux.go | 2 +- pkg/dogstatsd/parser.go | 2 +- pkg/dogstatsd/parser_test.go | 2 +- pkg/dogstatsd/server.go | 2 +- pkg/dogstatsd/server_test.go | 2 +- pkg/flare/archive.go | 2 +- pkg/flare/archive_docker.go | 2 +- pkg/flare/archive_nodocker.go | 2 +- pkg/flare/archive_test.go | 2 +- pkg/flare/flare.go | 2 +- pkg/flare/flare_test.go | 2 +- pkg/flare/input.go | 2 +- pkg/flare/strip.go | 2 +- pkg/flare/strip_test.go | 2 +- pkg/forwarder/blocked_endpoints.go | 2 +- pkg/forwarder/blocked_endpoints_test.go | 2 +- pkg/forwarder/forwarder.go | 2 +- pkg/forwarder/forwarder_test.go | 2 +- pkg/forwarder/test_common.go | 2 +- pkg/forwarder/transaction.go | 2 +- pkg/forwarder/transaction_test.go | 2 +- pkg/forwarder/worker.go | 2 +- pkg/forwarder/worker_test.go | 2 +- pkg/legacy/converter.go | 2 +- pkg/legacy/converter_test.go | 2 +- pkg/legacy/docker.go | 2 +- pkg/legacy/docker_test.go | 2 +- pkg/legacy/importer.go | 2 +- pkg/legacy/importer_test.go | 2 +- pkg/legacy/no_docker.go | 2 +- pkg/legacy/process-agent.go | 2 +- pkg/legacy/tests/config.py | 2 +- pkg/legacy/trace-agent.go | 2 +- pkg/logs/auditor/auditor.go | 2 +- pkg/logs/auditor/auditor_test.go | 2 +- pkg/logs/config/config.go | 2 +- pkg/logs/config/config_test.go | 2 +- pkg/logs/config/constants.go | 2 +- pkg/logs/config/integration_config.go | 2 +- pkg/logs/config/integration_config_test.go | 2 +- pkg/logs/decoder/decoder.go | 2 +- pkg/logs/decoder/decoder_test.go | 2 +- pkg/logs/decoder/line_buffer.go | 2 +- pkg/logs/decoder/line_handler.go | 2 +- pkg/logs/input/container/docker.go | 2 +- pkg/logs/input/container/docker_test.go | 2 +- pkg/logs/input/container/scanner.go | 2 +- pkg/logs/input/container/scanner_test.go | 2 +- pkg/logs/input/container/scanner_windows.go | 2 +- pkg/logs/input/listener/connection_handler.go | 2 +- pkg/logs/input/listener/listener.go | 2 +- pkg/logs/input/listener/tcp.go | 2 +- pkg/logs/input/listener/tcp_test.go | 2 +- pkg/logs/input/listener/udp.go | 2 +- pkg/logs/input/listener/udp_test.go | 2 +- pkg/logs/input/tailer/file_provider.go | 2 +- pkg/logs/input/tailer/file_provider_test.go | 2 +- pkg/logs/input/tailer/scanner.go | 2 +- pkg/logs/input/tailer/scanner_test.go | 2 +- pkg/logs/input/tailer/scanner_windows.go | 2 +- pkg/logs/input/tailer/tailer.go | 2 +- pkg/logs/input/tailer/tailer_test.go | 2 +- pkg/logs/message/message.go | 2 +- pkg/logs/message/message_test.go | 2 +- pkg/logs/pipeline/mock/mock.go | 2 +- pkg/logs/pipeline/provider.go | 2 +- pkg/logs/pipeline/provider_test.go | 2 +- pkg/logs/processor/processor.go | 2 +- pkg/logs/processor/processor_test.go | 2 +- pkg/logs/sender/connection_manager.go | 2 +- pkg/logs/sender/sender.go | 2 +- pkg/logs/utils/logger.go | 2 +- pkg/metadata/common/common.go | 2 +- pkg/metadata/common/common_test.go | 2 +- pkg/metadata/common/payload.go | 2 +- pkg/metadata/ecs/doc.go | 2 +- pkg/metadata/ecs/ecs.go | 2 +- pkg/metadata/ecs/ecs_test.go | 2 +- pkg/metadata/gohai/gohai.go | 2 +- pkg/metadata/gohai/gohai_test.go | 2 +- pkg/metadata/gohai/payload.go | 2 +- pkg/metadata/host.go | 2 +- pkg/metadata/host/host.go | 2 +- pkg/metadata/host/host_darwin.go | 2 +- pkg/metadata/host/host_darwin_test.go | 2 +- pkg/metadata/host/host_linux_test.go | 2 +- pkg/metadata/host/host_nix.go | 2 +- pkg/metadata/host/host_test.go | 2 +- pkg/metadata/host/host_windows.go | 2 +- pkg/metadata/host/host_windows_test.go | 2 +- pkg/metadata/host/payload.go | 2 +- pkg/metadata/kubernetes/kubernetes.go | 2 +- pkg/metadata/kubernetes/kubernetes_test.go | 2 +- pkg/metadata/payload.go | 2 +- pkg/metadata/resources.go | 2 +- pkg/metadata/resources/payload.go | 2 +- pkg/metadata/resources/resources.go | 2 +- pkg/metadata/resources/resources_other.go | 2 +- pkg/metadata/resources/resources_test.go | 2 +- pkg/metadata/scheduler.go | 2 +- pkg/metadata/scheduler_test.go | 2 +- pkg/metadata/types.go | 2 +- pkg/metadata/v5/payload.go | 2 +- pkg/metadata/v5/payload_gohai.go | 2 +- pkg/metadata/v5/payload_gohai_test.go | 2 +- pkg/metadata/v5/payload_other.go | 2 +- pkg/metadata/v5/v5.go | 2 +- pkg/metadata/v5/v5_other.go | 2 +- pkg/metadata/v5/v5_test.go | 2 +- pkg/metrics/context_metrics.go | 2 +- pkg/metrics/context_metrics_test.go | 2 +- pkg/metrics/context_sketch.go | 2 +- pkg/metrics/context_sketch_test.go | 2 +- pkg/metrics/count.go | 2 +- pkg/metrics/count_test.go | 2 +- pkg/metrics/counter.go | 2 +- pkg/metrics/counter_test.go | 2 +- pkg/metrics/distribution.go | 2 +- pkg/metrics/distribution_test.go | 2 +- pkg/metrics/event.go | 2 +- pkg/metrics/event_test.go | 2 +- pkg/metrics/gauge.go | 2 +- pkg/metrics/gauge_test.go | 2 +- pkg/metrics/histogram.go | 2 +- pkg/metrics/histogram_test.go | 2 +- pkg/metrics/historate.go | 2 +- pkg/metrics/historate_test.go | 2 +- pkg/metrics/metric.go | 2 +- pkg/metrics/metric_sample.go | 2 +- pkg/metrics/monotonic_count.go | 2 +- pkg/metrics/monotonic_count_test.go | 2 +- pkg/metrics/percentile/complete_ds.go | 2 +- pkg/metrics/percentile/gk_array.go | 2 +- pkg/metrics/percentile/gk_array_test.go | 2 +- pkg/metrics/percentile/kll.go | 2 +- pkg/metrics/percentile/sketch_series.go | 2 +- pkg/metrics/percentile/sketch_series_test.go | 2 +- pkg/metrics/rate.go | 2 +- pkg/metrics/rate_test.go | 2 +- pkg/metrics/series.go | 2 +- pkg/metrics/series_test.go | 2 +- pkg/metrics/service_check.go | 2 +- pkg/metrics/service_check_test.go | 2 +- pkg/metrics/set.go | 2 +- pkg/metrics/set_test.go | 2 +- pkg/metrics/test_helper.go | 2 +- pkg/pidfile/pidfile.go | 2 +- pkg/pidfile/pidfile_darwin.go | 2 +- pkg/pidfile/pidfile_nix.go | 2 +- pkg/pidfile/pidfile_test.go | 2 +- pkg/pidfile/pidfile_windows.go | 2 +- pkg/serializer/marshaler/marshaler.go | 2 +- pkg/serializer/serializer.go | 2 +- pkg/serializer/serializer_test.go | 2 +- pkg/serializer/split/split.go | 2 +- pkg/serializer/split/split_test.go | 2 +- pkg/status/helpers.go | 2 +- pkg/status/jmx_status.go | 2 +- pkg/status/render.go | 2 +- pkg/status/status.go | 2 +- pkg/tagger/collectors/catalog.go | 2 +- pkg/tagger/collectors/docker_extract.go | 2 +- pkg/tagger/collectors/docker_extract_test.go | 2 +- pkg/tagger/collectors/docker_main.go | 2 +- pkg/tagger/collectors/ecs_extract.go | 2 +- pkg/tagger/collectors/ecs_extract_test.go | 2 +- pkg/tagger/collectors/ecs_main.go | 2 +- pkg/tagger/collectors/kubelet_extract.go | 2 +- pkg/tagger/collectors/kubelet_extract_test.go | 2 +- pkg/tagger/collectors/kubelet_main.go | 2 +- pkg/tagger/collectors/types.go | 2 +- pkg/tagger/global.go | 2 +- pkg/tagger/tagger.go | 2 +- pkg/tagger/tagger_test.go | 2 +- pkg/tagger/tagstore_test.go | 2 +- pkg/tagger/utils/concat.go | 2 +- pkg/tagger/utils/concat_test.go | 2 +- pkg/tagger/utils/expiry.go | 2 +- pkg/tagger/utils/expiry_test.go | 2 +- pkg/tagger/utils/strings.go | 2 +- pkg/tagger/utils/strings_test.go | 2 +- pkg/tagger/utils/taglist.go | 2 +- pkg/tagger/utils/taglist_test.go | 2 +- pkg/util/azure/azure.go | 2 +- pkg/util/azure/azure_test.go | 2 +- pkg/util/azure/diagnosis.go | 2 +- pkg/util/bimap.go | 2 +- pkg/util/bimap_test.go | 2 +- pkg/util/cache/cache.go | 2 +- pkg/util/cloudfoundry/cloudfoundry.go | 2 +- pkg/util/common.go | 2 +- pkg/util/compression/no_compression.go | 2 +- pkg/util/compression/zlib.go | 2 +- pkg/util/compression/zstd.go | 2 +- pkg/util/docker/cgroup.go | 2 +- pkg/util/docker/cgroup_test.go | 2 +- pkg/util/docker/common_test.go | 2 +- pkg/util/docker/diagnosis.go | 2 +- pkg/util/docker/docker_test.go | 2 +- pkg/util/docker/docker_util.go | 2 +- pkg/util/docker/event_pull.go | 2 +- pkg/util/docker/event_pull_test.go | 2 +- pkg/util/docker/event_stream.go | 2 +- pkg/util/docker/event_types.go | 2 +- pkg/util/docker/filter.go | 2 +- pkg/util/docker/filter_test.go | 2 +- pkg/util/docker/global.go | 2 +- pkg/util/docker/global_common.go | 2 +- pkg/util/docker/global_nodocker.go | 2 +- pkg/util/docker/network.go | 2 +- pkg/util/docker/network_test.go | 2 +- pkg/util/docker/networkstats.go | 2 +- pkg/util/docker/rancher.go | 2 +- pkg/util/docker/rancher_test.go | 2 +- pkg/util/docker/storage.go | 2 +- pkg/util/docker/storage_test.go | 2 +- pkg/util/docker/util_common.go | 2 +- pkg/util/docker/util_common_test.go | 2 +- pkg/util/docker/util_docker.go | 2 +- pkg/util/docker/util_docker_test.go | 2 +- pkg/util/ec2/diagnosis.go | 2 +- pkg/util/ec2/ec2.go | 2 +- pkg/util/ec2/ec2_no_tags.go | 2 +- pkg/util/ec2/ec2_tags.go | 2 +- pkg/util/ec2/ec2_tags_test.go | 2 +- pkg/util/ec2/ec2_test.go | 2 +- pkg/util/ecs/doc.go | 2 +- pkg/util/ecs/ecs.go | 2 +- pkg/util/ecs/ecs_nodocker.go | 2 +- pkg/util/ecs/ecs_test.go | 2 +- pkg/util/executable/executable.go | 2 +- pkg/util/gce/diagnosis.go | 2 +- pkg/util/gce/gce.go | 2 +- pkg/util/gce/gce_no_tags.go | 2 +- pkg/util/gce/gce_tags.go | 2 +- pkg/util/gce/gce_tags_test.go | 2 +- pkg/util/gce/gce_test.go | 2 +- pkg/util/hostname.go | 2 +- pkg/util/hostname/docker.go | 2 +- pkg/util/hostname/ec2.go | 2 +- pkg/util/hostname/gce.go | 2 +- pkg/util/hostname/providers.go | 2 +- pkg/util/hostname_docker.go | 2 +- pkg/util/hostname_docker_stub.go | 2 +- pkg/util/hostname_test.go | 2 +- pkg/util/kubernetes/apiserver/apiserver.go | 2 +- pkg/util/kubernetes/apiserver/apiserver_nocompile.go | 2 +- pkg/util/kubernetes/apiserver/diagnosis.go | 2 +- pkg/util/kubernetes/auth.go | 2 +- pkg/util/kubernetes/kubelet/diagnosis.go | 2 +- pkg/util/kubernetes/kubelet/kubelet.go | 2 +- pkg/util/kubernetes/kubelet/kubelet_common.go | 2 +- pkg/util/kubernetes/kubelet/kubelet_test.go | 2 +- pkg/util/kubernetes/kubelet/podwatcher.go | 2 +- pkg/util/kubernetes/kubelet/podwatcher_test.go | 2 +- pkg/util/kubernetes/kubelet/types_kubelet.go | 2 +- pkg/util/pipe.go | 2 +- pkg/util/pipe_nix.go | 2 +- pkg/util/pipe_windows.go | 2 +- pkg/util/retry/error.go | 2 +- pkg/util/retry/error_test.go | 2 +- pkg/util/retry/retrier.go | 2 +- pkg/util/retry/retrier_test.go | 2 +- pkg/util/retry/types.go | 2 +- pkg/util/stat.go | 2 +- pkg/util/xc/nix.go | 2 +- pkg/util/xc/stub.go | 2 +- pkg/version/base.go | 2 +- pkg/version/version.go | 2 +- pkg/version/version_test.go | 2 +- test/benchmarks/aggregator/main.go | 2 +- test/benchmarks/aggregator/metrics.go | 2 +- test/benchmarks/aggregator/push_metric.go | 2 +- test/benchmarks/dogstatsd/main.go | 2 +- test/integration/autodiscovery/autoconfig_test.go | 2 +- test/integration/config_providers/etcd/etcd_provider_test.go | 2 +- .../config_providers/zookeeper/zookeeper_provider_test.go | 2 +- test/integration/corechecks/docker/basemetrics_test.go | 2 +- test/integration/corechecks/docker/catalog.go | 2 +- test/integration/corechecks/docker/events_test.go | 2 +- test/integration/corechecks/docker/exitcode_test.go | 2 +- test/integration/corechecks/docker/globalmetrics_test.go | 2 +- test/integration/corechecks/docker/main_test.go | 2 +- test/integration/corechecks/docker/serviceup_test.go | 2 +- test/integration/dogstatsd/origin_detection.go | 2 +- test/integration/dogstatsd/origin_detection_skip.go | 2 +- test/integration/dogstatsd/origin_detection_test.go | 2 +- test/integration/listeners/docker/docker_listener_test.go | 2 +- test/integration/utils/compose.go | 2 +- test/system/dogstatsd/dogstatsd_test.go | 2 +- test/system/dogstatsd/receive_and_forward_test.go | 2 +- test/system/python_binding/datadog_agent.py | 2 +- test/system/python_binding/test.sh | 2 +- 554 files changed, 558 insertions(+), 558 deletions(-) diff --git a/Dockerfiles/agent/entrypoint.sh b/Dockerfiles/agent/entrypoint.sh index aad90a84e7679..9302949e4da8c 100755 --- a/Dockerfiles/agent/entrypoint.sh +++ b/Dockerfiles/agent/entrypoint.sh @@ -3,7 +3,7 @@ # Unless explicitly stated otherwise all files in this repository are licensed # under the Apache License Version 2.0. # This product includes software developed at Datadog (https://www.datadoghq.com/). -# Copyright 2017 Datadog, Inc. +# Copyright 2018 Datadog, Inc. ##### Core config ##### diff --git a/Dockerfiles/cluster-agent/entrypoint.sh b/Dockerfiles/cluster-agent/entrypoint.sh index 6369f2a671d11..e41f0bf27582e 100755 --- a/Dockerfiles/cluster-agent/entrypoint.sh +++ b/Dockerfiles/cluster-agent/entrypoint.sh @@ -3,7 +3,7 @@ # Unless explicitly stated otherwise all files in this repository are licensed # under the Apache License Version 2.0. # This product includes software developed at Datadog (https://www.datadoghq.com/). -# Copyright 2017 Datadog, Inc. +# Copyright 2018 Datadog, Inc. ##### Core config ##### diff --git a/Dockerfiles/dogstatsd/alpine/entrypoint.sh b/Dockerfiles/dogstatsd/alpine/entrypoint.sh index 278956ef8a23a..e910a6f13bddb 100755 --- a/Dockerfiles/dogstatsd/alpine/entrypoint.sh +++ b/Dockerfiles/dogstatsd/alpine/entrypoint.sh @@ -3,7 +3,7 @@ # Unless explicitly stated otherwise all files in this repository are licensed # under the Apache License Version 2.0. # This product includes software developed at Datadog (https://www.datadoghq.com/). -# Copyright 2017 Datadog, Inc. +# Copyright 2018 Datadog, Inc. ##### Core config ##### diff --git a/LICENSE b/LICENSE index 7f630ef1f0647..d4779874be085 100644 --- a/LICENSE +++ b/LICENSE @@ -186,7 +186,7 @@ same "printed page" as the copyright notice for easier identification within third-party archives. - Copyright 2017 Datadog, Inc. + Copyright 2018 Datadog, Inc. Licensed 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 diff --git a/NOTICE b/NOTICE index bd7f94ef181cf..7dce558b4394d 100644 --- a/NOTICE +++ b/NOTICE @@ -1,4 +1,4 @@ Datadog datadog-agent -Copyright 2017 Datadog, Inc. +Copyright 2018 Datadog, Inc. This product includes software developed at Datadog (https://www.datadoghq.com/). diff --git a/cmd/agent/agent.rc b/cmd/agent/agent.rc index cb813869cec48..13bbef3dfcd4c 100644 --- a/cmd/agent/agent.rc +++ b/cmd/agent/agent.rc @@ -35,7 +35,7 @@ BEGIN VALUE "FileDescription", "Datadog Metrics Agent" VALUE "FileVersion", FILE_VERSION_STRING VALUE "InternalName", "Agent6" - VALUE "LegalCopyright", "Copyright (C) 2017" + VALUE "LegalCopyright", "Copyright (C) 2018" VALUE "OriginalFilename", "agent.exe" VALUE "ProductName", "Datadog Agent" VALUE "ProductVersion", FILE_VERSION_STRING diff --git a/cmd/agent/api/agent/agent.go b/cmd/agent/api/agent/agent.go index d57ab7a981976..1dc50e6e8ebb1 100644 --- a/cmd/agent/api/agent/agent.go +++ b/cmd/agent/api/agent/agent.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // Package agent implements the api endpoints for the `/agent` prefix. // This group of endpoints is meant to provide high-level functionalities diff --git a/cmd/agent/api/agent/agent_jmx.go b/cmd/agent/api/agent/agent_jmx.go index bed8aa54ccd76..b504129da89d7 100644 --- a/cmd/agent/api/agent/agent_jmx.go +++ b/cmd/agent/api/agent/agent_jmx.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // Package agent implements the api endpoints for the `/agent` prefix. // This group of endpoints is meant to provide high-level functionalities diff --git a/cmd/agent/api/agent/agent_nojmx.go b/cmd/agent/api/agent/agent_nojmx.go index 6d8110c9d1446..7f6e9e06dbb75 100644 --- a/cmd/agent/api/agent/agent_nojmx.go +++ b/cmd/agent/api/agent/agent_nojmx.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // Package agent implements the api endpoints for the `/agent` prefix. // This group of endpoints is meant to provide high-level functionalities diff --git a/cmd/agent/api/check/check.go b/cmd/agent/api/check/check.go index 66f2c4241121f..1ea11f2813cb9 100644 --- a/cmd/agent/api/check/check.go +++ b/cmd/agent/api/check/check.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // Package check implements the api endpoints for the `/check` prefix. // This group of endpoints is meant to provide specific functionalities diff --git a/cmd/agent/api/listener.go b/cmd/agent/api/listener.go index b002e9c782a4d..dbc2e6fde4392 100644 --- a/cmd/agent/api/listener.go +++ b/cmd/agent/api/listener.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package api diff --git a/cmd/agent/api/server.go b/cmd/agent/api/server.go index 555e60b72c12b..5a019ef91353e 100644 --- a/cmd/agent/api/server.go +++ b/cmd/agent/api/server.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. /* Package api implements the agent IPC api. Using HTTP diff --git a/cmd/agent/app/app.go b/cmd/agent/app/app.go index 518e38021f8f8..eae6f8f07cdda 100644 --- a/cmd/agent/app/app.go +++ b/cmd/agent/app/app.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. /* Package app implements the Agent main loop, orchestrating diff --git a/cmd/agent/app/check.go b/cmd/agent/app/check.go index bd319f70305e5..2e7be3b5076de 100644 --- a/cmd/agent/app/check.go +++ b/cmd/agent/app/check.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package app diff --git a/cmd/agent/app/control_service_windows.go b/cmd/agent/app/control_service_windows.go index d8359c36bf388..5daed5dc6289b 100644 --- a/cmd/agent/app/control_service_windows.go +++ b/cmd/agent/app/control_service_windows.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package app diff --git a/cmd/agent/app/dependent_services.go b/cmd/agent/app/dependent_services.go index ae0f54dfbcee4..5d9f6e3c673c0 100644 --- a/cmd/agent/app/dependent_services.go +++ b/cmd/agent/app/dependent_services.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package app diff --git a/cmd/agent/app/dependent_services_nix.go b/cmd/agent/app/dependent_services_nix.go index a1314260154fd..867817cfd67c5 100644 --- a/cmd/agent/app/dependent_services_nix.go +++ b/cmd/agent/app/dependent_services_nix.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build !windows package app diff --git a/cmd/agent/app/dependent_services_windows.go b/cmd/agent/app/dependent_services_windows.go index 94c4ca7b3293a..45f44201b335c 100644 --- a/cmd/agent/app/dependent_services_windows.go +++ b/cmd/agent/app/dependent_services_windows.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build windows package app diff --git a/cmd/agent/app/diagnose.go b/cmd/agent/app/diagnose.go index 05c6599f83540..949a43491531b 100644 --- a/cmd/agent/app/diagnose.go +++ b/cmd/agent/app/diagnose.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package app diff --git a/cmd/agent/app/flare.go b/cmd/agent/app/flare.go index cf736c87d3624..8bb2781128a11 100644 --- a/cmd/agent/app/flare.go +++ b/cmd/agent/app/flare.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package app diff --git a/cmd/agent/app/hostname.go b/cmd/agent/app/hostname.go index db73b2cfe896a..319af6406d891 100644 --- a/cmd/agent/app/hostname.go +++ b/cmd/agent/app/hostname.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package app diff --git a/cmd/agent/app/import.go b/cmd/agent/app/import.go index 5041cd6e7ef86..ca017456c6579 100644 --- a/cmd/agent/app/import.go +++ b/cmd/agent/app/import.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package app diff --git a/cmd/agent/app/install_service_windows.go b/cmd/agent/app/install_service_windows.go index 2ab57f321c414..703366d3252b3 100644 --- a/cmd/agent/app/install_service_windows.go +++ b/cmd/agent/app/install_service_windows.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package app diff --git a/cmd/agent/app/launchgui.go b/cmd/agent/app/launchgui.go index 24a6b8e0c5d90..7dcb14e97ccb7 100644 --- a/cmd/agent/app/launchgui.go +++ b/cmd/agent/app/launchgui.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package app diff --git a/cmd/agent/app/listchecks.go b/cmd/agent/app/listchecks.go index 3233331becebc..9a92d5b8c5f12 100644 --- a/cmd/agent/app/listchecks.go +++ b/cmd/agent/app/listchecks.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package app diff --git a/cmd/agent/app/regimport_windows.go b/cmd/agent/app/regimport_windows.go index afb2d8c8600df..2f9959cfb87ce 100644 --- a/cmd/agent/app/regimport_windows.go +++ b/cmd/agent/app/regimport_windows.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package app diff --git a/cmd/agent/app/reloadcheck.go b/cmd/agent/app/reloadcheck.go index e987c5de58ef8..e94dd78d69a47 100644 --- a/cmd/agent/app/reloadcheck.go +++ b/cmd/agent/app/reloadcheck.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package app diff --git a/cmd/agent/app/remove_service_windows.go b/cmd/agent/app/remove_service_windows.go index 38e8305666b1b..6960814b0f7d2 100644 --- a/cmd/agent/app/remove_service_windows.go +++ b/cmd/agent/app/remove_service_windows.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package app diff --git a/cmd/agent/app/start.go b/cmd/agent/app/start.go index cc6f69bfe9b65..466a0788879fd 100644 --- a/cmd/agent/app/start.go +++ b/cmd/agent/app/start.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package app diff --git a/cmd/agent/app/status.go b/cmd/agent/app/status.go index ca9418c21036c..06ac3a243e38d 100644 --- a/cmd/agent/app/status.go +++ b/cmd/agent/app/status.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package app diff --git a/cmd/agent/app/stop.go b/cmd/agent/app/stop.go index 77d0109987180..c6f797f18316c 100644 --- a/cmd/agent/app/stop.go +++ b/cmd/agent/app/stop.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build !windows diff --git a/cmd/agent/app/version.go b/cmd/agent/app/version.go index ab1a90d72f245..3af4a9b60adaf 100644 --- a/cmd/agent/app/version.go +++ b/cmd/agent/app/version.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package app diff --git a/cmd/agent/common/autoconfig.go b/cmd/agent/common/autoconfig.go index 9b333e87466b7..375580a4d7f06 100644 --- a/cmd/agent/common/autoconfig.go +++ b/cmd/agent/common/autoconfig.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package common diff --git a/cmd/agent/common/common.go b/cmd/agent/common/common.go index 7a483dfc29727..2d582b2146f67 100644 --- a/cmd/agent/common/common.go +++ b/cmd/agent/common/common.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // Package common provides a set of common symbols needed by different packages, // to avoid circular dependencies. diff --git a/cmd/agent/common/common_darwin.go b/cmd/agent/common/common_darwin.go index 98564d978560a..c5506653bca07 100644 --- a/cmd/agent/common/common_darwin.go +++ b/cmd/agent/common/common_darwin.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package common diff --git a/cmd/agent/common/common_nix.go b/cmd/agent/common/common_nix.go index 6c261d935d950..22ca9c7692481 100644 --- a/cmd/agent/common/common_nix.go +++ b/cmd/agent/common/common_nix.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build freebsd netbsd openbsd solaris dragonfly linux diff --git a/cmd/agent/common/common_windows.go b/cmd/agent/common/common_windows.go index 062d60341fffa..8684d8d6bc1c4 100644 --- a/cmd/agent/common/common_windows.go +++ b/cmd/agent/common/common_windows.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package common diff --git a/cmd/agent/common/helpers.go b/cmd/agent/common/helpers.go index a606663b16eba..bd99a4a187d08 100644 --- a/cmd/agent/common/helpers.go +++ b/cmd/agent/common/helpers.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package common diff --git a/cmd/agent/common/import.go b/cmd/agent/common/import.go index 91fd92db444ce..50b5fa86a84ce 100644 --- a/cmd/agent/common/import.go +++ b/cmd/agent/common/import.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // Package common provides a set of common symbols needed by different packages, // to avoid circular dependencies. diff --git a/cmd/agent/dist/checks/__init__.py b/cmd/agent/dist/checks/__init__.py index 4a2993405d064..e94e7c978fd1d 100644 --- a/cmd/agent/dist/checks/__init__.py +++ b/cmd/agent/dist/checks/__init__.py @@ -1,7 +1,7 @@ # Unless explicitly stated otherwise all files in this repository are licensed # under the Apache License Version 2.0. # This product includes software developed at Datadog (https://www.datadoghq.com/). -# Copyright 2017 Datadog, Inc. +# Copyright 2018 Datadog, Inc. import copy import json diff --git a/cmd/agent/dist/checks/libs/__init__.py b/cmd/agent/dist/checks/libs/__init__.py index e928844088737..574303066a7a4 100644 --- a/cmd/agent/dist/checks/libs/__init__.py +++ b/cmd/agent/dist/checks/libs/__init__.py @@ -1,5 +1,5 @@ # Unless explicitly stated otherwise all files in this repository are licensed # under the Apache License Version 2.0. # This product includes software developed at Datadog (https://www.datadoghq.com/). -# Copyright 2017 Datadog, Inc. +# Copyright 2018 Datadog, Inc. diff --git a/cmd/agent/dist/checks/libs/thread_pool.py b/cmd/agent/dist/checks/libs/thread_pool.py index cea483095e571..a90f83cb6ee7a 100644 --- a/cmd/agent/dist/checks/libs/thread_pool.py +++ b/cmd/agent/dist/checks/libs/thread_pool.py @@ -1,7 +1,7 @@ # Unless explicitly stated otherwise all files in this repository are licensed # under the Apache License Version 2.0. # This product includes software developed at Datadog (https://www.datadoghq.com/). -# Copyright 2017 Datadog, Inc. +# Copyright 2018 Datadog, Inc. ## {{{ http://code.activestate.com/recipes/576519/ (r9) # Author: David Decotigny, Oct 1 2008 diff --git a/cmd/agent/dist/checks/libs/vmware/__init__.py b/cmd/agent/dist/checks/libs/vmware/__init__.py index e928844088737..574303066a7a4 100644 --- a/cmd/agent/dist/checks/libs/vmware/__init__.py +++ b/cmd/agent/dist/checks/libs/vmware/__init__.py @@ -1,5 +1,5 @@ # Unless explicitly stated otherwise all files in this repository are licensed # under the Apache License Version 2.0. # This product includes software developed at Datadog (https://www.datadoghq.com/). -# Copyright 2017 Datadog, Inc. +# Copyright 2018 Datadog, Inc. diff --git a/cmd/agent/dist/checks/libs/vmware/all_metrics.py b/cmd/agent/dist/checks/libs/vmware/all_metrics.py index 8573181a5b46e..68ba854d859ec 100644 --- a/cmd/agent/dist/checks/libs/vmware/all_metrics.py +++ b/cmd/agent/dist/checks/libs/vmware/all_metrics.py @@ -1,7 +1,7 @@ # Unless explicitly stated otherwise all files in this repository are licensed # under the Apache License Version 2.0. # This product includes software developed at Datadog (https://www.datadoghq.com/). -# Copyright 2017 Datadog, Inc. +# Copyright 2018 Datadog, Inc. # (C) Datadog, Inc. 2010-2016 # All rights reserved diff --git a/cmd/agent/dist/checks/libs/vmware/basic_metrics.py b/cmd/agent/dist/checks/libs/vmware/basic_metrics.py index 1dda736df8e7d..92cccdd180d83 100644 --- a/cmd/agent/dist/checks/libs/vmware/basic_metrics.py +++ b/cmd/agent/dist/checks/libs/vmware/basic_metrics.py @@ -1,7 +1,7 @@ # Unless explicitly stated otherwise all files in this repository are licensed # under the Apache License Version 2.0. # This product includes software developed at Datadog (https://www.datadoghq.com/). -# Copyright 2017 Datadog, Inc. +# Copyright 2018 Datadog, Inc. # (C) Datadog, Inc. 2010-2016 # All rights reserved diff --git a/cmd/agent/dist/checks/libs/win/__init__.py b/cmd/agent/dist/checks/libs/win/__init__.py index 8ea567d48b305..e9638e6f8fd21 100644 --- a/cmd/agent/dist/checks/libs/win/__init__.py +++ b/cmd/agent/dist/checks/libs/win/__init__.py @@ -1,4 +1,4 @@ # Unless explicitly stated otherwise all files in this repository are licensed # under the Apache License Version 2.0. # This product includes software developed at Datadog (https://www.datadoghq.com/). -# Copyright 2017 Datadog, Inc. +# Copyright 2018 Datadog, Inc. diff --git a/cmd/agent/dist/checks/libs/win/pdhbasecheck.py b/cmd/agent/dist/checks/libs/win/pdhbasecheck.py index 18a179b462fc9..6b84f82aede47 100644 --- a/cmd/agent/dist/checks/libs/win/pdhbasecheck.py +++ b/cmd/agent/dist/checks/libs/win/pdhbasecheck.py @@ -1,7 +1,7 @@ # Unless explicitly stated otherwise all files in this repository are licensed # under the Apache License Version 2.0. # This product includes software developed at Datadog (https://www.datadoghq.com/). -# Copyright 2017 Datadog, Inc. +# Copyright 2018 Datadog, Inc. # project from checks import AgentCheck diff --git a/cmd/agent/dist/checks/libs/win/winpdh.py b/cmd/agent/dist/checks/libs/win/winpdh.py index ffc995ced3e30..9e34d059a3d75 100644 --- a/cmd/agent/dist/checks/libs/win/winpdh.py +++ b/cmd/agent/dist/checks/libs/win/winpdh.py @@ -1,7 +1,7 @@ # Unless explicitly stated otherwise all files in this repository are licensed # under the Apache License Version 2.0. # This product includes software developed at Datadog (https://www.datadoghq.com/). -# Copyright 2017 Datadog, Inc. +# Copyright 2018 Datadog, Inc. import time import win32pdh diff --git a/cmd/agent/dist/checks/libs/wmi/__init__.py b/cmd/agent/dist/checks/libs/wmi/__init__.py index e928844088737..574303066a7a4 100644 --- a/cmd/agent/dist/checks/libs/wmi/__init__.py +++ b/cmd/agent/dist/checks/libs/wmi/__init__.py @@ -1,5 +1,5 @@ # Unless explicitly stated otherwise all files in this repository are licensed # under the Apache License Version 2.0. # This product includes software developed at Datadog (https://www.datadoghq.com/). -# Copyright 2017 Datadog, Inc. +# Copyright 2018 Datadog, Inc. diff --git a/cmd/agent/dist/checks/libs/wmi/counter_type.py b/cmd/agent/dist/checks/libs/wmi/counter_type.py index 5f8f550f0d02b..85d60b8295ff7 100644 --- a/cmd/agent/dist/checks/libs/wmi/counter_type.py +++ b/cmd/agent/dist/checks/libs/wmi/counter_type.py @@ -1,7 +1,7 @@ # Unless explicitly stated otherwise all files in this repository are licensed # under the Apache License Version 2.0. # This product includes software developed at Datadog (https://www.datadoghq.com/). -# Copyright 2017 Datadog, Inc. +# Copyright 2018 Datadog, Inc. """ Implementation of WMI calculators a few `CounterType`(s). diff --git a/cmd/agent/dist/checks/libs/wmi/sampler.py b/cmd/agent/dist/checks/libs/wmi/sampler.py index 306354d45557e..d45eaca683a13 100644 --- a/cmd/agent/dist/checks/libs/wmi/sampler.py +++ b/cmd/agent/dist/checks/libs/wmi/sampler.py @@ -1,7 +1,7 @@ # Unless explicitly stated otherwise all files in this repository are licensed # under the Apache License Version 2.0. # This product includes software developed at Datadog (https://www.datadoghq.com/). -# Copyright 2017 Datadog, Inc. +# Copyright 2018 Datadog, Inc. # pylint: disable=E0401 """ diff --git a/cmd/agent/dist/checks/network_checks.py b/cmd/agent/dist/checks/network_checks.py index 6cd2f4987aa10..3099900cb7e80 100644 --- a/cmd/agent/dist/checks/network_checks.py +++ b/cmd/agent/dist/checks/network_checks.py @@ -1,7 +1,7 @@ # Unless explicitly stated otherwise all files in this repository are licensed # under the Apache License Version 2.0. # This product includes software developed at Datadog (https://www.datadoghq.com/). -# Copyright 2017 Datadog, Inc. +# Copyright 2018 Datadog, Inc. from checks import AgentCheck diff --git a/cmd/agent/dist/checks/prometheus_check/prometheus_check.py b/cmd/agent/dist/checks/prometheus_check/prometheus_check.py index 2975dfe4519b5..afb65fa5f90b3 100644 --- a/cmd/agent/dist/checks/prometheus_check/prometheus_check.py +++ b/cmd/agent/dist/checks/prometheus_check/prometheus_check.py @@ -1,4 +1,4 @@ -# (C) Datadog, Inc. 2017 +# (C) Datadog, Inc. 2018 # All rights reserved # Licensed under Simplified BSD License (see LICENSE) diff --git a/cmd/agent/dist/checks/winwmi_check.py b/cmd/agent/dist/checks/winwmi_check.py index aa3808c14f1dc..e81111b9c522a 100644 --- a/cmd/agent/dist/checks/winwmi_check.py +++ b/cmd/agent/dist/checks/winwmi_check.py @@ -1,7 +1,7 @@ # Unless explicitly stated otherwise all files in this repository are licensed # under the Apache License Version 2.0. # This product includes software developed at Datadog (https://www.datadoghq.com/). -# Copyright 2017 Datadog, Inc. +# Copyright 2018 Datadog, Inc. # (C) Datadog, Inc. 2010-2016 # All rights reserved diff --git a/cmd/agent/dist/config.py b/cmd/agent/dist/config.py index 37665fbda9b29..9623345e9bb1f 100644 --- a/cmd/agent/dist/config.py +++ b/cmd/agent/dist/config.py @@ -1,7 +1,7 @@ # Unless explicitly stated otherwise all files in this repository are licensed # under the Apache License Version 2.0. # This product includes software developed at Datadog (https://www.datadoghq.com/). -# Copyright 2017 Datadog, Inc. +# Copyright 2018 Datadog, Inc. import logging diff --git a/cmd/agent/dist/utils/__init__.py b/cmd/agent/dist/utils/__init__.py index e928844088737..574303066a7a4 100644 --- a/cmd/agent/dist/utils/__init__.py +++ b/cmd/agent/dist/utils/__init__.py @@ -1,5 +1,5 @@ # Unless explicitly stated otherwise all files in this repository are licensed # under the Apache License Version 2.0. # This product includes software developed at Datadog (https://www.datadoghq.com/). -# Copyright 2017 Datadog, Inc. +# Copyright 2018 Datadog, Inc. diff --git a/cmd/agent/dist/utils/containers.py b/cmd/agent/dist/utils/containers.py index 78ec16d1d3242..21a3b98ddc9fa 100644 --- a/cmd/agent/dist/utils/containers.py +++ b/cmd/agent/dist/utils/containers.py @@ -1,7 +1,7 @@ # Unless explicitly stated otherwise all files in this repository are licensed # under the Apache License Version 2.0. # This product includes software developed at Datadog (https://www.datadoghq.com/). -# Copyright 2017 Datadog, Inc. +# Copyright 2018 Datadog, Inc. # (C) Datadog, Inc. 2010-2016 # All rights reserved diff --git a/cmd/agent/dist/utils/platform.py b/cmd/agent/dist/utils/platform.py index 228dec9c19ebc..1a0daf0c00003 100644 --- a/cmd/agent/dist/utils/platform.py +++ b/cmd/agent/dist/utils/platform.py @@ -1,7 +1,7 @@ # Unless explicitly stated otherwise all files in this repository are licensed # under the Apache License Version 2.0. # This product includes software developed at Datadog (https://www.datadoghq.com/). -# Copyright 2017 Datadog, Inc. +# Copyright 2018 Datadog, Inc. # (C) Datadog, Inc. 2010-2016 # All rights reserved diff --git a/cmd/agent/dist/utils/proxy.py b/cmd/agent/dist/utils/proxy.py index 5553962a857e0..01821e87bf004 100644 --- a/cmd/agent/dist/utils/proxy.py +++ b/cmd/agent/dist/utils/proxy.py @@ -1,7 +1,7 @@ # Unless explicitly stated otherwise all files in this repository are licensed # under the Apache License Version 2.0. # This product includes software developed at Datadog (https://www.datadoghq.com/). -# Copyright 2017 Datadog, Inc. +# Copyright 2018 Datadog, Inc. # (C) Datadog, Inc. 2010-2016 # All rights reserved diff --git a/cmd/agent/dist/utils/subprocess_output.py b/cmd/agent/dist/utils/subprocess_output.py index 494c537569c80..093e9b9d27639 100644 --- a/cmd/agent/dist/utils/subprocess_output.py +++ b/cmd/agent/dist/utils/subprocess_output.py @@ -1,9 +1,9 @@ # Unless explicitly stated otherwise all files in this repository are licensed # under the Apache License Version 2.0. # This product includes software developed at Datadog (https://www.datadoghq.com/). -# Copyright 2017 Datadog, Inc. +# Copyright 2018 Datadog, Inc. -# (C) Datadog, Inc. 2010-2017 +# (C) Datadog, Inc. 2010-2018 # All rights reserved import logging diff --git a/cmd/agent/dist/utils/tailfile.py b/cmd/agent/dist/utils/tailfile.py index d4f3bd05b9e87..adad04d71f51e 100644 --- a/cmd/agent/dist/utils/tailfile.py +++ b/cmd/agent/dist/utils/tailfile.py @@ -1,7 +1,7 @@ # Unless explicitly stated otherwise all files in this repository are licensed # under the Apache License Version 2.0. # This product includes software developed at Datadog (https://www.datadoghq.com/). -# Copyright 2017 Datadog, Inc. +# Copyright 2018 Datadog, Inc. # (C) Datadog, Inc. 2010-2016 # All rights reserved diff --git a/cmd/agent/dist/utils/timeout.py b/cmd/agent/dist/utils/timeout.py index 649a98f543133..9967c74d0acae 100644 --- a/cmd/agent/dist/utils/timeout.py +++ b/cmd/agent/dist/utils/timeout.py @@ -1,7 +1,7 @@ # Unless explicitly stated otherwise all files in this repository are licensed # under the Apache License Version 2.0. # This product includes software developed at Datadog (https://www.datadoghq.com/). -# Copyright 2017 Datadog, Inc. +# Copyright 2018 Datadog, Inc. # (C) Datadog, Inc. 2010-2016 # All rights reserved diff --git a/cmd/agent/dist/utils/timer.py b/cmd/agent/dist/utils/timer.py index d2c94bf6fc50d..4d1ce055096f6 100644 --- a/cmd/agent/dist/utils/timer.py +++ b/cmd/agent/dist/utils/timer.py @@ -1,9 +1,9 @@ # Unless explicitly stated otherwise all files in this repository are licensed # under the Apache License Version 2.0. # This product includes software developed at Datadog (https://www.datadoghq.com/). -# Copyright 2017 Datadog, Inc. +# Copyright 2018 Datadog, Inc. -# (C) Datadog, Inc. 2010-2017 +# (C) Datadog, Inc. 2010-2018 # All rights reserved # Licensed under Simplified BSD License (see LICENSE) diff --git a/cmd/agent/doc.go b/cmd/agent/doc.go index d6b40bd8fdfd4..393dfd629e901 100644 --- a/cmd/agent/doc.go +++ b/cmd/agent/doc.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. /* diff --git a/cmd/agent/main.go b/cmd/agent/main.go index 51bb140d2b6c8..ded9443bf1ef5 100644 --- a/cmd/agent/main.go +++ b/cmd/agent/main.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build !windows diff --git a/cmd/agent/main_windows.go b/cmd/agent/main_windows.go index aa2a06f3d4a78..bf1a6543f21df 100644 --- a/cmd/agent/main_windows.go +++ b/cmd/agent/main_windows.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. //go:generate go run ../../pkg/config/render_config.go agent ../../pkg/config/config_template.yaml ./dist/datadog.yaml diff --git a/cmd/cluster-agent/api/agent/agent.go b/cmd/cluster-agent/api/agent/agent.go index 539764ec34ad4..0f1e9770c9019 100644 --- a/cmd/cluster-agent/api/agent/agent.go +++ b/cmd/cluster-agent/api/agent/agent.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // Package agent implements the api endpoints for the `/agent` prefix. // This group of endpoints is meant to provide high-level functionalities diff --git a/cmd/cluster-agent/api/listener.go b/cmd/cluster-agent/api/listener.go index 352671c4019a0..eb78a37b21931 100644 --- a/cmd/cluster-agent/api/listener.go +++ b/cmd/cluster-agent/api/listener.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package api diff --git a/cmd/cluster-agent/api/server.go b/cmd/cluster-agent/api/server.go index 7091b315a8b75..ceb189cf1c374 100644 --- a/cmd/cluster-agent/api/server.go +++ b/cmd/cluster-agent/api/server.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. /* Package api implements the agent IPC api. Using HTTP diff --git a/cmd/cluster-agent/main.go b/cmd/cluster-agent/main.go index a9bf8945b8a7f..fd7d9f8049e57 100644 --- a/cmd/cluster-agent/main.go +++ b/cmd/cluster-agent/main.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package main diff --git a/cmd/dogstatsd/main.go b/cmd/dogstatsd/main.go index d56034b844dc6..c955282a71ce9 100644 --- a/cmd/dogstatsd/main.go +++ b/cmd/dogstatsd/main.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. //go:generate go run ../../pkg/config/render_config.go dogstatsd ../../pkg/config/config_template.yaml ./dist/dogstatsd.yaml diff --git a/cmd/dogstatsd/main_nix.go b/cmd/dogstatsd/main_nix.go index 16e4e0b8746b7..8d86e43d22980 100644 --- a/cmd/dogstatsd/main_nix.go +++ b/cmd/dogstatsd/main_nix.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build !windows diff --git a/cmd/dogstatsd/main_windows.go b/cmd/dogstatsd/main_windows.go index ec81d74866a62..d9db52d3726e6 100644 --- a/cmd/dogstatsd/main_windows.go +++ b/cmd/dogstatsd/main_windows.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package main diff --git a/cmd/logs/logs.go b/cmd/logs/logs.go index 2e18144928c67..dd466e4aeaa9c 100644 --- a/cmd/logs/logs.go +++ b/cmd/logs/logs.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package main diff --git a/cmd/logs/main.go b/cmd/logs/main.go index 14a43b1aefd61..37a8dfea59a5e 100644 --- a/cmd/logs/main.go +++ b/cmd/logs/main.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package main diff --git a/cmd/py-launcher/py-launcher.go b/cmd/py-launcher/py-launcher.go index 21e194f77cdab..05541b39ab421 100644 --- a/cmd/py-launcher/py-launcher.go +++ b/cmd/py-launcher/py-launcher.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package main diff --git a/omnibus/config/projects/agent.rb b/omnibus/config/projects/agent.rb index c2ef2a62165d4..7b0a7553fbcc5 100644 --- a/omnibus/config/projects/agent.rb +++ b/omnibus/config/projects/agent.rb @@ -1,7 +1,7 @@ # Unless explicitly stated otherwise all files in this repository are licensed # under the Apache License Version 2.0. # This product includes software developed at Datadog (https:#www.datadoghq.com/). -# Copyright 2017 Datadog, Inc. +# Copyright 2018 Datadog, Inc. require "./lib/ostools.rb" diff --git a/omnibus/config/projects/datadog-cluster-agent.rb b/omnibus/config/projects/datadog-cluster-agent.rb index db5a5d16d873a..ae00233952751 100644 --- a/omnibus/config/projects/datadog-cluster-agent.rb +++ b/omnibus/config/projects/datadog-cluster-agent.rb @@ -1,7 +1,7 @@ # Unless explicitly stated otherwise all files in this repository are licensed # under the Apache License Version 2.0. # This product includes software developed at Datadog (https:#www.datadoghq.com/). -# Copyright 2017 Datadog, Inc. +# Copyright 2018 Datadog, Inc. require "./lib/ostools.rb" diff --git a/omnibus/config/projects/dogstatsd.rb b/omnibus/config/projects/dogstatsd.rb index e8e4ac9c9eeb9..d63a5d98590bd 100644 --- a/omnibus/config/projects/dogstatsd.rb +++ b/omnibus/config/projects/dogstatsd.rb @@ -1,7 +1,7 @@ # Unless explicitly stated otherwise all files in this repository are licensed # under the Apache License Version 2.0. # This product includes software developed at Datadog (https:#www.datadoghq.com/). -# Copyright 2017 Datadog, Inc. +# Copyright 2018 Datadog, Inc. require "./lib/ostools.rb" diff --git a/omnibus/config/software/datadog-agent-finalize.rb b/omnibus/config/software/datadog-agent-finalize.rb index 2f25494450f8a..e59c5f1a3f547 100644 --- a/omnibus/config/software/datadog-agent-finalize.rb +++ b/omnibus/config/software/datadog-agent-finalize.rb @@ -1,7 +1,7 @@ # Unless explicitly stated otherwise all files in this repository are licensed # under the Apache License Version 2.0. # This product includes software developed at Datadog (https:#www.datadoghq.com/). -# Copyright 2017 Datadog, Inc. +# Copyright 2018 Datadog, Inc. # This software definition doesn"t build anything, it"s the place where we create # files outside the omnibus installation directory, so that we can add them to diff --git a/omnibus/config/software/datadog-agent-integrations.rb b/omnibus/config/software/datadog-agent-integrations.rb index 19c08ba623bab..c7b995ce4708c 100644 --- a/omnibus/config/software/datadog-agent-integrations.rb +++ b/omnibus/config/software/datadog-agent-integrations.rb @@ -1,7 +1,7 @@ # Unless explicitly stated otherwise all files in this repository are licensed # under the Apache License Version 2.0. # This product includes software developed at Datadog (https:#www.datadoghq.com/). -# Copyright 2017 Datadog, Inc. +# Copyright 2018 Datadog, Inc. require './lib/ostools.rb' diff --git a/omnibus/config/software/datadog-agent-prepare.rb b/omnibus/config/software/datadog-agent-prepare.rb index 8a800e418de7f..9872484a8c4aa 100644 --- a/omnibus/config/software/datadog-agent-prepare.rb +++ b/omnibus/config/software/datadog-agent-prepare.rb @@ -1,7 +1,7 @@ # Unless explicitly stated otherwise all files in this repository are licensed # under the Apache License Version 2.0. # This product includes software developed at Datadog (https:#www.datadoghq.com/). -# Copyright 2017 Datadog, Inc. +# Copyright 2018 Datadog, Inc. name "datadog-agent-prepare" description "steps required to preprare the build" diff --git a/omnibus/config/software/datadog-agent.rb b/omnibus/config/software/datadog-agent.rb index 01edd19604bc8..7a469cdfafd3a 100644 --- a/omnibus/config/software/datadog-agent.rb +++ b/omnibus/config/software/datadog-agent.rb @@ -1,7 +1,7 @@ # Unless explicitly stated otherwise all files in this repository are licensed # under the Apache License Version 2.0. # This product includes software developed at Datadog (https:#www.datadoghq.com/). -# Copyright 2017 Datadog, Inc. +# Copyright 2018 Datadog, Inc. require './lib/ostools.rb' require 'pathname' diff --git a/omnibus/config/software/datadog-cluster-agent-finalize.rb b/omnibus/config/software/datadog-cluster-agent-finalize.rb index 3e4150f2ca7e5..dfa455f1af741 100644 --- a/omnibus/config/software/datadog-cluster-agent-finalize.rb +++ b/omnibus/config/software/datadog-cluster-agent-finalize.rb @@ -1,7 +1,7 @@ # Unless explicitly stated otherwise all files in this repository are licensed # under the Apache License Version 2.0. # This product includes software developed at Datadog (https:#www.datadoghq.com/). -# Copyright 2017 Datadog, Inc. +# Copyright 2018 Datadog, Inc. # This software definition doesn"t build anything, it"s the place where we create # files outside the omnibus installation directory, so that we can add them to diff --git a/omnibus/config/software/datadog-cluster-agent.rb b/omnibus/config/software/datadog-cluster-agent.rb index 98a8deca0533b..41ac6ce4fdea3 100644 --- a/omnibus/config/software/datadog-cluster-agent.rb +++ b/omnibus/config/software/datadog-cluster-agent.rb @@ -1,7 +1,7 @@ # Unless explicitly stated otherwise all files in this repository are licensed # under the Apache License Version 2.0. # This product includes software developed at Datadog (https:#www.datadoghq.com/). -# Copyright 2017 Datadog, Inc. +# Copyright 2018 Datadog, Inc. require './lib/ostools.rb' require 'pathname' diff --git a/omnibus/config/software/datadog-dogstatsd-finalize.rb b/omnibus/config/software/datadog-dogstatsd-finalize.rb index 570d45e19815a..8b7952ce5973a 100644 --- a/omnibus/config/software/datadog-dogstatsd-finalize.rb +++ b/omnibus/config/software/datadog-dogstatsd-finalize.rb @@ -1,7 +1,7 @@ # Unless explicitly stated otherwise all files in this repository are licensed # under the Apache License Version 2.0. # This product includes software developed at Datadog (https:#www.datadoghq.com/). -# Copyright 2017 Datadog, Inc. +# Copyright 2018 Datadog, Inc. # This software definition doesn"t build anything, it"s the place where we create # files outside the omnibus installation directory, so that we can add them to diff --git a/omnibus/config/software/datadog-dogstatsd.rb b/omnibus/config/software/datadog-dogstatsd.rb index da5bc0ff59ac0..5d03bfc46936e 100644 --- a/omnibus/config/software/datadog-dogstatsd.rb +++ b/omnibus/config/software/datadog-dogstatsd.rb @@ -1,7 +1,7 @@ # Unless explicitly stated otherwise all files in this repository are licensed # under the Apache License Version 2.0. # This product includes software developed at Datadog (https:#www.datadoghq.com/). -# Copyright 2017 Datadog, Inc. +# Copyright 2018 Datadog, Inc. require 'pathname' name 'datadog-dogstatsd' diff --git a/omnibus/config/software/datadog-logs-agent-win.rb b/omnibus/config/software/datadog-logs-agent-win.rb index 83348faf071f8..9b4732809d540 100644 --- a/omnibus/config/software/datadog-logs-agent-win.rb +++ b/omnibus/config/software/datadog-logs-agent-win.rb @@ -1,7 +1,7 @@ # Unless explicitly stated otherwise all files in this repository are licensed # under the Apache License Version 2.0. # This product includes software developed at Datadog (https:#www.datadoghq.com/). -# Copyright 2017 Datadog, Inc. +# Copyright 2018 Datadog, Inc. require "./lib/ostools.rb" require 'pathname' diff --git a/omnibus/config/software/datadog-logs-agent.rb b/omnibus/config/software/datadog-logs-agent.rb index fee1e823a8148..765de785b179f 100644 --- a/omnibus/config/software/datadog-logs-agent.rb +++ b/omnibus/config/software/datadog-logs-agent.rb @@ -1,7 +1,7 @@ # Unless explicitly stated otherwise all files in this repository are licensed # under the Apache License Version 2.0. # This product includes software developed at Datadog (https:#www.datadoghq.com/). -# Copyright 2017 Datadog, Inc. +# Copyright 2018 Datadog, Inc. require 'pathname' diff --git a/omnibus/config/software/datadog-process-agent.rb b/omnibus/config/software/datadog-process-agent.rb index d25ed518dbcde..227e357453e81 100644 --- a/omnibus/config/software/datadog-process-agent.rb +++ b/omnibus/config/software/datadog-process-agent.rb @@ -1,7 +1,7 @@ # Unless explicitly stated otherwise all files in this repository are licensed # under the Apache License Version 2.0. # This product includes software developed at Datadog (https:#www.datadoghq.com/). -# Copyright 2017 Datadog, Inc. +# Copyright 2018 Datadog, Inc. name "datadog-process-agent" always_build true diff --git a/omnibus/config/software/datadog-trace-agent.rb b/omnibus/config/software/datadog-trace-agent.rb index 89b6cd85b378f..3ac2aa27d98fb 100644 --- a/omnibus/config/software/datadog-trace-agent.rb +++ b/omnibus/config/software/datadog-trace-agent.rb @@ -1,7 +1,7 @@ # Unless explicitly stated otherwise all files in this repository are licensed # under the Apache License Version 2.0. # This product includes software developed at Datadog (https:#www.datadoghq.com/). -# Copyright 2017 Datadog, Inc. +# Copyright 2018 Datadog, Inc. require "./lib/ostools.rb" require 'pathname' diff --git a/omnibus/config/software/jmxfetch.rb b/omnibus/config/software/jmxfetch.rb index fa0f110bd4266..a6ecbbe14dac1 100644 --- a/omnibus/config/software/jmxfetch.rb +++ b/omnibus/config/software/jmxfetch.rb @@ -1,7 +1,7 @@ # Unless explicitly stated otherwise all files in this repository are licensed # under the Apache License Version 2.0. # This product includes software developed at Datadog (https:#www.datadoghq.com/). -# Copyright 2017 Datadog, Inc. +# Copyright 2018 Datadog, Inc. name "jmxfetch" diff --git a/omnibus/config/software/sysstat.rb b/omnibus/config/software/sysstat.rb index 837559c299b14..bd7b3895557d4 100644 --- a/omnibus/config/software/sysstat.rb +++ b/omnibus/config/software/sysstat.rb @@ -1,7 +1,7 @@ # Unless explicitly stated otherwise all files in this repository are licensed # under the Apache License Version 2.0. # This product includes software developed at Datadog (https:#www.datadoghq.com/). -# Copyright 2017 Datadog, Inc. +# Copyright 2018 Datadog, Inc. name "sysstat" default_version "11.1.3" @@ -31,4 +31,4 @@ ].join(" "), :env => env) command "make -j #{workers}", :env => { "LD_RUN_PATH" => "#{install_dir}/embedded/lib" } command "make install" -end \ No newline at end of file +end diff --git a/omnibus/omnibus.rb b/omnibus/omnibus.rb index 818675bdfb66c..f9cb341cf73bc 100644 --- a/omnibus/omnibus.rb +++ b/omnibus/omnibus.rb @@ -1,7 +1,7 @@ # Unless explicitly stated otherwise all files in this repository are licensed # under the Apache License Version 2.0. # This product includes software developed at Datadog (https:#www.datadoghq.com/). -# Copyright 2017 Datadog, Inc. +# Copyright 2018 Datadog, Inc. windows_arch :x86_64 # Don't append a timestamp to the package version diff --git a/omnibus/resources/agent/pkg/license.html.erb b/omnibus/resources/agent/pkg/license.html.erb index 027579476595a..af2dc47994ec7 100644 --- a/omnibus/resources/agent/pkg/license.html.erb +++ b/omnibus/resources/agent/pkg/license.html.erb @@ -1,4 +1,4 @@ -Copyright 2017 Datadog, Inc. +Copyright 2018 Datadog, Inc. Licensed 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 diff --git a/pkg/aggregator/aggregator.go b/pkg/aggregator/aggregator.go index 6a4cb5d8ad6e8..29c11d652f130 100644 --- a/pkg/aggregator/aggregator.go +++ b/pkg/aggregator/aggregator.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package aggregator diff --git a/pkg/aggregator/aggregator_test.go b/pkg/aggregator/aggregator_test.go index 96ff525dc3032..b71a18f9c14da 100644 --- a/pkg/aggregator/aggregator_test.go +++ b/pkg/aggregator/aggregator_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package aggregator diff --git a/pkg/aggregator/check_sampler.go b/pkg/aggregator/check_sampler.go index 0895350bae20d..08000f8b1fc20 100644 --- a/pkg/aggregator/check_sampler.go +++ b/pkg/aggregator/check_sampler.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package aggregator diff --git a/pkg/aggregator/check_sampler_test.go b/pkg/aggregator/check_sampler_test.go index 14aa688291a32..11250abbb7b99 100644 --- a/pkg/aggregator/check_sampler_test.go +++ b/pkg/aggregator/check_sampler_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package aggregator diff --git a/pkg/aggregator/ckey/key.go b/pkg/aggregator/ckey/key.go index be7abf4cb5ff0..61379a7a4fec9 100644 --- a/pkg/aggregator/ckey/key.go +++ b/pkg/aggregator/ckey/key.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package ckey diff --git a/pkg/aggregator/ckey/key_test.go b/pkg/aggregator/ckey/key_test.go index 1c2affcb29e5e..387f8a4f6bf4d 100644 --- a/pkg/aggregator/ckey/key_test.go +++ b/pkg/aggregator/ckey/key_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package ckey diff --git a/pkg/aggregator/ckey/sort.go b/pkg/aggregator/ckey/sort.go index 0066e43327fe7..0b7bb1798bc5d 100644 --- a/pkg/aggregator/ckey/sort.go +++ b/pkg/aggregator/ckey/sort.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package ckey diff --git a/pkg/aggregator/context_resolver.go b/pkg/aggregator/context_resolver.go index 5931909daaa5d..4ef4804f1f19c 100644 --- a/pkg/aggregator/context_resolver.go +++ b/pkg/aggregator/context_resolver.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package aggregator diff --git a/pkg/aggregator/context_resolver_test.go b/pkg/aggregator/context_resolver_test.go index 652cca4ca0a84..994c036700cad 100644 --- a/pkg/aggregator/context_resolver_test.go +++ b/pkg/aggregator/context_resolver_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package aggregator diff --git a/pkg/aggregator/dist_sampler.go b/pkg/aggregator/dist_sampler.go index 37ee237fc926f..3af4a41bf9f13 100644 --- a/pkg/aggregator/dist_sampler.go +++ b/pkg/aggregator/dist_sampler.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // NOTE: This file contains a feature in development that is NOT supported. diff --git a/pkg/aggregator/dist_sampler_test.go b/pkg/aggregator/dist_sampler_test.go index 5125d6099d6a0..5f4989ffa8ada 100644 --- a/pkg/aggregator/dist_sampler_test.go +++ b/pkg/aggregator/dist_sampler_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package aggregator diff --git a/pkg/aggregator/mocksender/asserts.go b/pkg/aggregator/mocksender/asserts.go index eb6a881013895..bfcb8d94bc454 100644 --- a/pkg/aggregator/mocksender/asserts.go +++ b/pkg/aggregator/mocksender/asserts.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package mocksender diff --git a/pkg/aggregator/mocksender/asserts_test.go b/pkg/aggregator/mocksender/asserts_test.go index 163afc3e7e948..1fccf5c2cb02b 100644 --- a/pkg/aggregator/mocksender/asserts_test.go +++ b/pkg/aggregator/mocksender/asserts_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package mocksender diff --git a/pkg/aggregator/mocksender/mocked_methods.go b/pkg/aggregator/mocksender/mocked_methods.go index e161fe3380cad..ac671a879682d 100644 --- a/pkg/aggregator/mocksender/mocked_methods.go +++ b/pkg/aggregator/mocksender/mocked_methods.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package mocksender diff --git a/pkg/aggregator/mocksender/mocksender.go b/pkg/aggregator/mocksender/mocksender.go index 787cf9323c2c7..a5eb374194a3a 100644 --- a/pkg/aggregator/mocksender/mocksender.go +++ b/pkg/aggregator/mocksender/mocksender.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package mocksender diff --git a/pkg/aggregator/sender.go b/pkg/aggregator/sender.go index 477dc48fe2164..6ebefae72a4f9 100644 --- a/pkg/aggregator/sender.go +++ b/pkg/aggregator/sender.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package aggregator diff --git a/pkg/aggregator/sender_test.go b/pkg/aggregator/sender_test.go index 83bcd177317f1..dadc8bed9b033 100644 --- a/pkg/aggregator/sender_test.go +++ b/pkg/aggregator/sender_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package aggregator diff --git a/pkg/aggregator/time_sampler.go b/pkg/aggregator/time_sampler.go index f60b64c66bf49..3ef9c2393840d 100644 --- a/pkg/aggregator/time_sampler.go +++ b/pkg/aggregator/time_sampler.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package aggregator diff --git a/pkg/aggregator/time_sampler_test.go b/pkg/aggregator/time_sampler_test.go index 179627c0e88a1..a54fd9fb375e2 100644 --- a/pkg/aggregator/time_sampler_test.go +++ b/pkg/aggregator/time_sampler_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package aggregator diff --git a/pkg/api/security/security.go b/pkg/api/security/security.go index 48ae96206281a..00ab3abb7b1d9 100644 --- a/pkg/api/security/security.go +++ b/pkg/api/security/security.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package security diff --git a/pkg/api/util/doget.go b/pkg/api/util/doget.go index 2ac1d7e278e77..6405cb78dbde5 100644 --- a/pkg/api/util/doget.go +++ b/pkg/api/util/doget.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package util diff --git a/pkg/api/util/util.go b/pkg/api/util/util.go index 98dcb60cce0df..09616904abfa4 100644 --- a/pkg/api/util/util.go +++ b/pkg/api/util/util.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package util diff --git a/pkg/clusteragent/clusteragent.go b/pkg/clusteragent/clusteragent.go index 3bd6246927d88..8ca08ec345f92 100644 --- a/pkg/clusteragent/clusteragent.go +++ b/pkg/clusteragent/clusteragent.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package clusteragent diff --git a/pkg/collector/autodiscovery/autoconfig.go b/pkg/collector/autodiscovery/autoconfig.go index 505c29a1e3cd2..dbb683f966ac6 100644 --- a/pkg/collector/autodiscovery/autoconfig.go +++ b/pkg/collector/autodiscovery/autoconfig.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package autodiscovery diff --git a/pkg/collector/autodiscovery/autoconfig_test.go b/pkg/collector/autodiscovery/autoconfig_test.go index f7b13fa34eee1..9e74a37f23be2 100644 --- a/pkg/collector/autodiscovery/autoconfig_test.go +++ b/pkg/collector/autodiscovery/autoconfig_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package autodiscovery diff --git a/pkg/collector/autodiscovery/configresolver.go b/pkg/collector/autodiscovery/configresolver.go index 658e71fb6b3cf..f534300dc9877 100644 --- a/pkg/collector/autodiscovery/configresolver.go +++ b/pkg/collector/autodiscovery/configresolver.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package autodiscovery diff --git a/pkg/collector/autodiscovery/configresolver_test.go b/pkg/collector/autodiscovery/configresolver_test.go index fbd8815c329d2..7dd463a23510b 100644 --- a/pkg/collector/autodiscovery/configresolver_test.go +++ b/pkg/collector/autodiscovery/configresolver_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build docker diff --git a/pkg/collector/autodiscovery/stats.go b/pkg/collector/autodiscovery/stats.go index a6c51c3b54fef..67e099fc914d7 100644 --- a/pkg/collector/autodiscovery/stats.go +++ b/pkg/collector/autodiscovery/stats.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package autodiscovery diff --git a/pkg/collector/autodiscovery/templatecache.go b/pkg/collector/autodiscovery/templatecache.go index 7ee9e2d0e476d..84779e6de2cf7 100644 --- a/pkg/collector/autodiscovery/templatecache.go +++ b/pkg/collector/autodiscovery/templatecache.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package autodiscovery diff --git a/pkg/collector/autodiscovery/templatecache_test.go b/pkg/collector/autodiscovery/templatecache_test.go index 4ee7d3b47d6f5..df3d73187ed6a 100644 --- a/pkg/collector/autodiscovery/templatecache_test.go +++ b/pkg/collector/autodiscovery/templatecache_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package autodiscovery diff --git a/pkg/collector/check/check.go b/pkg/collector/check/check.go index 39dd9ac0142ff..67e3906df2fd6 100644 --- a/pkg/collector/check/check.go +++ b/pkg/collector/check/check.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package check diff --git a/pkg/collector/check/check_test.go b/pkg/collector/check/check_test.go index bd48ca9df4145..b30b4d6c9c641 100644 --- a/pkg/collector/check/check_test.go +++ b/pkg/collector/check/check_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package check diff --git a/pkg/collector/check/id.go b/pkg/collector/check/id.go index 78d0c251d206a..2388d4481bf14 100644 --- a/pkg/collector/check/id.go +++ b/pkg/collector/check/id.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package check diff --git a/pkg/collector/check/id_test.go b/pkg/collector/check/id_test.go index 455a529470833..34a7d62f267ae 100644 --- a/pkg/collector/check/id_test.go +++ b/pkg/collector/check/id_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package check diff --git a/pkg/collector/check/loader.go b/pkg/collector/check/loader.go index 803412b49a918..1bee5fd6b015c 100644 --- a/pkg/collector/check/loader.go +++ b/pkg/collector/check/loader.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package check diff --git a/pkg/collector/check/retry.go b/pkg/collector/check/retry.go index 974c8c20cfd4e..fa2ba8b48092c 100644 --- a/pkg/collector/check/retry.go +++ b/pkg/collector/check/retry.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package check diff --git a/pkg/collector/collector.go b/pkg/collector/collector.go index d1b24f06ecf01..bf9c0e9139f90 100644 --- a/pkg/collector/collector.go +++ b/pkg/collector/collector.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package collector diff --git a/pkg/collector/collector_test.go b/pkg/collector/collector_test.go index a83eb2b6b3cfb..c28fec82b8110 100644 --- a/pkg/collector/collector_test.go +++ b/pkg/collector/collector_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package collector diff --git a/pkg/collector/corechecks/cluster/doc.go b/pkg/collector/corechecks/cluster/doc.go index 187dfc7d2f768..e1848da98f9c0 100644 --- a/pkg/collector/corechecks/cluster/doc.go +++ b/pkg/collector/corechecks/cluster/doc.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. /* Package cluster provides core checks for cluster level checks, used by the Datadog Cluster Agent. diff --git a/pkg/collector/corechecks/cluster/kubernetes_apiserver.go b/pkg/collector/corechecks/cluster/kubernetes_apiserver.go index 71353e13ab4e6..6585525f7db0f 100644 --- a/pkg/collector/corechecks/cluster/kubernetes_apiserver.go +++ b/pkg/collector/corechecks/cluster/kubernetes_apiserver.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build kubeapiserver package cluster diff --git a/pkg/collector/corechecks/cluster/kubernetes_apiserver_test.go b/pkg/collector/corechecks/cluster/kubernetes_apiserver_test.go index 45f93258e0a08..0935c43d44828 100644 --- a/pkg/collector/corechecks/cluster/kubernetes_apiserver_test.go +++ b/pkg/collector/corechecks/cluster/kubernetes_apiserver_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build kubeapiserver package cluster diff --git a/pkg/collector/corechecks/containers/doc.go b/pkg/collector/corechecks/containers/doc.go index 4be6f1a199597..584d2029f88d3 100644 --- a/pkg/collector/corechecks/containers/doc.go +++ b/pkg/collector/corechecks/containers/doc.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. /* Package containers provides core checks for containers and orchestrators diff --git a/pkg/collector/corechecks/containers/docker.go b/pkg/collector/corechecks/containers/docker.go index f06485053ff04..8195e61df333b 100644 --- a/pkg/collector/corechecks/containers/docker.go +++ b/pkg/collector/corechecks/containers/docker.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build docker diff --git a/pkg/collector/corechecks/containers/docker_eventbundle.go b/pkg/collector/corechecks/containers/docker_eventbundle.go index 244fae74763f3..b841116d2a019 100644 --- a/pkg/collector/corechecks/containers/docker_eventbundle.go +++ b/pkg/collector/corechecks/containers/docker_eventbundle.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build docker diff --git a/pkg/collector/corechecks/containers/docker_events.go b/pkg/collector/corechecks/containers/docker_events.go index a3c94218428cf..ef2ac1a02bcd9 100644 --- a/pkg/collector/corechecks/containers/docker_events.go +++ b/pkg/collector/corechecks/containers/docker_events.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build docker diff --git a/pkg/collector/corechecks/containers/docker_events_test.go b/pkg/collector/corechecks/containers/docker_events_test.go index e8bffe372cf2a..b57912a3ff615 100644 --- a/pkg/collector/corechecks/containers/docker_events_test.go +++ b/pkg/collector/corechecks/containers/docker_events_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build docker diff --git a/pkg/collector/corechecks/containers/docker_rate_capping.go b/pkg/collector/corechecks/containers/docker_rate_capping.go index debdc8a7957f7..90aac7848fa6d 100644 --- a/pkg/collector/corechecks/containers/docker_rate_capping.go +++ b/pkg/collector/corechecks/containers/docker_rate_capping.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build docker diff --git a/pkg/collector/corechecks/containers/docker_rate_capping_test.go b/pkg/collector/corechecks/containers/docker_rate_capping_test.go index c7818b4bcd61c..e360cf4a19d67 100644 --- a/pkg/collector/corechecks/containers/docker_rate_capping_test.go +++ b/pkg/collector/corechecks/containers/docker_rate_capping_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build docker diff --git a/pkg/collector/corechecks/embed/apm.go b/pkg/collector/corechecks/embed/apm.go index 1cf122d904ed1..9109df744a172 100644 --- a/pkg/collector/corechecks/embed/apm.go +++ b/pkg/collector/corechecks/embed/apm.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build apm diff --git a/pkg/collector/corechecks/embed/apm_nix.go b/pkg/collector/corechecks/embed/apm_nix.go index b6e17652e8e3a..d8d96ddbc4d2e 100644 --- a/pkg/collector/corechecks/embed/apm_nix.go +++ b/pkg/collector/corechecks/embed/apm_nix.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build !windows // +build apm diff --git a/pkg/collector/corechecks/embed/apm_windows.go b/pkg/collector/corechecks/embed/apm_windows.go index 6b6c0e0c17dfc..4a88499888edc 100644 --- a/pkg/collector/corechecks/embed/apm_windows.go +++ b/pkg/collector/corechecks/embed/apm_windows.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build windows // +build apm diff --git a/pkg/collector/corechecks/embed/jmx.go b/pkg/collector/corechecks/embed/jmx.go index f1befad200746..d6bfd80985768 100644 --- a/pkg/collector/corechecks/embed/jmx.go +++ b/pkg/collector/corechecks/embed/jmx.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build jmx diff --git a/pkg/collector/corechecks/embed/jmx_nix.go b/pkg/collector/corechecks/embed/jmx_nix.go index 6713b321a4f97..746ef331cf59a 100644 --- a/pkg/collector/corechecks/embed/jmx_nix.go +++ b/pkg/collector/corechecks/embed/jmx_nix.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build !windows diff --git a/pkg/collector/corechecks/embed/jmx_test.go b/pkg/collector/corechecks/embed/jmx_test.go index 0b5d3b6c1f7a4..28122344bcdc3 100644 --- a/pkg/collector/corechecks/embed/jmx_test.go +++ b/pkg/collector/corechecks/embed/jmx_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build jmx diff --git a/pkg/collector/corechecks/embed/jmx_windows.go b/pkg/collector/corechecks/embed/jmx_windows.go index 18aaf5c5e2ccb..a9e1a030bcad8 100644 --- a/pkg/collector/corechecks/embed/jmx_windows.go +++ b/pkg/collector/corechecks/embed/jmx_windows.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package embed diff --git a/pkg/collector/corechecks/embed/jmxloader.go b/pkg/collector/corechecks/embed/jmxloader.go index e6ce8e29712b2..8c84aedffb21d 100644 --- a/pkg/collector/corechecks/embed/jmxloader.go +++ b/pkg/collector/corechecks/embed/jmxloader.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build jmx diff --git a/pkg/collector/corechecks/embed/jmxloader_test.go b/pkg/collector/corechecks/embed/jmxloader_test.go index b29356afa55ab..ba68590e5d370 100644 --- a/pkg/collector/corechecks/embed/jmxloader_test.go +++ b/pkg/collector/corechecks/embed/jmxloader_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build jmx diff --git a/pkg/collector/corechecks/embed/logs-agent.go b/pkg/collector/corechecks/embed/logs-agent.go index fa1290338e215..aa94a419acb20 100644 --- a/pkg/collector/corechecks/embed/logs-agent.go +++ b/pkg/collector/corechecks/embed/logs-agent.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build log diff --git a/pkg/collector/corechecks/embed/process_agent.go b/pkg/collector/corechecks/embed/process_agent.go index 4b876722281c1..35f20a910b987 100644 --- a/pkg/collector/corechecks/embed/process_agent.go +++ b/pkg/collector/corechecks/embed/process_agent.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build process diff --git a/pkg/collector/corechecks/loader.go b/pkg/collector/corechecks/loader.go index fdeecb2a005e6..782616aec8516 100644 --- a/pkg/collector/corechecks/loader.go +++ b/pkg/collector/corechecks/loader.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package corechecks diff --git a/pkg/collector/corechecks/loader_test.go b/pkg/collector/corechecks/loader_test.go index 5ca2f36569d1b..f5f8b1dd9cd58 100644 --- a/pkg/collector/corechecks/loader_test.go +++ b/pkg/collector/corechecks/loader_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package corechecks diff --git a/pkg/collector/corechecks/network/doc.go b/pkg/collector/corechecks/network/doc.go index e458dafec5bf3..269ce01ba9338 100644 --- a/pkg/collector/corechecks/network/doc.go +++ b/pkg/collector/corechecks/network/doc.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. /* Package network provides core checks for networking diff --git a/pkg/collector/corechecks/network/ntp.go b/pkg/collector/corechecks/network/ntp.go index 4766e8a28e6ea..e40b0e2a19d3e 100644 --- a/pkg/collector/corechecks/network/ntp.go +++ b/pkg/collector/corechecks/network/ntp.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package network diff --git a/pkg/collector/corechecks/network/ntp_test.go b/pkg/collector/corechecks/network/ntp_test.go index f45e5ffac2f84..b62a49b017a57 100644 --- a/pkg/collector/corechecks/network/ntp_test.go +++ b/pkg/collector/corechecks/network/ntp_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package network diff --git a/pkg/collector/corechecks/network/snmp.go b/pkg/collector/corechecks/network/snmp.go index ca351b2e04326..04012589b340b 100644 --- a/pkg/collector/corechecks/network/snmp.go +++ b/pkg/collector/corechecks/network/snmp.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build !windows // +build snmp diff --git a/pkg/collector/corechecks/network/snmp_test.go b/pkg/collector/corechecks/network/snmp_test.go index d4deb999135ed..bc730e1688aad 100644 --- a/pkg/collector/corechecks/network/snmp_test.go +++ b/pkg/collector/corechecks/network/snmp_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build !windows // +build snmp diff --git a/pkg/collector/corechecks/system/cpu.go b/pkg/collector/corechecks/system/cpu.go index 3c23bcf82ad83..81d5f2193f447 100644 --- a/pkg/collector/corechecks/system/cpu.go +++ b/pkg/collector/corechecks/system/cpu.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package system diff --git a/pkg/collector/corechecks/system/cpu_test.go b/pkg/collector/corechecks/system/cpu_test.go index 0e874ba948d32..03047e2c787da 100644 --- a/pkg/collector/corechecks/system/cpu_test.go +++ b/pkg/collector/corechecks/system/cpu_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package system diff --git a/pkg/collector/corechecks/system/file_handles.go b/pkg/collector/corechecks/system/file_handles.go index cae82ae9e7110..3af4185f1651d 100644 --- a/pkg/collector/corechecks/system/file_handles.go +++ b/pkg/collector/corechecks/system/file_handles.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build !windows package system diff --git a/pkg/collector/corechecks/system/file_handles_test.go b/pkg/collector/corechecks/system/file_handles_test.go index eb1bea533d944..0e0fb5ad50a9c 100644 --- a/pkg/collector/corechecks/system/file_handles_test.go +++ b/pkg/collector/corechecks/system/file_handles_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build !windows package system diff --git a/pkg/collector/corechecks/system/iostats.go b/pkg/collector/corechecks/system/iostats.go index d1b61af3e4b21..7ba6ab7201c63 100644 --- a/pkg/collector/corechecks/system/iostats.go +++ b/pkg/collector/corechecks/system/iostats.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package system diff --git a/pkg/collector/corechecks/system/iostats_nix.go b/pkg/collector/corechecks/system/iostats_nix.go index 5d8f8a8abf01f..6a4400747a58f 100644 --- a/pkg/collector/corechecks/system/iostats_nix.go +++ b/pkg/collector/corechecks/system/iostats_nix.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build !windows diff --git a/pkg/collector/corechecks/system/iostats_test.go b/pkg/collector/corechecks/system/iostats_test.go index 7bd7a4b61eb83..038c2384fafb2 100644 --- a/pkg/collector/corechecks/system/iostats_test.go +++ b/pkg/collector/corechecks/system/iostats_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build !windows package system diff --git a/pkg/collector/corechecks/system/iostats_wmi_windows.go b/pkg/collector/corechecks/system/iostats_wmi_windows.go index 484ab8d64ad90..0f4cc02060597 100644 --- a/pkg/collector/corechecks/system/iostats_wmi_windows.go +++ b/pkg/collector/corechecks/system/iostats_wmi_windows.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package system diff --git a/pkg/collector/corechecks/system/load.go b/pkg/collector/corechecks/system/load.go index cd40320c05201..1fef2efdda12a 100644 --- a/pkg/collector/corechecks/system/load.go +++ b/pkg/collector/corechecks/system/load.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package system diff --git a/pkg/collector/corechecks/system/load_test.go b/pkg/collector/corechecks/system/load_test.go index 9169669d99b12..e0d9e7bf1560f 100644 --- a/pkg/collector/corechecks/system/load_test.go +++ b/pkg/collector/corechecks/system/load_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package system diff --git a/pkg/collector/corechecks/system/memory.go b/pkg/collector/corechecks/system/memory.go index 29a3b92f2e3bf..7b4ffce50a44f 100644 --- a/pkg/collector/corechecks/system/memory.go +++ b/pkg/collector/corechecks/system/memory.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package system diff --git a/pkg/collector/corechecks/system/memory_test.go b/pkg/collector/corechecks/system/memory_test.go index 73f4b73923b52..bf5be38e07f05 100644 --- a/pkg/collector/corechecks/system/memory_test.go +++ b/pkg/collector/corechecks/system/memory_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package system diff --git a/pkg/collector/corechecks/system/uptime.go b/pkg/collector/corechecks/system/uptime.go index ec90bdb686208..f9463689aa650 100644 --- a/pkg/collector/corechecks/system/uptime.go +++ b/pkg/collector/corechecks/system/uptime.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package system diff --git a/pkg/collector/corechecks/system/uptime_test.go b/pkg/collector/corechecks/system/uptime_test.go index 23f00b3ab5d01..d2905601b0373 100644 --- a/pkg/collector/corechecks/system/uptime_test.go +++ b/pkg/collector/corechecks/system/uptime_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package system diff --git a/pkg/collector/embed.go b/pkg/collector/embed.go index 5573c5e4991ed..3744b2fba1818 100644 --- a/pkg/collector/embed.go +++ b/pkg/collector/embed.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build cpython diff --git a/pkg/collector/embed_nopy.go b/pkg/collector/embed_nopy.go index 2e7b533931f53..7690ca18b2c74 100644 --- a/pkg/collector/embed_nopy.go +++ b/pkg/collector/embed_nopy.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build !cpython diff --git a/pkg/collector/listeners/docker.go b/pkg/collector/listeners/docker.go index ee8b1e25ff21b..27f644cd20d3e 100644 --- a/pkg/collector/listeners/docker.go +++ b/pkg/collector/listeners/docker.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build docker diff --git a/pkg/collector/listeners/docker_kubelet.go b/pkg/collector/listeners/docker_kubelet.go index 866eb87d65962..c21f5d6d48ba1 100644 --- a/pkg/collector/listeners/docker_kubelet.go +++ b/pkg/collector/listeners/docker_kubelet.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build docker,kubelet diff --git a/pkg/collector/listeners/docker_nokubelet.go b/pkg/collector/listeners/docker_nokubelet.go index 40d455efedaa6..3b50045e36dba 100644 --- a/pkg/collector/listeners/docker_nokubelet.go +++ b/pkg/collector/listeners/docker_nokubelet.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build docker,!kubelet diff --git a/pkg/collector/listeners/docker_test.go b/pkg/collector/listeners/docker_test.go index 3451ebc891bb5..36f5ee7288a27 100644 --- a/pkg/collector/listeners/docker_test.go +++ b/pkg/collector/listeners/docker_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build docker diff --git a/pkg/collector/listeners/kubelet.go b/pkg/collector/listeners/kubelet.go index 030eee53bb73a..6dfe97780bdc2 100644 --- a/pkg/collector/listeners/kubelet.go +++ b/pkg/collector/listeners/kubelet.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build kubelet diff --git a/pkg/collector/listeners/kubelet_test.go b/pkg/collector/listeners/kubelet_test.go index 1d2c10686f80f..f1d7fae74a104 100644 --- a/pkg/collector/listeners/kubelet_test.go +++ b/pkg/collector/listeners/kubelet_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build kubelet diff --git a/pkg/collector/listeners/types.go b/pkg/collector/listeners/types.go index 15d8687673412..8306c301c8293 100644 --- a/pkg/collector/listeners/types.go +++ b/pkg/collector/listeners/types.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package listeners diff --git a/pkg/collector/loaders/loaders.go b/pkg/collector/loaders/loaders.go index 7514698d4f17e..103e344a7a6c0 100644 --- a/pkg/collector/loaders/loaders.go +++ b/pkg/collector/loaders/loaders.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package loaders diff --git a/pkg/collector/loaders/loaders_test.go b/pkg/collector/loaders/loaders_test.go index 6302e25c73cbb..39fca3cbfc27f 100644 --- a/pkg/collector/loaders/loaders_test.go +++ b/pkg/collector/loaders/loaders_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package loaders diff --git a/pkg/collector/metadata/agentchecks.go b/pkg/collector/metadata/agentchecks.go index f35b73359e98e..b1ff20c39d9c3 100644 --- a/pkg/collector/metadata/agentchecks.go +++ b/pkg/collector/metadata/agentchecks.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package metadata diff --git a/pkg/collector/metadata/agentchecks/agentchecks.go b/pkg/collector/metadata/agentchecks/agentchecks.go index 47d178aec6aa4..91bbd3b05a81f 100644 --- a/pkg/collector/metadata/agentchecks/agentchecks.go +++ b/pkg/collector/metadata/agentchecks/agentchecks.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package agentchecks diff --git a/pkg/collector/metadata/agentchecks/payload.go b/pkg/collector/metadata/agentchecks/payload.go index b392245f7401c..8b2d001c23a7d 100644 --- a/pkg/collector/metadata/agentchecks/payload.go +++ b/pkg/collector/metadata/agentchecks/payload.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package agentchecks diff --git a/pkg/collector/metadata/doc.go b/pkg/collector/metadata/doc.go index ac33e4524ba56..4a05a76d49d93 100644 --- a/pkg/collector/metadata/doc.go +++ b/pkg/collector/metadata/doc.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. /* Package metadata implements specific Metadata Collectors for the Agent. Such diff --git a/pkg/collector/providers/consul.go b/pkg/collector/providers/consul.go index 91a4299af862a..4b7ab5a874b78 100644 --- a/pkg/collector/providers/consul.go +++ b/pkg/collector/providers/consul.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build consul diff --git a/pkg/collector/providers/consul_test.go b/pkg/collector/providers/consul_test.go index 1542ca61f53d4..6ce898dce0da8 100644 --- a/pkg/collector/providers/consul_test.go +++ b/pkg/collector/providers/consul_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build consul diff --git a/pkg/collector/providers/docker.go b/pkg/collector/providers/docker.go index 79db8b6b13de1..a0950da439d57 100644 --- a/pkg/collector/providers/docker.go +++ b/pkg/collector/providers/docker.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build docker diff --git a/pkg/collector/providers/docker_test.go b/pkg/collector/providers/docker_test.go index 6c71571739ed2..4b2a521cfd3b4 100644 --- a/pkg/collector/providers/docker_test.go +++ b/pkg/collector/providers/docker_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build docker diff --git a/pkg/collector/providers/etcd.go b/pkg/collector/providers/etcd.go index c199ccdca8e4e..3240f654bae26 100644 --- a/pkg/collector/providers/etcd.go +++ b/pkg/collector/providers/etcd.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build etcd diff --git a/pkg/collector/providers/etcd_test.go b/pkg/collector/providers/etcd_test.go index b8497d342d569..85d8082b5d5c0 100644 --- a/pkg/collector/providers/etcd_test.go +++ b/pkg/collector/providers/etcd_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build etcd diff --git a/pkg/collector/providers/file.go b/pkg/collector/providers/file.go index 0da47475fbeb1..776b658d76aa0 100644 --- a/pkg/collector/providers/file.go +++ b/pkg/collector/providers/file.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package providers diff --git a/pkg/collector/providers/file_test.go b/pkg/collector/providers/file_test.go index a8e23a326ae04..0cb85bf1b0a2f 100644 --- a/pkg/collector/providers/file_test.go +++ b/pkg/collector/providers/file_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package providers diff --git a/pkg/collector/providers/kubelet.go b/pkg/collector/providers/kubelet.go index 1840aecd5a367..5a97f26c95c63 100644 --- a/pkg/collector/providers/kubelet.go +++ b/pkg/collector/providers/kubelet.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build kubelet diff --git a/pkg/collector/providers/kubelet_test.go b/pkg/collector/providers/kubelet_test.go index 1a5101cff69ba..c3439ee9790ee 100644 --- a/pkg/collector/providers/kubelet_test.go +++ b/pkg/collector/providers/kubelet_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build kubelet diff --git a/pkg/collector/providers/providers.go b/pkg/collector/providers/providers.go index a88571f3d985b..39fae35106ea5 100644 --- a/pkg/collector/providers/providers.go +++ b/pkg/collector/providers/providers.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package providers diff --git a/pkg/collector/providers/utils.go b/pkg/collector/providers/utils.go index 7b74b000061db..844728dcbc5a7 100644 --- a/pkg/collector/providers/utils.go +++ b/pkg/collector/providers/utils.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package providers diff --git a/pkg/collector/providers/utils_test.go b/pkg/collector/providers/utils_test.go index b7efe91a31019..2b6fdc1866c3e 100644 --- a/pkg/collector/providers/utils_test.go +++ b/pkg/collector/providers/utils_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package providers diff --git a/pkg/collector/providers/zookeeper.go b/pkg/collector/providers/zookeeper.go index 3c5dba739f1cc..3eddf5614c16b 100644 --- a/pkg/collector/providers/zookeeper.go +++ b/pkg/collector/providers/zookeeper.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build zk diff --git a/pkg/collector/providers/zookeeper_test.go b/pkg/collector/providers/zookeeper_test.go index 51de4fc4e5aa0..a667cded87897 100644 --- a/pkg/collector/providers/zookeeper_test.go +++ b/pkg/collector/providers/zookeeper_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build zk diff --git a/pkg/collector/py/api.go b/pkg/collector/py/api.go index bc9f66067ef99..68d07caee86a9 100644 --- a/pkg/collector/py/api.go +++ b/pkg/collector/py/api.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build cpython diff --git a/pkg/collector/py/check.go b/pkg/collector/py/check.go index f0230a699b6c3..904b734e52248 100644 --- a/pkg/collector/py/check.go +++ b/pkg/collector/py/check.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build cpython diff --git a/pkg/collector/py/check_test.go b/pkg/collector/py/check_test.go index 87ae42f1a4949..597b4beea949f 100644 --- a/pkg/collector/py/check_test.go +++ b/pkg/collector/py/check_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build cpython diff --git a/pkg/collector/py/config.go b/pkg/collector/py/config.go index 3ac694321aeb0..b5709bf27cfee 100644 --- a/pkg/collector/py/config.go +++ b/pkg/collector/py/config.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build cpython diff --git a/pkg/collector/py/config_test.go b/pkg/collector/py/config_test.go index 2adde02de256c..06a0a76de1993 100644 --- a/pkg/collector/py/config_test.go +++ b/pkg/collector/py/config_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build cpython diff --git a/pkg/collector/py/datadog_agent.go b/pkg/collector/py/datadog_agent.go index 15118f9514a4b..38cec08f324e5 100644 --- a/pkg/collector/py/datadog_agent.go +++ b/pkg/collector/py/datadog_agent.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build cpython diff --git a/pkg/collector/py/loader.go b/pkg/collector/py/loader.go index 5a442ea7e6da5..c5e683a99f276 100644 --- a/pkg/collector/py/loader.go +++ b/pkg/collector/py/loader.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build cpython diff --git a/pkg/collector/py/loader_test.go b/pkg/collector/py/loader_test.go index e671e937eb41e..6239c0ccf3819 100644 --- a/pkg/collector/py/loader_test.go +++ b/pkg/collector/py/loader_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build cpython diff --git a/pkg/collector/py/py.go b/pkg/collector/py/py.go index 0d4169fab0798..690860ff72b56 100644 --- a/pkg/collector/py/py.go +++ b/pkg/collector/py/py.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build cpython diff --git a/pkg/collector/py/tests/__init__.py b/pkg/collector/py/tests/__init__.py index 8ea567d48b305..e9638e6f8fd21 100644 --- a/pkg/collector/py/tests/__init__.py +++ b/pkg/collector/py/tests/__init__.py @@ -1,4 +1,4 @@ # Unless explicitly stated otherwise all files in this repository are licensed # under the Apache License Version 2.0. # This product includes software developed at Datadog (https://www.datadoghq.com/). -# Copyright 2017 Datadog, Inc. +# Copyright 2018 Datadog, Inc. diff --git a/pkg/collector/py/tests/bad.py b/pkg/collector/py/tests/bad.py index 093bc137abae6..620c659aff3ce 100644 --- a/pkg/collector/py/tests/bad.py +++ b/pkg/collector/py/tests/bad.py @@ -1,8 +1,8 @@ # Unless explicitly stated otherwise all files in this repository are licensed # under the Apache License Version 2.0. # This product includes software developed at Datadog (https://www.datadoghq.com/). -# Copyright 2017 Datadog, Inc. +# Copyright 2018 Datadog, Inc. # this is a legit Python module but it raises an import error # when executed -import foobar \ No newline at end of file +import foobar diff --git a/pkg/collector/py/tests/bar.py b/pkg/collector/py/tests/bar.py index 936ac5174c4d1..3873128853dde 100644 --- a/pkg/collector/py/tests/bar.py +++ b/pkg/collector/py/tests/bar.py @@ -1,7 +1,7 @@ # Unless explicitly stated otherwise all files in this repository are licensed # under the Apache License Version 2.0. # This product includes software developed at Datadog (https://www.datadoghq.com/). -# Copyright 2017 Datadog, Inc. +# Copyright 2018 Datadog, Inc. import foo diff --git a/pkg/collector/py/tests/common.py b/pkg/collector/py/tests/common.py index 032d5fd3d869d..bb7a22dae3a40 100644 --- a/pkg/collector/py/tests/common.py +++ b/pkg/collector/py/tests/common.py @@ -1,7 +1,7 @@ # Unless explicitly stated otherwise all files in this repository are licensed # under the Apache License Version 2.0. # This product includes software developed at Datadog (https://www.datadoghq.com/). -# Copyright 2017 Datadog, Inc. +# Copyright 2018 Datadog, Inc. ## Common functions for tests ## diff --git a/pkg/collector/py/tests/complex.py b/pkg/collector/py/tests/complex.py index c5b1dd8a29fb0..968f7ab58d3aa 100644 --- a/pkg/collector/py/tests/complex.py +++ b/pkg/collector/py/tests/complex.py @@ -1,7 +1,7 @@ # Unless explicitly stated otherwise all files in this repository are licensed # under the Apache License Version 2.0. # This product includes software developed at Datadog (https://www.datadoghq.com/). -# Copyright 2017 Datadog, Inc. +# Copyright 2018 Datadog, Inc. d = { 'init_config': { diff --git a/pkg/collector/py/tests/foo.py b/pkg/collector/py/tests/foo.py index 4e4f9d747e4fe..e5fa47572bba3 100644 --- a/pkg/collector/py/tests/foo.py +++ b/pkg/collector/py/tests/foo.py @@ -1,7 +1,7 @@ # Unless explicitly stated otherwise all files in this repository are licensed # under the Apache License Version 2.0. # This product includes software developed at Datadog (https://www.datadoghq.com/). -# Copyright 2017 Datadog, Inc. +# Copyright 2018 Datadog, Inc. class Foo(object): diff --git a/pkg/collector/py/tests/init_exception.py b/pkg/collector/py/tests/init_exception.py index a3f1a452f0fa8..a9e63364c10f6 100644 --- a/pkg/collector/py/tests/init_exception.py +++ b/pkg/collector/py/tests/init_exception.py @@ -1,7 +1,7 @@ # Unless explicitly stated otherwise all files in this repository are licensed # under the Apache License Version 2.0. # This product includes software developed at Datadog (https://www.datadoghq.com/). -# Copyright 2017 Datadog, Inc. +# Copyright 2018 Datadog, Inc. import aggregator from checks import AgentCheck diff --git a/pkg/collector/py/tests/init_no_traceback_exception.py b/pkg/collector/py/tests/init_no_traceback_exception.py index 3dd8510872af3..32301a2da557d 100644 --- a/pkg/collector/py/tests/init_no_traceback_exception.py +++ b/pkg/collector/py/tests/init_no_traceback_exception.py @@ -1,7 +1,7 @@ # Unless explicitly stated otherwise all files in this repository are licensed # under the Apache License Version 2.0. # This product includes software developed at Datadog (https://www.datadoghq.com/). -# Copyright 2017 Datadog, Inc. +# Copyright 2018 Datadog, Inc. import aggregator from checks import AgentCheck diff --git a/pkg/collector/py/tests/kwargs_init_signature.py b/pkg/collector/py/tests/kwargs_init_signature.py index f95e1b7a7a76b..f0f1bcb34100d 100644 --- a/pkg/collector/py/tests/kwargs_init_signature.py +++ b/pkg/collector/py/tests/kwargs_init_signature.py @@ -1,7 +1,7 @@ # Unless explicitly stated otherwise all files in this repository are licensed # under the Apache License Version 2.0. # This product includes software developed at Datadog (https://www.datadoghq.com/). -# Copyright 2017 Datadog, Inc. +# Copyright 2018 Datadog, Inc. from checks import AgentCheck from common import assert_init_config_init, assert_agent_config_init, assert_instance_init diff --git a/pkg/collector/py/tests/new_init_signature.py b/pkg/collector/py/tests/new_init_signature.py index e15b3a74fc10c..46008f310350e 100644 --- a/pkg/collector/py/tests/new_init_signature.py +++ b/pkg/collector/py/tests/new_init_signature.py @@ -1,7 +1,7 @@ # Unless explicitly stated otherwise all files in this repository are licensed # under the Apache License Version 2.0. # This product includes software developed at Datadog (https://www.datadoghq.com/). -# Copyright 2017 Datadog, Inc. +# Copyright 2018 Datadog, Inc. from checks import AgentCheck from common import assert_init_config_init, assert_agent_config_init, assert_instance_init diff --git a/pkg/collector/py/tests/old_alt_init_signature.py b/pkg/collector/py/tests/old_alt_init_signature.py index 04d3cf08111ff..d82cd4db27bf3 100644 --- a/pkg/collector/py/tests/old_alt_init_signature.py +++ b/pkg/collector/py/tests/old_alt_init_signature.py @@ -1,7 +1,7 @@ # Unless explicitly stated otherwise all files in this repository are licensed # under the Apache License Version 2.0. # This product includes software developed at Datadog (https://www.datadoghq.com/). -# Copyright 2017 Datadog, Inc. +# Copyright 2018 Datadog, Inc. from checks import AgentCheck from common import assert_init_config_init, assert_agent_config_init, assert_instance_init diff --git a/pkg/collector/py/tests/old_init_signature.py b/pkg/collector/py/tests/old_init_signature.py index dfc25f841ac6a..2957942444807 100644 --- a/pkg/collector/py/tests/old_init_signature.py +++ b/pkg/collector/py/tests/old_init_signature.py @@ -1,7 +1,7 @@ # Unless explicitly stated otherwise all files in this repository are licensed # under the Apache License Version 2.0. # This product includes software developed at Datadog (https://www.datadoghq.com/). -# Copyright 2017 Datadog, Inc. +# Copyright 2018 Datadog, Inc. from checks import AgentCheck from common import assert_init_config_init, assert_agent_config_init, assert_instance_init diff --git a/pkg/collector/py/tests/testaggregator.py b/pkg/collector/py/tests/testaggregator.py index d830c26ef2352..328473b716557 100644 --- a/pkg/collector/py/tests/testaggregator.py +++ b/pkg/collector/py/tests/testaggregator.py @@ -1,7 +1,7 @@ # Unless explicitly stated otherwise all files in this repository are licensed # under the Apache License Version 2.0. # This product includes software developed at Datadog (https://www.datadoghq.com/). -# Copyright 2017 Datadog, Inc. +# Copyright 2018 Datadog, Inc. from datetime import datetime from checks import AgentCheck diff --git a/pkg/collector/py/tests/testcheck.py b/pkg/collector/py/tests/testcheck.py index 6f26276cacf3b..5c001e4eaa4d1 100644 --- a/pkg/collector/py/tests/testcheck.py +++ b/pkg/collector/py/tests/testcheck.py @@ -1,7 +1,7 @@ # Unless explicitly stated otherwise all files in this repository are licensed # under the Apache License Version 2.0. # This product includes software developed at Datadog (https://www.datadoghq.com/). -# Copyright 2017 Datadog, Inc. +# Copyright 2018 Datadog, Inc. from checks import AgentCheck diff --git a/pkg/collector/py/tests/testcheck2.py b/pkg/collector/py/tests/testcheck2.py index 74b14c97f2e20..0af86caa0c764 100644 --- a/pkg/collector/py/tests/testcheck2.py +++ b/pkg/collector/py/tests/testcheck2.py @@ -1,7 +1,7 @@ # Unless explicitly stated otherwise all files in this repository are licensed # under the Apache License Version 2.0. # This product includes software developed at Datadog (https://www.datadoghq.com/). -# Copyright 2017 Datadog, Inc. +# Copyright 2018 Datadog, Inc. from checks import AgentCheck diff --git a/pkg/collector/py/tests/testcheck_multi.py b/pkg/collector/py/tests/testcheck_multi.py index b451bf1d0ca53..88d87aea0a09d 100644 --- a/pkg/collector/py/tests/testcheck_multi.py +++ b/pkg/collector/py/tests/testcheck_multi.py @@ -1,7 +1,7 @@ # Unless explicitly stated otherwise all files in this repository are licensed # under the Apache License Version 2.0. # This product includes software developed at Datadog (https://www.datadoghq.com/). -# Copyright 2017 Datadog, Inc. +# Copyright 2018 Datadog, Inc. from testcheck_multi_base import AnIntermediateClass diff --git a/pkg/collector/py/tests/testcheck_multi_base.py b/pkg/collector/py/tests/testcheck_multi_base.py index 648de1353f657..ca886835a5ea6 100644 --- a/pkg/collector/py/tests/testcheck_multi_base.py +++ b/pkg/collector/py/tests/testcheck_multi_base.py @@ -1,7 +1,7 @@ # Unless explicitly stated otherwise all files in this repository are licensed # under the Apache License Version 2.0. # This product includes software developed at Datadog (https://www.datadoghq.com/). -# Copyright 2017 Datadog, Inc. +# Copyright 2018 Datadog, Inc. class BaseClass(object): diff --git a/pkg/collector/py/tests/testwarnings.py b/pkg/collector/py/tests/testwarnings.py index 2dcde5ea907ca..242399fd7b652 100644 --- a/pkg/collector/py/tests/testwarnings.py +++ b/pkg/collector/py/tests/testwarnings.py @@ -1,7 +1,7 @@ # Unless explicitly stated otherwise all files in this repository are licensed # under the Apache License Version 2.0. # This product includes software developed at Datadog (https://www.datadoghq.com/). -# Copyright 2017 Datadog, Inc. +# Copyright 2018 Datadog, Inc. from checks import AgentCheck diff --git a/pkg/collector/py/utils.go b/pkg/collector/py/utils.go index 879040dbb25d7..fb72b75e79c4c 100644 --- a/pkg/collector/py/utils.go +++ b/pkg/collector/py/utils.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build cpython diff --git a/pkg/collector/py/utils_common.go b/pkg/collector/py/utils_common.go index 5ebddcc9906a1..e5ad0f14e6ee7 100644 --- a/pkg/collector/py/utils_common.go +++ b/pkg/collector/py/utils_common.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package py diff --git a/pkg/collector/py/utils_nocpython.go b/pkg/collector/py/utils_nocpython.go index 1b1677f1cd898..c66ee27123b97 100644 --- a/pkg/collector/py/utils_nocpython.go +++ b/pkg/collector/py/utils_nocpython.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build !cpython diff --git a/pkg/collector/py/utils_test.go b/pkg/collector/py/utils_test.go index 43d94dfeff112..772363bba20c3 100644 --- a/pkg/collector/py/utils_test.go +++ b/pkg/collector/py/utils_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build cpython diff --git a/pkg/collector/runner/runner.go b/pkg/collector/runner/runner.go index 217ea8c94077f..59ef7f8b4485c 100644 --- a/pkg/collector/runner/runner.go +++ b/pkg/collector/runner/runner.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package runner diff --git a/pkg/collector/runner/runner_test.go b/pkg/collector/runner/runner_test.go index 068a07550fc04..68124b9779006 100644 --- a/pkg/collector/runner/runner_test.go +++ b/pkg/collector/runner/runner_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package runner diff --git a/pkg/collector/scheduler/job.go b/pkg/collector/scheduler/job.go index 2dfe392260325..9064a787cf5c4 100644 --- a/pkg/collector/scheduler/job.go +++ b/pkg/collector/scheduler/job.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package scheduler diff --git a/pkg/collector/scheduler/scheduler.go b/pkg/collector/scheduler/scheduler.go index db26f0ddfc62b..7aeb0034c7afd 100644 --- a/pkg/collector/scheduler/scheduler.go +++ b/pkg/collector/scheduler/scheduler.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package scheduler diff --git a/pkg/collector/scheduler/scheduler_test.go b/pkg/collector/scheduler/scheduler_test.go index 78a2e727762a6..c9632714d04f8 100644 --- a/pkg/collector/scheduler/scheduler_test.go +++ b/pkg/collector/scheduler/scheduler_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package scheduler diff --git a/pkg/config/config.go b/pkg/config/config.go index 4452e2cf51150..7678774bfcc7a 100644 --- a/pkg/config/config.go +++ b/pkg/config/config.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package config diff --git a/pkg/config/config_darwin.go b/pkg/config/config_darwin.go index 0649e245834be..e64c5fd662d80 100644 --- a/pkg/config/config_darwin.go +++ b/pkg/config/config_darwin.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package config diff --git a/pkg/config/config_nix.go b/pkg/config/config_nix.go index 46edfed8877ae..176b98f4b71bf 100644 --- a/pkg/config/config_nix.go +++ b/pkg/config/config_nix.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build linux freebsd netbsd openbsd solaris dragonfly diff --git a/pkg/config/config_test.go b/pkg/config/config_test.go index a03bd9e293023..0f9bde5235151 100644 --- a/pkg/config/config_test.go +++ b/pkg/config/config_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package config diff --git a/pkg/config/config_windows.go b/pkg/config/config_windows.go index ea76bc1d6e144..423807361bb17 100644 --- a/pkg/config/config_windows.go +++ b/pkg/config/config_windows.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package config diff --git a/pkg/config/log.go b/pkg/config/log.go index df862675b88f1..249fb5647a3c7 100644 --- a/pkg/config/log.go +++ b/pkg/config/log.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package config diff --git a/pkg/config/log_nix.go b/pkg/config/log_nix.go index 424adc6b9ce99..63eeea7a4194d 100644 --- a/pkg/config/log_nix.go +++ b/pkg/config/log_nix.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build linux freebsd netbsd openbsd solaris dragonfly darwin diff --git a/pkg/config/log_windows.go b/pkg/config/log_windows.go index f9a09e9bb131d..75d2afe44ab32 100644 --- a/pkg/config/log_windows.go +++ b/pkg/config/log_windows.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package config diff --git a/pkg/config/render_config.go b/pkg/config/render_config.go index 047341e99f7c2..6ae7bec4eb1c5 100644 --- a/pkg/config/render_config.go +++ b/pkg/config/render_config.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build ignore diff --git a/pkg/diagnose/diagnosis/loader.go b/pkg/diagnose/diagnosis/loader.go index 8c2ba7c39114f..644650e29ffc1 100644 --- a/pkg/diagnose/diagnosis/loader.go +++ b/pkg/diagnose/diagnosis/loader.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package diagnosis diff --git a/pkg/diagnose/runner.go b/pkg/diagnose/runner.go index d6e5107251ddb..d87cd21485bd5 100644 --- a/pkg/diagnose/runner.go +++ b/pkg/diagnose/runner.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package diagnose diff --git a/pkg/diagnose/runner_test.go b/pkg/diagnose/runner_test.go index e2d8f848210df..8194d497581a2 100644 --- a/pkg/diagnose/runner_test.go +++ b/pkg/diagnose/runner_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package diagnose diff --git a/pkg/dogstatsd/listeners/packet_pool.go b/pkg/dogstatsd/listeners/packet_pool.go index 18fe1470e1534..5ad10106d16d6 100644 --- a/pkg/dogstatsd/listeners/packet_pool.go +++ b/pkg/dogstatsd/listeners/packet_pool.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package listeners diff --git a/pkg/dogstatsd/listeners/types.go b/pkg/dogstatsd/listeners/types.go index adea104bb96fe..04ac015e41847 100644 --- a/pkg/dogstatsd/listeners/types.go +++ b/pkg/dogstatsd/listeners/types.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package listeners diff --git a/pkg/dogstatsd/listeners/udp.go b/pkg/dogstatsd/listeners/udp.go index 7e3179886a950..4ac7290e2f183 100644 --- a/pkg/dogstatsd/listeners/udp.go +++ b/pkg/dogstatsd/listeners/udp.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package listeners diff --git a/pkg/dogstatsd/listeners/udp_test.go b/pkg/dogstatsd/listeners/udp_test.go index 6e933a752f0b3..225667ff82e5c 100644 --- a/pkg/dogstatsd/listeners/udp_test.go +++ b/pkg/dogstatsd/listeners/udp_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build !windows package listeners diff --git a/pkg/dogstatsd/listeners/uds_common.go b/pkg/dogstatsd/listeners/uds_common.go index 7659124ff640f..befa1d80b517f 100644 --- a/pkg/dogstatsd/listeners/uds_common.go +++ b/pkg/dogstatsd/listeners/uds_common.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package listeners diff --git a/pkg/dogstatsd/listeners/uds_common_test.go b/pkg/dogstatsd/listeners/uds_common_test.go index b53b2fbcc65cc..2b5448a9661fb 100644 --- a/pkg/dogstatsd/listeners/uds_common_test.go +++ b/pkg/dogstatsd/listeners/uds_common_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build !windows // UDS won't work in windows diff --git a/pkg/dogstatsd/listeners/uds_linux.go b/pkg/dogstatsd/listeners/uds_linux.go index efa980fe81ceb..eedc57901ef8a 100644 --- a/pkg/dogstatsd/listeners/uds_linux.go +++ b/pkg/dogstatsd/listeners/uds_linux.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package listeners diff --git a/pkg/dogstatsd/listeners/uds_linux_test.go b/pkg/dogstatsd/listeners/uds_linux_test.go index 7c624f8b0356a..443760b392424 100644 --- a/pkg/dogstatsd/listeners/uds_linux_test.go +++ b/pkg/dogstatsd/listeners/uds_linux_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build linux // Origin detection is linux-only diff --git a/pkg/dogstatsd/listeners/uds_nolinux.go b/pkg/dogstatsd/listeners/uds_nolinux.go index 3ed5202233642..cdee8465a26dc 100644 --- a/pkg/dogstatsd/listeners/uds_nolinux.go +++ b/pkg/dogstatsd/listeners/uds_nolinux.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build !linux diff --git a/pkg/dogstatsd/parser.go b/pkg/dogstatsd/parser.go index 8c16017b489e0..5be4610f02bc0 100644 --- a/pkg/dogstatsd/parser.go +++ b/pkg/dogstatsd/parser.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package dogstatsd diff --git a/pkg/dogstatsd/parser_test.go b/pkg/dogstatsd/parser_test.go index d917d9a274c7c..d3b4542edb58d 100644 --- a/pkg/dogstatsd/parser_test.go +++ b/pkg/dogstatsd/parser_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package dogstatsd diff --git a/pkg/dogstatsd/server.go b/pkg/dogstatsd/server.go index 34d789f76624b..ed86c9e56a91c 100644 --- a/pkg/dogstatsd/server.go +++ b/pkg/dogstatsd/server.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package dogstatsd diff --git a/pkg/dogstatsd/server_test.go b/pkg/dogstatsd/server_test.go index 50c70837a0c22..c6387985b1492 100644 --- a/pkg/dogstatsd/server_test.go +++ b/pkg/dogstatsd/server_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package dogstatsd diff --git a/pkg/flare/archive.go b/pkg/flare/archive.go index 2af6ec8841990..39b3ea70704e7 100644 --- a/pkg/flare/archive.go +++ b/pkg/flare/archive.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package flare diff --git a/pkg/flare/archive_docker.go b/pkg/flare/archive_docker.go index 0a37392e7ba08..3c75c5b021769 100644 --- a/pkg/flare/archive_docker.go +++ b/pkg/flare/archive_docker.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build docker diff --git a/pkg/flare/archive_nodocker.go b/pkg/flare/archive_nodocker.go index a30434a9e3144..31a8633137ce5 100644 --- a/pkg/flare/archive_nodocker.go +++ b/pkg/flare/archive_nodocker.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build !docker diff --git a/pkg/flare/archive_test.go b/pkg/flare/archive_test.go index 4a5c46b9d429f..1d019287445b4 100644 --- a/pkg/flare/archive_test.go +++ b/pkg/flare/archive_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package flare diff --git a/pkg/flare/flare.go b/pkg/flare/flare.go index 18cba43b955a8..7e4927cf5ad72 100644 --- a/pkg/flare/flare.go +++ b/pkg/flare/flare.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package flare diff --git a/pkg/flare/flare_test.go b/pkg/flare/flare_test.go index c6f9b65ee923c..67fc9177ca4e0 100644 --- a/pkg/flare/flare_test.go +++ b/pkg/flare/flare_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package flare diff --git a/pkg/flare/input.go b/pkg/flare/input.go index ca691ffa05012..b6f151e446c1f 100644 --- a/pkg/flare/input.go +++ b/pkg/flare/input.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package flare diff --git a/pkg/flare/strip.go b/pkg/flare/strip.go index 6e304e46a2fe7..301a87d0020ce 100644 --- a/pkg/flare/strip.go +++ b/pkg/flare/strip.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package flare diff --git a/pkg/flare/strip_test.go b/pkg/flare/strip_test.go index 02fb334ac8331..5e6e94ab165c0 100644 --- a/pkg/flare/strip_test.go +++ b/pkg/flare/strip_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package flare diff --git a/pkg/forwarder/blocked_endpoints.go b/pkg/forwarder/blocked_endpoints.go index f0f34d9199d2b..9340f76397e07 100644 --- a/pkg/forwarder/blocked_endpoints.go +++ b/pkg/forwarder/blocked_endpoints.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package forwarder diff --git a/pkg/forwarder/blocked_endpoints_test.go b/pkg/forwarder/blocked_endpoints_test.go index 23b42651039e3..d1988d02ef960 100644 --- a/pkg/forwarder/blocked_endpoints_test.go +++ b/pkg/forwarder/blocked_endpoints_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package forwarder diff --git a/pkg/forwarder/forwarder.go b/pkg/forwarder/forwarder.go index 22b2dd0f4b785..fa444c3f28ccc 100644 --- a/pkg/forwarder/forwarder.go +++ b/pkg/forwarder/forwarder.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package forwarder diff --git a/pkg/forwarder/forwarder_test.go b/pkg/forwarder/forwarder_test.go index 4f761fef545e7..c6531cfa125b8 100644 --- a/pkg/forwarder/forwarder_test.go +++ b/pkg/forwarder/forwarder_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build !windows package forwarder diff --git a/pkg/forwarder/test_common.go b/pkg/forwarder/test_common.go index 95d14c4a1052f..d0cbc67059e69 100644 --- a/pkg/forwarder/test_common.go +++ b/pkg/forwarder/test_common.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package forwarder diff --git a/pkg/forwarder/transaction.go b/pkg/forwarder/transaction.go index b9102b6036912..e05c374008723 100644 --- a/pkg/forwarder/transaction.go +++ b/pkg/forwarder/transaction.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package forwarder diff --git a/pkg/forwarder/transaction_test.go b/pkg/forwarder/transaction_test.go index 550f3929f89af..77d99369e8b71 100644 --- a/pkg/forwarder/transaction_test.go +++ b/pkg/forwarder/transaction_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package forwarder import ( diff --git a/pkg/forwarder/worker.go b/pkg/forwarder/worker.go index 8bae0eaf42ac2..a8e34bcd56b17 100644 --- a/pkg/forwarder/worker.go +++ b/pkg/forwarder/worker.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package forwarder diff --git a/pkg/forwarder/worker_test.go b/pkg/forwarder/worker_test.go index 49a384274446f..d2ba146f30b6f 100644 --- a/pkg/forwarder/worker_test.go +++ b/pkg/forwarder/worker_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package forwarder diff --git a/pkg/legacy/converter.go b/pkg/legacy/converter.go index 04d1a00c78529..a2db9ad70feea 100644 --- a/pkg/legacy/converter.go +++ b/pkg/legacy/converter.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package legacy diff --git a/pkg/legacy/converter_test.go b/pkg/legacy/converter_test.go index 6c8036e722371..aa45b4891bb98 100644 --- a/pkg/legacy/converter_test.go +++ b/pkg/legacy/converter_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package legacy diff --git a/pkg/legacy/docker.go b/pkg/legacy/docker.go index 53b4d4b4a0c72..43b96f93693ad 100644 --- a/pkg/legacy/docker.go +++ b/pkg/legacy/docker.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build docker diff --git a/pkg/legacy/docker_test.go b/pkg/legacy/docker_test.go index 03b8842ca30fc..52ba4dcebfdad 100644 --- a/pkg/legacy/docker_test.go +++ b/pkg/legacy/docker_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build docker diff --git a/pkg/legacy/importer.go b/pkg/legacy/importer.go index f13563dba417e..bc2fdabc909c1 100644 --- a/pkg/legacy/importer.go +++ b/pkg/legacy/importer.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package legacy diff --git a/pkg/legacy/importer_test.go b/pkg/legacy/importer_test.go index 682ca5397d6d7..96eac33152d76 100644 --- a/pkg/legacy/importer_test.go +++ b/pkg/legacy/importer_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package legacy diff --git a/pkg/legacy/no_docker.go b/pkg/legacy/no_docker.go index 267ae89ed9a34..6d5043e192cf4 100644 --- a/pkg/legacy/no_docker.go +++ b/pkg/legacy/no_docker.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build !docker diff --git a/pkg/legacy/process-agent.go b/pkg/legacy/process-agent.go index 48dac9450a938..3216c7974517d 100644 --- a/pkg/legacy/process-agent.go +++ b/pkg/legacy/process-agent.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package legacy diff --git a/pkg/legacy/tests/config.py b/pkg/legacy/tests/config.py index e576bde1d1e89..3961660a8da6c 100644 --- a/pkg/legacy/tests/config.py +++ b/pkg/legacy/tests/config.py @@ -1,7 +1,7 @@ # Unless explicitly stated otherwise all files in this repository are licensed # under the Apache License Version 2.0. # This product includes software developed at Datadog (https://www.datadoghq.com/). -# Copyright 2017 Datadog, Inc. +# Copyright 2018 Datadog, Inc. # stdlib import ConfigParser diff --git a/pkg/legacy/trace-agent.go b/pkg/legacy/trace-agent.go index 4343eff8eb5aa..c4d6b956da483 100644 --- a/pkg/legacy/trace-agent.go +++ b/pkg/legacy/trace-agent.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package legacy diff --git a/pkg/logs/auditor/auditor.go b/pkg/logs/auditor/auditor.go index ceefe13e12cb4..0e32c2b4f6ff4 100644 --- a/pkg/logs/auditor/auditor.go +++ b/pkg/logs/auditor/auditor.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package auditor diff --git a/pkg/logs/auditor/auditor_test.go b/pkg/logs/auditor/auditor_test.go index dfbcc2176a199..8bc25132d8397 100644 --- a/pkg/logs/auditor/auditor_test.go +++ b/pkg/logs/auditor/auditor_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package auditor diff --git a/pkg/logs/config/config.go b/pkg/logs/config/config.go index 58245551bca65..6f5c10998c8cd 100644 --- a/pkg/logs/config/config.go +++ b/pkg/logs/config/config.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package config diff --git a/pkg/logs/config/config_test.go b/pkg/logs/config/config_test.go index 9ec3b67f41b09..a2e5b3231d3de 100644 --- a/pkg/logs/config/config_test.go +++ b/pkg/logs/config/config_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build !windows diff --git a/pkg/logs/config/constants.go b/pkg/logs/config/constants.go index b77ecd455769c..558342c2637f7 100644 --- a/pkg/logs/config/constants.go +++ b/pkg/logs/config/constants.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package config diff --git a/pkg/logs/config/integration_config.go b/pkg/logs/config/integration_config.go index 82391307630e6..bd07040224149 100644 --- a/pkg/logs/config/integration_config.go +++ b/pkg/logs/config/integration_config.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package config diff --git a/pkg/logs/config/integration_config_test.go b/pkg/logs/config/integration_config_test.go index 551fa16b86829..67ec8ddc9936b 100644 --- a/pkg/logs/config/integration_config_test.go +++ b/pkg/logs/config/integration_config_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build !windows diff --git a/pkg/logs/decoder/decoder.go b/pkg/logs/decoder/decoder.go index 850155fe92d63..c039074a63360 100644 --- a/pkg/logs/decoder/decoder.go +++ b/pkg/logs/decoder/decoder.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package decoder diff --git a/pkg/logs/decoder/decoder_test.go b/pkg/logs/decoder/decoder_test.go index 54f66a1b75b8c..2f9945aa1f130 100644 --- a/pkg/logs/decoder/decoder_test.go +++ b/pkg/logs/decoder/decoder_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package decoder diff --git a/pkg/logs/decoder/line_buffer.go b/pkg/logs/decoder/line_buffer.go index 9714a209dd777..0decb2735a574 100644 --- a/pkg/logs/decoder/line_buffer.go +++ b/pkg/logs/decoder/line_buffer.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package decoder diff --git a/pkg/logs/decoder/line_handler.go b/pkg/logs/decoder/line_handler.go index aab65d5c77619..cd50571bb9835 100644 --- a/pkg/logs/decoder/line_handler.go +++ b/pkg/logs/decoder/line_handler.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package decoder diff --git a/pkg/logs/input/container/docker.go b/pkg/logs/input/container/docker.go index ed16baaf50489..e4913945ba04f 100644 --- a/pkg/logs/input/container/docker.go +++ b/pkg/logs/input/container/docker.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build !windows diff --git a/pkg/logs/input/container/docker_test.go b/pkg/logs/input/container/docker_test.go index ba0daa359d7a3..93c10b7684d0e 100644 --- a/pkg/logs/input/container/docker_test.go +++ b/pkg/logs/input/container/docker_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build !windows diff --git a/pkg/logs/input/container/scanner.go b/pkg/logs/input/container/scanner.go index 48bbeb6899185..1bfd8e5bb2219 100644 --- a/pkg/logs/input/container/scanner.go +++ b/pkg/logs/input/container/scanner.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build !windows diff --git a/pkg/logs/input/container/scanner_test.go b/pkg/logs/input/container/scanner_test.go index 511e5637899e5..da1ed73a9732e 100644 --- a/pkg/logs/input/container/scanner_test.go +++ b/pkg/logs/input/container/scanner_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build !windows diff --git a/pkg/logs/input/container/scanner_windows.go b/pkg/logs/input/container/scanner_windows.go index 9ee90c1c93b52..00cd250fe245f 100644 --- a/pkg/logs/input/container/scanner_windows.go +++ b/pkg/logs/input/container/scanner_windows.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package container diff --git a/pkg/logs/input/listener/connection_handler.go b/pkg/logs/input/listener/connection_handler.go index 8b47ed6e82929..44a7b93404aa4 100644 --- a/pkg/logs/input/listener/connection_handler.go +++ b/pkg/logs/input/listener/connection_handler.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package listener diff --git a/pkg/logs/input/listener/listener.go b/pkg/logs/input/listener/listener.go index 20d7cd727443a..e886b40e84a65 100644 --- a/pkg/logs/input/listener/listener.go +++ b/pkg/logs/input/listener/listener.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package listener diff --git a/pkg/logs/input/listener/tcp.go b/pkg/logs/input/listener/tcp.go index 87f2424ae4f19..37ed7b20f381e 100644 --- a/pkg/logs/input/listener/tcp.go +++ b/pkg/logs/input/listener/tcp.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package listener diff --git a/pkg/logs/input/listener/tcp_test.go b/pkg/logs/input/listener/tcp_test.go index 69c9ea3b8e972..cd0e57f650f5b 100644 --- a/pkg/logs/input/listener/tcp_test.go +++ b/pkg/logs/input/listener/tcp_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package listener diff --git a/pkg/logs/input/listener/udp.go b/pkg/logs/input/listener/udp.go index 7a47256e36bdd..1c59f0be9c5c5 100644 --- a/pkg/logs/input/listener/udp.go +++ b/pkg/logs/input/listener/udp.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package listener diff --git a/pkg/logs/input/listener/udp_test.go b/pkg/logs/input/listener/udp_test.go index 2062015176c68..ebe00b198c2d8 100644 --- a/pkg/logs/input/listener/udp_test.go +++ b/pkg/logs/input/listener/udp_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package listener diff --git a/pkg/logs/input/tailer/file_provider.go b/pkg/logs/input/tailer/file_provider.go index 835445a8a3d1a..c1e28d3a3fb7e 100644 --- a/pkg/logs/input/tailer/file_provider.go +++ b/pkg/logs/input/tailer/file_provider.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build !windows diff --git a/pkg/logs/input/tailer/file_provider_test.go b/pkg/logs/input/tailer/file_provider_test.go index 0bdca2ed9bc42..ebf4af4a76d94 100644 --- a/pkg/logs/input/tailer/file_provider_test.go +++ b/pkg/logs/input/tailer/file_provider_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build !windows diff --git a/pkg/logs/input/tailer/scanner.go b/pkg/logs/input/tailer/scanner.go index 4b4515b5d9d87..b3195674672ec 100644 --- a/pkg/logs/input/tailer/scanner.go +++ b/pkg/logs/input/tailer/scanner.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build !windows diff --git a/pkg/logs/input/tailer/scanner_test.go b/pkg/logs/input/tailer/scanner_test.go index 495303824600f..998d39feb6fab 100644 --- a/pkg/logs/input/tailer/scanner_test.go +++ b/pkg/logs/input/tailer/scanner_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build !windows diff --git a/pkg/logs/input/tailer/scanner_windows.go b/pkg/logs/input/tailer/scanner_windows.go index 5d685d9267378..e7ee36c10081f 100644 --- a/pkg/logs/input/tailer/scanner_windows.go +++ b/pkg/logs/input/tailer/scanner_windows.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package tailer diff --git a/pkg/logs/input/tailer/tailer.go b/pkg/logs/input/tailer/tailer.go index 96e2bd7f2c949..21b19f1150f4c 100644 --- a/pkg/logs/input/tailer/tailer.go +++ b/pkg/logs/input/tailer/tailer.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build !windows diff --git a/pkg/logs/input/tailer/tailer_test.go b/pkg/logs/input/tailer/tailer_test.go index c8e83b38e59a9..72da53c6172c8 100644 --- a/pkg/logs/input/tailer/tailer_test.go +++ b/pkg/logs/input/tailer/tailer_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build !windows diff --git a/pkg/logs/message/message.go b/pkg/logs/message/message.go index 81554af1e18e7..95e7f163e30ac 100644 --- a/pkg/logs/message/message.go +++ b/pkg/logs/message/message.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package message diff --git a/pkg/logs/message/message_test.go b/pkg/logs/message/message_test.go index 69dd99afec341..4f0cbeb1b4691 100644 --- a/pkg/logs/message/message_test.go +++ b/pkg/logs/message/message_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package message diff --git a/pkg/logs/pipeline/mock/mock.go b/pkg/logs/pipeline/mock/mock.go index e88c659f7398a..770b944544668 100644 --- a/pkg/logs/pipeline/mock/mock.go +++ b/pkg/logs/pipeline/mock/mock.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package mock diff --git a/pkg/logs/pipeline/provider.go b/pkg/logs/pipeline/provider.go index b2f5f6e7862a3..79793a746c83e 100644 --- a/pkg/logs/pipeline/provider.go +++ b/pkg/logs/pipeline/provider.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package pipeline diff --git a/pkg/logs/pipeline/provider_test.go b/pkg/logs/pipeline/provider_test.go index a634b5a05a958..862ca42ef57a8 100644 --- a/pkg/logs/pipeline/provider_test.go +++ b/pkg/logs/pipeline/provider_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package pipeline diff --git a/pkg/logs/processor/processor.go b/pkg/logs/processor/processor.go index 598b97dd05302..0e0fab3f9f406 100644 --- a/pkg/logs/processor/processor.go +++ b/pkg/logs/processor/processor.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package processor diff --git a/pkg/logs/processor/processor_test.go b/pkg/logs/processor/processor_test.go index 4172ebb50155d..0fc8e1e8bc0b7 100644 --- a/pkg/logs/processor/processor_test.go +++ b/pkg/logs/processor/processor_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package processor diff --git a/pkg/logs/sender/connection_manager.go b/pkg/logs/sender/connection_manager.go index 3687ddb95eabb..9d35247d209ad 100644 --- a/pkg/logs/sender/connection_manager.go +++ b/pkg/logs/sender/connection_manager.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package sender diff --git a/pkg/logs/sender/sender.go b/pkg/logs/sender/sender.go index 1d93f0c2ddc09..33f36e6f77c95 100644 --- a/pkg/logs/sender/sender.go +++ b/pkg/logs/sender/sender.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package sender diff --git a/pkg/logs/utils/logger.go b/pkg/logs/utils/logger.go index bb4b64aaf3de8..5d6521dd5da60 100644 --- a/pkg/logs/utils/logger.go +++ b/pkg/logs/utils/logger.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package utils diff --git a/pkg/metadata/common/common.go b/pkg/metadata/common/common.go index 2c1834a6320d9..40f86d0962e24 100644 --- a/pkg/metadata/common/common.go +++ b/pkg/metadata/common/common.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package common diff --git a/pkg/metadata/common/common_test.go b/pkg/metadata/common/common_test.go index 168600b6c172b..d4254d14b4cda 100644 --- a/pkg/metadata/common/common_test.go +++ b/pkg/metadata/common/common_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package common diff --git a/pkg/metadata/common/payload.go b/pkg/metadata/common/payload.go index 58a4f64d084f3..bf137d324c3d3 100644 --- a/pkg/metadata/common/payload.go +++ b/pkg/metadata/common/payload.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package common diff --git a/pkg/metadata/ecs/doc.go b/pkg/metadata/ecs/doc.go index c65eb439b89e0..eae7448c7d3c0 100644 --- a/pkg/metadata/ecs/doc.go +++ b/pkg/metadata/ecs/doc.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // Package ecs provides functionalities to collect ECS metadata package ecs diff --git a/pkg/metadata/ecs/ecs.go b/pkg/metadata/ecs/ecs.go index 992a9d4e4eb10..eea33e5ce1ac1 100644 --- a/pkg/metadata/ecs/ecs.go +++ b/pkg/metadata/ecs/ecs.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build docker diff --git a/pkg/metadata/ecs/ecs_test.go b/pkg/metadata/ecs/ecs_test.go index ceb7d668eb798..f1fbaafce1a66 100644 --- a/pkg/metadata/ecs/ecs_test.go +++ b/pkg/metadata/ecs/ecs_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build docker diff --git a/pkg/metadata/gohai/gohai.go b/pkg/metadata/gohai/gohai.go index c9ef3b3367e32..7677a3afceb5c 100644 --- a/pkg/metadata/gohai/gohai.go +++ b/pkg/metadata/gohai/gohai.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package gohai diff --git a/pkg/metadata/gohai/gohai_test.go b/pkg/metadata/gohai/gohai_test.go index 441bd0979ce46..74a78f562ad74 100644 --- a/pkg/metadata/gohai/gohai_test.go +++ b/pkg/metadata/gohai/gohai_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package gohai diff --git a/pkg/metadata/gohai/payload.go b/pkg/metadata/gohai/payload.go index 343d0d663e00c..df843dacc6758 100644 --- a/pkg/metadata/gohai/payload.go +++ b/pkg/metadata/gohai/payload.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package gohai diff --git a/pkg/metadata/host.go b/pkg/metadata/host.go index 00781b3e85ed9..f88bc7ae0074a 100644 --- a/pkg/metadata/host.go +++ b/pkg/metadata/host.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package metadata diff --git a/pkg/metadata/host/host.go b/pkg/metadata/host/host.go index 7d085c1d1cff6..a8d789522f7c4 100644 --- a/pkg/metadata/host/host.go +++ b/pkg/metadata/host/host.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package host diff --git a/pkg/metadata/host/host_darwin.go b/pkg/metadata/host/host_darwin.go index 5860c3a2a9a20..01b588be7d3df 100644 --- a/pkg/metadata/host/host_darwin.go +++ b/pkg/metadata/host/host_darwin.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package host diff --git a/pkg/metadata/host/host_darwin_test.go b/pkg/metadata/host/host_darwin_test.go index fff8fc9cc69cc..b678ee16623ca 100644 --- a/pkg/metadata/host/host_darwin_test.go +++ b/pkg/metadata/host/host_darwin_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package host diff --git a/pkg/metadata/host/host_linux_test.go b/pkg/metadata/host/host_linux_test.go index 9c68e08714882..0e7760b4c5c5a 100644 --- a/pkg/metadata/host/host_linux_test.go +++ b/pkg/metadata/host/host_linux_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package host diff --git a/pkg/metadata/host/host_nix.go b/pkg/metadata/host/host_nix.go index c53fe7c1455a4..7acacaec66787 100644 --- a/pkg/metadata/host/host_nix.go +++ b/pkg/metadata/host/host_nix.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build linux freebsd netbsd openbsd solaris dragonfly diff --git a/pkg/metadata/host/host_test.go b/pkg/metadata/host/host_test.go index b4434f3f2009d..406f124a35aae 100644 --- a/pkg/metadata/host/host_test.go +++ b/pkg/metadata/host/host_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package host diff --git a/pkg/metadata/host/host_windows.go b/pkg/metadata/host/host_windows.go index ef8053f8db80a..abefc8e4aabe1 100644 --- a/pkg/metadata/host/host_windows.go +++ b/pkg/metadata/host/host_windows.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package host diff --git a/pkg/metadata/host/host_windows_test.go b/pkg/metadata/host/host_windows_test.go index 9cd5fccf0fe31..fa5d7ad6b5f1f 100644 --- a/pkg/metadata/host/host_windows_test.go +++ b/pkg/metadata/host/host_windows_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package host diff --git a/pkg/metadata/host/payload.go b/pkg/metadata/host/payload.go index 955d60d0c723e..6c1bd1591a18b 100644 --- a/pkg/metadata/host/payload.go +++ b/pkg/metadata/host/payload.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package host diff --git a/pkg/metadata/kubernetes/kubernetes.go b/pkg/metadata/kubernetes/kubernetes.go index 3f1c0017e0476..cc17c7c3723d3 100644 --- a/pkg/metadata/kubernetes/kubernetes.go +++ b/pkg/metadata/kubernetes/kubernetes.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package kubernetes diff --git a/pkg/metadata/kubernetes/kubernetes_test.go b/pkg/metadata/kubernetes/kubernetes_test.go index 1b62e60bc1a42..6bce2d17952b9 100644 --- a/pkg/metadata/kubernetes/kubernetes_test.go +++ b/pkg/metadata/kubernetes/kubernetes_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package kubernetes diff --git a/pkg/metadata/payload.go b/pkg/metadata/payload.go index d999c33228171..5abf22d3f2a18 100644 --- a/pkg/metadata/payload.go +++ b/pkg/metadata/payload.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package metadata diff --git a/pkg/metadata/resources.go b/pkg/metadata/resources.go index 4a7de7c24b9a8..1e958dbbc4f21 100644 --- a/pkg/metadata/resources.go +++ b/pkg/metadata/resources.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package metadata diff --git a/pkg/metadata/resources/payload.go b/pkg/metadata/resources/payload.go index 90e0b084d05b8..cb962c129a59e 100644 --- a/pkg/metadata/resources/payload.go +++ b/pkg/metadata/resources/payload.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package resources diff --git a/pkg/metadata/resources/resources.go b/pkg/metadata/resources/resources.go index 184fb5f9343c9..df7f0e1f963ff 100644 --- a/pkg/metadata/resources/resources.go +++ b/pkg/metadata/resources/resources.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build linux windows darwin diff --git a/pkg/metadata/resources/resources_other.go b/pkg/metadata/resources/resources_other.go index 33f7259ecd6cb..d2cef634969fb 100644 --- a/pkg/metadata/resources/resources_other.go +++ b/pkg/metadata/resources/resources_other.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build freebsd netbsd openbsd solaris dragonfly diff --git a/pkg/metadata/resources/resources_test.go b/pkg/metadata/resources/resources_test.go index 1d96761f6b7e6..083b98fe5c2aa 100644 --- a/pkg/metadata/resources/resources_test.go +++ b/pkg/metadata/resources/resources_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package resources diff --git a/pkg/metadata/scheduler.go b/pkg/metadata/scheduler.go index 17ad5f28b3625..fdd9a212c914e 100644 --- a/pkg/metadata/scheduler.go +++ b/pkg/metadata/scheduler.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package metadata diff --git a/pkg/metadata/scheduler_test.go b/pkg/metadata/scheduler_test.go index 7ac8530b09221..dc760910d4dcb 100644 --- a/pkg/metadata/scheduler_test.go +++ b/pkg/metadata/scheduler_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package metadata diff --git a/pkg/metadata/types.go b/pkg/metadata/types.go index 9688c766ba205..6be61b9aea73b 100644 --- a/pkg/metadata/types.go +++ b/pkg/metadata/types.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package metadata diff --git a/pkg/metadata/v5/payload.go b/pkg/metadata/v5/payload.go index f687b33e5aabd..f575711bdc70b 100644 --- a/pkg/metadata/v5/payload.go +++ b/pkg/metadata/v5/payload.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package v5 diff --git a/pkg/metadata/v5/payload_gohai.go b/pkg/metadata/v5/payload_gohai.go index c9c9a8d02017f..875f62755a455 100644 --- a/pkg/metadata/v5/payload_gohai.go +++ b/pkg/metadata/v5/payload_gohai.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build linux windows darwin diff --git a/pkg/metadata/v5/payload_gohai_test.go b/pkg/metadata/v5/payload_gohai_test.go index 95c3b2a802d08..8097b6c8f3528 100644 --- a/pkg/metadata/v5/payload_gohai_test.go +++ b/pkg/metadata/v5/payload_gohai_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build linux windows darwin diff --git a/pkg/metadata/v5/payload_other.go b/pkg/metadata/v5/payload_other.go index e3f96ec29ff91..237a805e40364 100644 --- a/pkg/metadata/v5/payload_other.go +++ b/pkg/metadata/v5/payload_other.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build freebsd netbsd openbsd solaris dragonfly diff --git a/pkg/metadata/v5/v5.go b/pkg/metadata/v5/v5.go index c120bf267ab5d..d11716368b692 100644 --- a/pkg/metadata/v5/v5.go +++ b/pkg/metadata/v5/v5.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build linux windows darwin diff --git a/pkg/metadata/v5/v5_other.go b/pkg/metadata/v5/v5_other.go index b772417d0b902..7768f4a752e51 100644 --- a/pkg/metadata/v5/v5_other.go +++ b/pkg/metadata/v5/v5_other.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build freebsd netbsd openbsd solaris dragonfly diff --git a/pkg/metadata/v5/v5_test.go b/pkg/metadata/v5/v5_test.go index 8bbb152259ca1..c47c0f8b061b5 100644 --- a/pkg/metadata/v5/v5_test.go +++ b/pkg/metadata/v5/v5_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package v5 diff --git a/pkg/metrics/context_metrics.go b/pkg/metrics/context_metrics.go index a832c1708f69c..092eab472adec 100644 --- a/pkg/metrics/context_metrics.go +++ b/pkg/metrics/context_metrics.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package metrics diff --git a/pkg/metrics/context_metrics_test.go b/pkg/metrics/context_metrics_test.go index 629531f3ae59e..1cbac9abd1d5f 100644 --- a/pkg/metrics/context_metrics_test.go +++ b/pkg/metrics/context_metrics_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package metrics diff --git a/pkg/metrics/context_sketch.go b/pkg/metrics/context_sketch.go index 723d29dc8c7fd..c5bd19a1f03bd 100644 --- a/pkg/metrics/context_sketch.go +++ b/pkg/metrics/context_sketch.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // NOTE: This file contains a feature in development that is NOT supported. diff --git a/pkg/metrics/context_sketch_test.go b/pkg/metrics/context_sketch_test.go index 111389d32c942..56e6566dd6515 100644 --- a/pkg/metrics/context_sketch_test.go +++ b/pkg/metrics/context_sketch_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package metrics diff --git a/pkg/metrics/count.go b/pkg/metrics/count.go index 9b6daedc4a16c..c3fd6e94af699 100644 --- a/pkg/metrics/count.go +++ b/pkg/metrics/count.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package metrics diff --git a/pkg/metrics/count_test.go b/pkg/metrics/count_test.go index 1e264bc8aafd5..3b9b1510bdfe6 100644 --- a/pkg/metrics/count_test.go +++ b/pkg/metrics/count_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package metrics diff --git a/pkg/metrics/counter.go b/pkg/metrics/counter.go index e34e95f6627d1..33a53f77e7d57 100644 --- a/pkg/metrics/counter.go +++ b/pkg/metrics/counter.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package metrics diff --git a/pkg/metrics/counter_test.go b/pkg/metrics/counter_test.go index e82a525a2b21d..20417507a4fa5 100644 --- a/pkg/metrics/counter_test.go +++ b/pkg/metrics/counter_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package metrics diff --git a/pkg/metrics/distribution.go b/pkg/metrics/distribution.go index b7f672ac95788..d7b9d028d1187 100644 --- a/pkg/metrics/distribution.go +++ b/pkg/metrics/distribution.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // NOTE: This file contains a feature in development that is NOT supported. diff --git a/pkg/metrics/distribution_test.go b/pkg/metrics/distribution_test.go index 0e39c49d58d32..8062c46574952 100644 --- a/pkg/metrics/distribution_test.go +++ b/pkg/metrics/distribution_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package metrics diff --git a/pkg/metrics/event.go b/pkg/metrics/event.go index 05901e8496a66..4b25536e59305 100644 --- a/pkg/metrics/event.go +++ b/pkg/metrics/event.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package metrics diff --git a/pkg/metrics/event_test.go b/pkg/metrics/event_test.go index a695cad276a56..dc52eafd0cb10 100644 --- a/pkg/metrics/event_test.go +++ b/pkg/metrics/event_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package metrics diff --git a/pkg/metrics/gauge.go b/pkg/metrics/gauge.go index 498bbfd7b717b..928e65d5911e5 100644 --- a/pkg/metrics/gauge.go +++ b/pkg/metrics/gauge.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package metrics diff --git a/pkg/metrics/gauge_test.go b/pkg/metrics/gauge_test.go index acf0f55948159..3e205d2fcca34 100644 --- a/pkg/metrics/gauge_test.go +++ b/pkg/metrics/gauge_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package metrics diff --git a/pkg/metrics/histogram.go b/pkg/metrics/histogram.go index 6cf1b75c3c5fd..df4e4a2b8a88f 100644 --- a/pkg/metrics/histogram.go +++ b/pkg/metrics/histogram.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package metrics diff --git a/pkg/metrics/histogram_test.go b/pkg/metrics/histogram_test.go index cbc773c891111..beff9d0976671 100644 --- a/pkg/metrics/histogram_test.go +++ b/pkg/metrics/histogram_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package metrics diff --git a/pkg/metrics/historate.go b/pkg/metrics/historate.go index 5d8f33bde9b86..4878e4c7d67af 100644 --- a/pkg/metrics/historate.go +++ b/pkg/metrics/historate.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package metrics diff --git a/pkg/metrics/historate_test.go b/pkg/metrics/historate_test.go index 6920414cf3e75..d0b554a10265f 100644 --- a/pkg/metrics/historate_test.go +++ b/pkg/metrics/historate_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package metrics diff --git a/pkg/metrics/metric.go b/pkg/metrics/metric.go index 875afcb2bfb8c..a06978ae0c90b 100644 --- a/pkg/metrics/metric.go +++ b/pkg/metrics/metric.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package metrics diff --git a/pkg/metrics/metric_sample.go b/pkg/metrics/metric_sample.go index 1c84de5c73b13..612bfbeef8fcb 100644 --- a/pkg/metrics/metric_sample.go +++ b/pkg/metrics/metric_sample.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package metrics diff --git a/pkg/metrics/monotonic_count.go b/pkg/metrics/monotonic_count.go index 2b0cc7878b700..3f42ab19c5662 100644 --- a/pkg/metrics/monotonic_count.go +++ b/pkg/metrics/monotonic_count.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package metrics diff --git a/pkg/metrics/monotonic_count_test.go b/pkg/metrics/monotonic_count_test.go index efa5ce20da1a7..551f9f2217147 100644 --- a/pkg/metrics/monotonic_count_test.go +++ b/pkg/metrics/monotonic_count_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package metrics diff --git a/pkg/metrics/percentile/complete_ds.go b/pkg/metrics/percentile/complete_ds.go index 62b2fb41f0a13..42130fd4daf66 100644 --- a/pkg/metrics/percentile/complete_ds.go +++ b/pkg/metrics/percentile/complete_ds.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package percentile diff --git a/pkg/metrics/percentile/gk_array.go b/pkg/metrics/percentile/gk_array.go index c2a75fc1957ae..d99519d63a6b4 100644 --- a/pkg/metrics/percentile/gk_array.go +++ b/pkg/metrics/percentile/gk_array.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // // NOTE: This module contains a feature in development that is NOT supported. diff --git a/pkg/metrics/percentile/gk_array_test.go b/pkg/metrics/percentile/gk_array_test.go index 7a46e96180351..5bad9a778c9bd 100644 --- a/pkg/metrics/percentile/gk_array_test.go +++ b/pkg/metrics/percentile/gk_array_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package percentile diff --git a/pkg/metrics/percentile/kll.go b/pkg/metrics/percentile/kll.go index 7099e6fed9285..dce0bd94323f6 100644 --- a/pkg/metrics/percentile/kll.go +++ b/pkg/metrics/percentile/kll.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package percentile diff --git a/pkg/metrics/percentile/sketch_series.go b/pkg/metrics/percentile/sketch_series.go index df9130ceaae9c..84f2eb1e0bdce 100644 --- a/pkg/metrics/percentile/sketch_series.go +++ b/pkg/metrics/percentile/sketch_series.go @@ -1,6 +1,6 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // // NOTE: This module contains a feature in development that is NOT supported. diff --git a/pkg/metrics/percentile/sketch_series_test.go b/pkg/metrics/percentile/sketch_series_test.go index 7aa2bd5d3d31c..6de77a7c279af 100644 --- a/pkg/metrics/percentile/sketch_series_test.go +++ b/pkg/metrics/percentile/sketch_series_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package percentile diff --git a/pkg/metrics/rate.go b/pkg/metrics/rate.go index 5f70dd09f1eab..6df4487ea784e 100644 --- a/pkg/metrics/rate.go +++ b/pkg/metrics/rate.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package metrics diff --git a/pkg/metrics/rate_test.go b/pkg/metrics/rate_test.go index f176a715155b0..f506a77342712 100644 --- a/pkg/metrics/rate_test.go +++ b/pkg/metrics/rate_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package metrics diff --git a/pkg/metrics/series.go b/pkg/metrics/series.go index 1f45a2ff78260..2dd755755c2bd 100644 --- a/pkg/metrics/series.go +++ b/pkg/metrics/series.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package metrics diff --git a/pkg/metrics/series_test.go b/pkg/metrics/series_test.go index 64cbbb680504e..ec44e0fc36899 100644 --- a/pkg/metrics/series_test.go +++ b/pkg/metrics/series_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package metrics diff --git a/pkg/metrics/service_check.go b/pkg/metrics/service_check.go index fbd982a16cf29..90da2447e09e6 100644 --- a/pkg/metrics/service_check.go +++ b/pkg/metrics/service_check.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package metrics diff --git a/pkg/metrics/service_check_test.go b/pkg/metrics/service_check_test.go index 0c74bccb213a2..13acfe373e0ae 100644 --- a/pkg/metrics/service_check_test.go +++ b/pkg/metrics/service_check_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package metrics diff --git a/pkg/metrics/set.go b/pkg/metrics/set.go index 063abe31e1807..75b69d4558390 100644 --- a/pkg/metrics/set.go +++ b/pkg/metrics/set.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package metrics diff --git a/pkg/metrics/set_test.go b/pkg/metrics/set_test.go index 1d8ec2f0117a0..ab746f531eec9 100644 --- a/pkg/metrics/set_test.go +++ b/pkg/metrics/set_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package metrics diff --git a/pkg/metrics/test_helper.go b/pkg/metrics/test_helper.go index a0ae3b09cda2a..3875cf7e22762 100644 --- a/pkg/metrics/test_helper.go +++ b/pkg/metrics/test_helper.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package metrics diff --git a/pkg/pidfile/pidfile.go b/pkg/pidfile/pidfile.go index 9d347a4275052..62f13f72ab1ba 100644 --- a/pkg/pidfile/pidfile.go +++ b/pkg/pidfile/pidfile.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package pidfile diff --git a/pkg/pidfile/pidfile_darwin.go b/pkg/pidfile/pidfile_darwin.go index fa99cc29dd933..0af6c3c6b0534 100644 --- a/pkg/pidfile/pidfile_darwin.go +++ b/pkg/pidfile/pidfile_darwin.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package pidfile diff --git a/pkg/pidfile/pidfile_nix.go b/pkg/pidfile/pidfile_nix.go index b316bb0c38735..3cc5769663278 100644 --- a/pkg/pidfile/pidfile_nix.go +++ b/pkg/pidfile/pidfile_nix.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build freebsd linux netbsd openbsd solaris dragonfly diff --git a/pkg/pidfile/pidfile_test.go b/pkg/pidfile/pidfile_test.go index 610a12e2c5ce8..8828d6005be9e 100644 --- a/pkg/pidfile/pidfile_test.go +++ b/pkg/pidfile/pidfile_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package pidfile diff --git a/pkg/pidfile/pidfile_windows.go b/pkg/pidfile/pidfile_windows.go index 5baa379edc2af..8ba6b0c90bae4 100644 --- a/pkg/pidfile/pidfile_windows.go +++ b/pkg/pidfile/pidfile_windows.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package pidfile diff --git a/pkg/serializer/marshaler/marshaler.go b/pkg/serializer/marshaler/marshaler.go index c8e8554846fc4..27b580400c6b7 100644 --- a/pkg/serializer/marshaler/marshaler.go +++ b/pkg/serializer/marshaler/marshaler.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package marshaler diff --git a/pkg/serializer/serializer.go b/pkg/serializer/serializer.go index 677d31f56c53f..441a0a8c4c10c 100644 --- a/pkg/serializer/serializer.go +++ b/pkg/serializer/serializer.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package serializer diff --git a/pkg/serializer/serializer_test.go b/pkg/serializer/serializer_test.go index 159a6cdc25560..26e94e92e7d11 100644 --- a/pkg/serializer/serializer_test.go +++ b/pkg/serializer/serializer_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package serializer diff --git a/pkg/serializer/split/split.go b/pkg/serializer/split/split.go index f0260a5d25640..65af2efb34fe3 100644 --- a/pkg/serializer/split/split.go +++ b/pkg/serializer/split/split.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package split diff --git a/pkg/serializer/split/split_test.go b/pkg/serializer/split/split_test.go index 9751d518f7e34..519b290fe813b 100644 --- a/pkg/serializer/split/split_test.go +++ b/pkg/serializer/split/split_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package split diff --git a/pkg/status/helpers.go b/pkg/status/helpers.go index d2e86d50291cb..3585c2c40b594 100644 --- a/pkg/status/helpers.go +++ b/pkg/status/helpers.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package status diff --git a/pkg/status/jmx_status.go b/pkg/status/jmx_status.go index c8f5c4e626823..537ee90f41578 100644 --- a/pkg/status/jmx_status.go +++ b/pkg/status/jmx_status.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package status diff --git a/pkg/status/render.go b/pkg/status/render.go index 053f85c7b2514..c71ec9af1e6aa 100644 --- a/pkg/status/render.go +++ b/pkg/status/render.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package status diff --git a/pkg/status/status.go b/pkg/status/status.go index 8646eb7065dc7..5d3b51acfea4f 100644 --- a/pkg/status/status.go +++ b/pkg/status/status.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package status diff --git a/pkg/tagger/collectors/catalog.go b/pkg/tagger/collectors/catalog.go index b0ce40bb3523e..403d157506e11 100644 --- a/pkg/tagger/collectors/catalog.go +++ b/pkg/tagger/collectors/catalog.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package collectors diff --git a/pkg/tagger/collectors/docker_extract.go b/pkg/tagger/collectors/docker_extract.go index f54ff49cce111..09cf010e239d0 100644 --- a/pkg/tagger/collectors/docker_extract.go +++ b/pkg/tagger/collectors/docker_extract.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build docker diff --git a/pkg/tagger/collectors/docker_extract_test.go b/pkg/tagger/collectors/docker_extract_test.go index 70e34732d1abb..b50d8f3eff4b2 100644 --- a/pkg/tagger/collectors/docker_extract_test.go +++ b/pkg/tagger/collectors/docker_extract_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build docker diff --git a/pkg/tagger/collectors/docker_main.go b/pkg/tagger/collectors/docker_main.go index 935d4940bc594..58140d49f203d 100644 --- a/pkg/tagger/collectors/docker_main.go +++ b/pkg/tagger/collectors/docker_main.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build docker diff --git a/pkg/tagger/collectors/ecs_extract.go b/pkg/tagger/collectors/ecs_extract.go index 7be85010e3dd2..a763bb4633985 100644 --- a/pkg/tagger/collectors/ecs_extract.go +++ b/pkg/tagger/collectors/ecs_extract.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build docker diff --git a/pkg/tagger/collectors/ecs_extract_test.go b/pkg/tagger/collectors/ecs_extract_test.go index 24a13c1a0e766..77d3bfe5450a1 100644 --- a/pkg/tagger/collectors/ecs_extract_test.go +++ b/pkg/tagger/collectors/ecs_extract_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build docker diff --git a/pkg/tagger/collectors/ecs_main.go b/pkg/tagger/collectors/ecs_main.go index 4ddac9a9bdcb6..6941822b2928b 100644 --- a/pkg/tagger/collectors/ecs_main.go +++ b/pkg/tagger/collectors/ecs_main.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build docker diff --git a/pkg/tagger/collectors/kubelet_extract.go b/pkg/tagger/collectors/kubelet_extract.go index 323211b64b8fb..06c0347b27b83 100644 --- a/pkg/tagger/collectors/kubelet_extract.go +++ b/pkg/tagger/collectors/kubelet_extract.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build kubelet diff --git a/pkg/tagger/collectors/kubelet_extract_test.go b/pkg/tagger/collectors/kubelet_extract_test.go index 942c8f3836eee..0c6eefca61416 100644 --- a/pkg/tagger/collectors/kubelet_extract_test.go +++ b/pkg/tagger/collectors/kubelet_extract_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build kubelet diff --git a/pkg/tagger/collectors/kubelet_main.go b/pkg/tagger/collectors/kubelet_main.go index 088e8481f90f5..d9bda045954f4 100644 --- a/pkg/tagger/collectors/kubelet_main.go +++ b/pkg/tagger/collectors/kubelet_main.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build kubelet diff --git a/pkg/tagger/collectors/types.go b/pkg/tagger/collectors/types.go index 7a7b38504df30..c4f0098699654 100644 --- a/pkg/tagger/collectors/types.go +++ b/pkg/tagger/collectors/types.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package collectors diff --git a/pkg/tagger/global.go b/pkg/tagger/global.go index a3927bbd7da93..430c41dfdd7c8 100644 --- a/pkg/tagger/global.go +++ b/pkg/tagger/global.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package tagger diff --git a/pkg/tagger/tagger.go b/pkg/tagger/tagger.go index 6cf427e3d09cf..b140314b7b134 100644 --- a/pkg/tagger/tagger.go +++ b/pkg/tagger/tagger.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package tagger diff --git a/pkg/tagger/tagger_test.go b/pkg/tagger/tagger_test.go index 4572982eab3e4..ce65087fb2a32 100644 --- a/pkg/tagger/tagger_test.go +++ b/pkg/tagger/tagger_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package tagger diff --git a/pkg/tagger/tagstore_test.go b/pkg/tagger/tagstore_test.go index adf1ded3bdd0e..40c2c548499e8 100644 --- a/pkg/tagger/tagstore_test.go +++ b/pkg/tagger/tagstore_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package tagger diff --git a/pkg/tagger/utils/concat.go b/pkg/tagger/utils/concat.go index 9224418726f59..212b53c5820d0 100644 --- a/pkg/tagger/utils/concat.go +++ b/pkg/tagger/utils/concat.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package utils diff --git a/pkg/tagger/utils/concat_test.go b/pkg/tagger/utils/concat_test.go index 3ed22d7a70bb3..c6b022d8fb289 100644 --- a/pkg/tagger/utils/concat_test.go +++ b/pkg/tagger/utils/concat_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package utils diff --git a/pkg/tagger/utils/expiry.go b/pkg/tagger/utils/expiry.go index 36c2ce5cacd4b..c15413d4fdfb7 100644 --- a/pkg/tagger/utils/expiry.go +++ b/pkg/tagger/utils/expiry.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package utils diff --git a/pkg/tagger/utils/expiry_test.go b/pkg/tagger/utils/expiry_test.go index 7f2b1d9a4b119..f32e785e0b40a 100644 --- a/pkg/tagger/utils/expiry_test.go +++ b/pkg/tagger/utils/expiry_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package utils diff --git a/pkg/tagger/utils/strings.go b/pkg/tagger/utils/strings.go index 77d55805560cc..9f76afb68c77e 100644 --- a/pkg/tagger/utils/strings.go +++ b/pkg/tagger/utils/strings.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package utils diff --git a/pkg/tagger/utils/strings_test.go b/pkg/tagger/utils/strings_test.go index 3263825196e36..ca489251cd151 100644 --- a/pkg/tagger/utils/strings_test.go +++ b/pkg/tagger/utils/strings_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package utils diff --git a/pkg/tagger/utils/taglist.go b/pkg/tagger/utils/taglist.go index 84a913de33226..597a1d9f40ab7 100644 --- a/pkg/tagger/utils/taglist.go +++ b/pkg/tagger/utils/taglist.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package utils diff --git a/pkg/tagger/utils/taglist_test.go b/pkg/tagger/utils/taglist_test.go index a84fbbf3a8e6c..aec0aed6f06e5 100644 --- a/pkg/tagger/utils/taglist_test.go +++ b/pkg/tagger/utils/taglist_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package utils diff --git a/pkg/util/azure/azure.go b/pkg/util/azure/azure.go index 5c79c62f95c56..14b50b6712cb1 100644 --- a/pkg/util/azure/azure.go +++ b/pkg/util/azure/azure.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package azure diff --git a/pkg/util/azure/azure_test.go b/pkg/util/azure/azure_test.go index 130ea4b03102f..cad8d12e23e37 100644 --- a/pkg/util/azure/azure_test.go +++ b/pkg/util/azure/azure_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package azure diff --git a/pkg/util/azure/diagnosis.go b/pkg/util/azure/diagnosis.go index d7f753a23812d..8c14a1f03b5ba 100644 --- a/pkg/util/azure/diagnosis.go +++ b/pkg/util/azure/diagnosis.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package azure diff --git a/pkg/util/bimap.go b/pkg/util/bimap.go index b1027824c5ef1..a0fb0ec3aa578 100644 --- a/pkg/util/bimap.go +++ b/pkg/util/bimap.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package util diff --git a/pkg/util/bimap_test.go b/pkg/util/bimap_test.go index 5d77747baeeb2..bfe91f8987284 100644 --- a/pkg/util/bimap_test.go +++ b/pkg/util/bimap_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package util diff --git a/pkg/util/cache/cache.go b/pkg/util/cache/cache.go index 51923b7f5305b..a422c90ae2274 100644 --- a/pkg/util/cache/cache.go +++ b/pkg/util/cache/cache.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package cache diff --git a/pkg/util/cloudfoundry/cloudfoundry.go b/pkg/util/cloudfoundry/cloudfoundry.go index 941eccdfd953b..6c9d0630f7e6a 100644 --- a/pkg/util/cloudfoundry/cloudfoundry.go +++ b/pkg/util/cloudfoundry/cloudfoundry.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package cloudfoudry diff --git a/pkg/util/common.go b/pkg/util/common.go index eb840cac41f6e..b18283edaad57 100644 --- a/pkg/util/common.go +++ b/pkg/util/common.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package util diff --git a/pkg/util/compression/no_compression.go b/pkg/util/compression/no_compression.go index e915accf35b69..9bb782ff1cf51 100644 --- a/pkg/util/compression/no_compression.go +++ b/pkg/util/compression/no_compression.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build !zlib,!zstd diff --git a/pkg/util/compression/zlib.go b/pkg/util/compression/zlib.go index 4e0e94362284b..0109773758a17 100644 --- a/pkg/util/compression/zlib.go +++ b/pkg/util/compression/zlib.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build zlib diff --git a/pkg/util/compression/zstd.go b/pkg/util/compression/zstd.go index 38aee3c0f092d..fac793a7e0875 100644 --- a/pkg/util/compression/zstd.go +++ b/pkg/util/compression/zstd.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build zstd diff --git a/pkg/util/docker/cgroup.go b/pkg/util/docker/cgroup.go index 4f3c1d5c4f2a1..6bd981b0041d8 100644 --- a/pkg/util/docker/cgroup.go +++ b/pkg/util/docker/cgroup.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // This code is not tied to docker itself, hence no docker build flag. // It could be moved to its own package. diff --git a/pkg/util/docker/cgroup_test.go b/pkg/util/docker/cgroup_test.go index 5058e9fe8c0f6..31f9d9f91653b 100644 --- a/pkg/util/docker/cgroup_test.go +++ b/pkg/util/docker/cgroup_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package docker diff --git a/pkg/util/docker/common_test.go b/pkg/util/docker/common_test.go index e4e2f827edbcd..b51447fee7008 100644 --- a/pkg/util/docker/common_test.go +++ b/pkg/util/docker/common_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package docker diff --git a/pkg/util/docker/diagnosis.go b/pkg/util/docker/diagnosis.go index 7466efad3192d..d433f524e628b 100644 --- a/pkg/util/docker/diagnosis.go +++ b/pkg/util/docker/diagnosis.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build docker diff --git a/pkg/util/docker/docker_test.go b/pkg/util/docker/docker_test.go index 80d92bc8757f6..ee4b67a7113bf 100644 --- a/pkg/util/docker/docker_test.go +++ b/pkg/util/docker/docker_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build docker diff --git a/pkg/util/docker/docker_util.go b/pkg/util/docker/docker_util.go index 31172aa68b7cb..431af44859565 100644 --- a/pkg/util/docker/docker_util.go +++ b/pkg/util/docker/docker_util.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build docker diff --git a/pkg/util/docker/event_pull.go b/pkg/util/docker/event_pull.go index c48ec934a051d..7063eecfa89e6 100644 --- a/pkg/util/docker/event_pull.go +++ b/pkg/util/docker/event_pull.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build docker diff --git a/pkg/util/docker/event_pull_test.go b/pkg/util/docker/event_pull_test.go index ae9957b25ea43..e18e4e99a4432 100644 --- a/pkg/util/docker/event_pull_test.go +++ b/pkg/util/docker/event_pull_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build docker diff --git a/pkg/util/docker/event_stream.go b/pkg/util/docker/event_stream.go index 9a2d10512aabe..b847909071915 100644 --- a/pkg/util/docker/event_stream.go +++ b/pkg/util/docker/event_stream.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build docker diff --git a/pkg/util/docker/event_types.go b/pkg/util/docker/event_types.go index f51a8e7a63acc..90b498b0e2986 100644 --- a/pkg/util/docker/event_types.go +++ b/pkg/util/docker/event_types.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package docker diff --git a/pkg/util/docker/filter.go b/pkg/util/docker/filter.go index 1c2949ff0d8fb..1552e8f636e62 100644 --- a/pkg/util/docker/filter.go +++ b/pkg/util/docker/filter.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build docker diff --git a/pkg/util/docker/filter_test.go b/pkg/util/docker/filter_test.go index c788f8e6fcc47..3f98686f2a20b 100644 --- a/pkg/util/docker/filter_test.go +++ b/pkg/util/docker/filter_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build docker diff --git a/pkg/util/docker/global.go b/pkg/util/docker/global.go index f85e3ef10bc55..958667895dbad 100644 --- a/pkg/util/docker/global.go +++ b/pkg/util/docker/global.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build docker diff --git a/pkg/util/docker/global_common.go b/pkg/util/docker/global_common.go index 59ab3b58f308d..1e8554bc9a9bf 100644 --- a/pkg/util/docker/global_common.go +++ b/pkg/util/docker/global_common.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package docker diff --git a/pkg/util/docker/global_nodocker.go b/pkg/util/docker/global_nodocker.go index 107f4abfc8cda..66b974950c4f6 100644 --- a/pkg/util/docker/global_nodocker.go +++ b/pkg/util/docker/global_nodocker.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build !docker diff --git a/pkg/util/docker/network.go b/pkg/util/docker/network.go index d2a53096b4618..845e84fd04e4f 100644 --- a/pkg/util/docker/network.go +++ b/pkg/util/docker/network.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build docker diff --git a/pkg/util/docker/network_test.go b/pkg/util/docker/network_test.go index 468e4392851b5..461b49d8a5487 100644 --- a/pkg/util/docker/network_test.go +++ b/pkg/util/docker/network_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build docker diff --git a/pkg/util/docker/networkstats.go b/pkg/util/docker/networkstats.go index d66cdeed52e11..909a6cc2f452c 100644 --- a/pkg/util/docker/networkstats.go +++ b/pkg/util/docker/networkstats.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build docker diff --git a/pkg/util/docker/rancher.go b/pkg/util/docker/rancher.go index f7333b544a927..cd80a95d5985a 100644 --- a/pkg/util/docker/rancher.go +++ b/pkg/util/docker/rancher.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package docker diff --git a/pkg/util/docker/rancher_test.go b/pkg/util/docker/rancher_test.go index 6627a43fa65a9..f93654a5e9fef 100644 --- a/pkg/util/docker/rancher_test.go +++ b/pkg/util/docker/rancher_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package docker diff --git a/pkg/util/docker/storage.go b/pkg/util/docker/storage.go index 61a436a01cb31..2c36fdb62bcdd 100644 --- a/pkg/util/docker/storage.go +++ b/pkg/util/docker/storage.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build docker diff --git a/pkg/util/docker/storage_test.go b/pkg/util/docker/storage_test.go index d2c39149c7e19..458a9b5cea6ae 100644 --- a/pkg/util/docker/storage_test.go +++ b/pkg/util/docker/storage_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build docker diff --git a/pkg/util/docker/util_common.go b/pkg/util/docker/util_common.go index fc7958b705f1f..c0ff00e5fac26 100644 --- a/pkg/util/docker/util_common.go +++ b/pkg/util/docker/util_common.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package docker diff --git a/pkg/util/docker/util_common_test.go b/pkg/util/docker/util_common_test.go index 228fa13ca3887..0d73049eb3e95 100644 --- a/pkg/util/docker/util_common_test.go +++ b/pkg/util/docker/util_common_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build docker diff --git a/pkg/util/docker/util_docker.go b/pkg/util/docker/util_docker.go index 34f8cb4c1bc5e..944015e0cde4e 100644 --- a/pkg/util/docker/util_docker.go +++ b/pkg/util/docker/util_docker.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build docker diff --git a/pkg/util/docker/util_docker_test.go b/pkg/util/docker/util_docker_test.go index f24dbfd761a1f..197426528b2cc 100644 --- a/pkg/util/docker/util_docker_test.go +++ b/pkg/util/docker/util_docker_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build docker diff --git a/pkg/util/ec2/diagnosis.go b/pkg/util/ec2/diagnosis.go index b05f0ac6e580e..d49f9268ea196 100644 --- a/pkg/util/ec2/diagnosis.go +++ b/pkg/util/ec2/diagnosis.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package ec2 diff --git a/pkg/util/ec2/ec2.go b/pkg/util/ec2/ec2.go index b4282d58ebb9f..28bb0fedb03c7 100644 --- a/pkg/util/ec2/ec2.go +++ b/pkg/util/ec2/ec2.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package ec2 diff --git a/pkg/util/ec2/ec2_no_tags.go b/pkg/util/ec2/ec2_no_tags.go index b6334911c92a1..c8d8dd367d7f9 100644 --- a/pkg/util/ec2/ec2_no_tags.go +++ b/pkg/util/ec2/ec2_no_tags.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build !ec2 diff --git a/pkg/util/ec2/ec2_tags.go b/pkg/util/ec2/ec2_tags.go index 4b3eb083efed7..da70e4766bc55 100644 --- a/pkg/util/ec2/ec2_tags.go +++ b/pkg/util/ec2/ec2_tags.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build ec2 diff --git a/pkg/util/ec2/ec2_tags_test.go b/pkg/util/ec2/ec2_tags_test.go index 8802ef6817964..78942904cca0b 100644 --- a/pkg/util/ec2/ec2_tags_test.go +++ b/pkg/util/ec2/ec2_tags_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build ec2 diff --git a/pkg/util/ec2/ec2_test.go b/pkg/util/ec2/ec2_test.go index 70ab778030b7d..be107101ef0f0 100644 --- a/pkg/util/ec2/ec2_test.go +++ b/pkg/util/ec2/ec2_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package ec2 diff --git a/pkg/util/ecs/doc.go b/pkg/util/ecs/doc.go index 20c82eff6c05d..06f866ace6e7f 100644 --- a/pkg/util/ecs/doc.go +++ b/pkg/util/ecs/doc.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // Package ecs provides metadata collection when the Agent runs on the ECS platform package ecs diff --git a/pkg/util/ecs/ecs.go b/pkg/util/ecs/ecs.go index fe3fbf694d947..9b8d40f2c79ea 100644 --- a/pkg/util/ecs/ecs.go +++ b/pkg/util/ecs/ecs.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build docker diff --git a/pkg/util/ecs/ecs_nodocker.go b/pkg/util/ecs/ecs_nodocker.go index 1c6b5682459dd..f9048cbd4b563 100644 --- a/pkg/util/ecs/ecs_nodocker.go +++ b/pkg/util/ecs/ecs_nodocker.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build !docker diff --git a/pkg/util/ecs/ecs_test.go b/pkg/util/ecs/ecs_test.go index 3f12eefd762c8..d266220b2b256 100644 --- a/pkg/util/ecs/ecs_test.go +++ b/pkg/util/ecs/ecs_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build docker diff --git a/pkg/util/executable/executable.go b/pkg/util/executable/executable.go index ade0bae6dff80..be2e9035d8f98 100644 --- a/pkg/util/executable/executable.go +++ b/pkg/util/executable/executable.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // Package executable provides information on the executable that started the process package executable diff --git a/pkg/util/gce/diagnosis.go b/pkg/util/gce/diagnosis.go index 8cc22c4a4a19d..67944e69b5724 100644 --- a/pkg/util/gce/diagnosis.go +++ b/pkg/util/gce/diagnosis.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package gce diff --git a/pkg/util/gce/gce.go b/pkg/util/gce/gce.go index 220f44ff15a4d..167c4f8557a93 100644 --- a/pkg/util/gce/gce.go +++ b/pkg/util/gce/gce.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package gce diff --git a/pkg/util/gce/gce_no_tags.go b/pkg/util/gce/gce_no_tags.go index b5b46c482c07c..70b268590d142 100644 --- a/pkg/util/gce/gce_no_tags.go +++ b/pkg/util/gce/gce_no_tags.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build !gce diff --git a/pkg/util/gce/gce_tags.go b/pkg/util/gce/gce_tags.go index c50362336d87f..44d6302bd39f6 100644 --- a/pkg/util/gce/gce_tags.go +++ b/pkg/util/gce/gce_tags.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build gce diff --git a/pkg/util/gce/gce_tags_test.go b/pkg/util/gce/gce_tags_test.go index 739417ce8f454..de6dc1b9b5bfd 100644 --- a/pkg/util/gce/gce_tags_test.go +++ b/pkg/util/gce/gce_tags_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build gce diff --git a/pkg/util/gce/gce_test.go b/pkg/util/gce/gce_test.go index 2bded5bb79e2d..b1e479e9e8ad1 100644 --- a/pkg/util/gce/gce_test.go +++ b/pkg/util/gce/gce_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package gce diff --git a/pkg/util/hostname.go b/pkg/util/hostname.go index f2be30e609136..333d1053d3c2e 100644 --- a/pkg/util/hostname.go +++ b/pkg/util/hostname.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package util diff --git a/pkg/util/hostname/docker.go b/pkg/util/hostname/docker.go index 52e0398cdaa91..b71ca1a86205f 100644 --- a/pkg/util/hostname/docker.go +++ b/pkg/util/hostname/docker.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build docker diff --git a/pkg/util/hostname/ec2.go b/pkg/util/hostname/ec2.go index 757fb55113413..3e972ea715958 100644 --- a/pkg/util/hostname/ec2.go +++ b/pkg/util/hostname/ec2.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build ec2 diff --git a/pkg/util/hostname/gce.go b/pkg/util/hostname/gce.go index b51abc93d8f72..10eddab94f83e 100644 --- a/pkg/util/hostname/gce.go +++ b/pkg/util/hostname/gce.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build gce diff --git a/pkg/util/hostname/providers.go b/pkg/util/hostname/providers.go index 78e5bc500ea42..7cdb06c20ffdb 100644 --- a/pkg/util/hostname/providers.go +++ b/pkg/util/hostname/providers.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package hostname diff --git a/pkg/util/hostname_docker.go b/pkg/util/hostname_docker.go index 3df8dfcb762e4..915240d1d7dca 100644 --- a/pkg/util/hostname_docker.go +++ b/pkg/util/hostname_docker.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build linux windows darwin // I don't think windows and darwin can actually be docker hosts diff --git a/pkg/util/hostname_docker_stub.go b/pkg/util/hostname_docker_stub.go index 210e9c44aeb01..697c11f02d75b 100644 --- a/pkg/util/hostname_docker_stub.go +++ b/pkg/util/hostname_docker_stub.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build freebsd netbsd openbsd solaris dragonfly diff --git a/pkg/util/hostname_test.go b/pkg/util/hostname_test.go index 16c6f93fa6213..309c9e6de87e3 100644 --- a/pkg/util/hostname_test.go +++ b/pkg/util/hostname_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package util diff --git a/pkg/util/kubernetes/apiserver/apiserver.go b/pkg/util/kubernetes/apiserver/apiserver.go index 532d2b5b6e63e..bf900f6852cea 100644 --- a/pkg/util/kubernetes/apiserver/apiserver.go +++ b/pkg/util/kubernetes/apiserver/apiserver.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build kubeapiserver diff --git a/pkg/util/kubernetes/apiserver/apiserver_nocompile.go b/pkg/util/kubernetes/apiserver/apiserver_nocompile.go index b0a6f795f7537..188a2ebb86a1a 100644 --- a/pkg/util/kubernetes/apiserver/apiserver_nocompile.go +++ b/pkg/util/kubernetes/apiserver/apiserver_nocompile.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build !kubeapiserver diff --git a/pkg/util/kubernetes/apiserver/diagnosis.go b/pkg/util/kubernetes/apiserver/diagnosis.go index 1d4cd48df7c4c..d6a6068a71b53 100644 --- a/pkg/util/kubernetes/apiserver/diagnosis.go +++ b/pkg/util/kubernetes/apiserver/diagnosis.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build kubeapiserver diff --git a/pkg/util/kubernetes/auth.go b/pkg/util/kubernetes/auth.go index 594eb5915e649..13381e227a46d 100644 --- a/pkg/util/kubernetes/auth.go +++ b/pkg/util/kubernetes/auth.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package kubernetes diff --git a/pkg/util/kubernetes/kubelet/diagnosis.go b/pkg/util/kubernetes/kubelet/diagnosis.go index a6f46e69c2a80..2b925b5df7281 100644 --- a/pkg/util/kubernetes/kubelet/diagnosis.go +++ b/pkg/util/kubernetes/kubelet/diagnosis.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build docker // +build kubelet diff --git a/pkg/util/kubernetes/kubelet/kubelet.go b/pkg/util/kubernetes/kubelet/kubelet.go index af280141eaea7..f7feff8bf8bf2 100644 --- a/pkg/util/kubernetes/kubelet/kubelet.go +++ b/pkg/util/kubernetes/kubelet/kubelet.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build kubelet diff --git a/pkg/util/kubernetes/kubelet/kubelet_common.go b/pkg/util/kubernetes/kubelet/kubelet_common.go index 00a67796b4513..f2eb880490a55 100644 --- a/pkg/util/kubernetes/kubelet/kubelet_common.go +++ b/pkg/util/kubernetes/kubelet/kubelet_common.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package kubelet diff --git a/pkg/util/kubernetes/kubelet/kubelet_test.go b/pkg/util/kubernetes/kubelet/kubelet_test.go index 4d5f79f7a5377..d388a7fe929df 100644 --- a/pkg/util/kubernetes/kubelet/kubelet_test.go +++ b/pkg/util/kubernetes/kubelet/kubelet_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build kubelet diff --git a/pkg/util/kubernetes/kubelet/podwatcher.go b/pkg/util/kubernetes/kubelet/podwatcher.go index e103e6e435160..46ea115b50ee5 100644 --- a/pkg/util/kubernetes/kubelet/podwatcher.go +++ b/pkg/util/kubernetes/kubelet/podwatcher.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build kubelet diff --git a/pkg/util/kubernetes/kubelet/podwatcher_test.go b/pkg/util/kubernetes/kubelet/podwatcher_test.go index 88c67a55f1a5a..1a810fe2012b4 100644 --- a/pkg/util/kubernetes/kubelet/podwatcher_test.go +++ b/pkg/util/kubernetes/kubelet/podwatcher_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build kubelet diff --git a/pkg/util/kubernetes/kubelet/types_kubelet.go b/pkg/util/kubernetes/kubelet/types_kubelet.go index d99bf65c7c32d..4257eccf2ef2d 100644 --- a/pkg/util/kubernetes/kubelet/types_kubelet.go +++ b/pkg/util/kubernetes/kubelet/types_kubelet.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build kubelet diff --git a/pkg/util/pipe.go b/pkg/util/pipe.go index c31c2331ad6f3..999dfa6a8c62d 100644 --- a/pkg/util/pipe.go +++ b/pkg/util/pipe.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package util diff --git a/pkg/util/pipe_nix.go b/pkg/util/pipe_nix.go index f03fc6eb5f70a..fad5f6384c79b 100644 --- a/pkg/util/pipe_nix.go +++ b/pkg/util/pipe_nix.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build darwin freebsd linux diff --git a/pkg/util/pipe_windows.go b/pkg/util/pipe_windows.go index 7ec6c4dc860c2..0268a17d22bc8 100644 --- a/pkg/util/pipe_windows.go +++ b/pkg/util/pipe_windows.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package util diff --git a/pkg/util/retry/error.go b/pkg/util/retry/error.go index 99a33e7647f52..fd708b2aac898 100644 --- a/pkg/util/retry/error.go +++ b/pkg/util/retry/error.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package retry diff --git a/pkg/util/retry/error_test.go b/pkg/util/retry/error_test.go index 17c6b83645878..f4b2e1e68f7ab 100644 --- a/pkg/util/retry/error_test.go +++ b/pkg/util/retry/error_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package retry diff --git a/pkg/util/retry/retrier.go b/pkg/util/retry/retrier.go index c3f60536eb9ea..f5f6b654f13d5 100644 --- a/pkg/util/retry/retrier.go +++ b/pkg/util/retry/retrier.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package retry diff --git a/pkg/util/retry/retrier_test.go b/pkg/util/retry/retrier_test.go index e55036b4e0430..b02caf7ebbab9 100644 --- a/pkg/util/retry/retrier_test.go +++ b/pkg/util/retry/retrier_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package retry diff --git a/pkg/util/retry/types.go b/pkg/util/retry/types.go index b318f1d5bca2c..6c5f4479f6f26 100644 --- a/pkg/util/retry/types.go +++ b/pkg/util/retry/types.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package retry diff --git a/pkg/util/stat.go b/pkg/util/stat.go index 96a012553d98d..522406541f4bf 100644 --- a/pkg/util/stat.go +++ b/pkg/util/stat.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package util diff --git a/pkg/util/xc/nix.go b/pkg/util/xc/nix.go index 83cedb39ec7a4..816f663b96fdf 100644 --- a/pkg/util/xc/nix.go +++ b/pkg/util/xc/nix.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build !windows // +build cgo diff --git a/pkg/util/xc/stub.go b/pkg/util/xc/stub.go index f2a42c0d7001a..d6630fbe75522 100644 --- a/pkg/util/xc/stub.go +++ b/pkg/util/xc/stub.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build !cgo diff --git a/pkg/version/base.go b/pkg/version/base.go index 8f763f7445ed1..2c35e10ef74a3 100644 --- a/pkg/version/base.go +++ b/pkg/version/base.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // This module should be updated at every release diff --git a/pkg/version/version.go b/pkg/version/version.go index 3a57bf0e39589..7fe6ad80af7e2 100644 --- a/pkg/version/version.go +++ b/pkg/version/version.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package version diff --git a/pkg/version/version_test.go b/pkg/version/version_test.go index 76f28f0d0fa51..39337c6e32936 100644 --- a/pkg/version/version_test.go +++ b/pkg/version/version_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package version diff --git a/test/benchmarks/aggregator/main.go b/test/benchmarks/aggregator/main.go index c58e0f746db04..53517a5f1cbef 100644 --- a/test/benchmarks/aggregator/main.go +++ b/test/benchmarks/aggregator/main.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package main diff --git a/test/benchmarks/aggregator/metrics.go b/test/benchmarks/aggregator/metrics.go index 10afba484c1e7..5713901051fef 100644 --- a/test/benchmarks/aggregator/metrics.go +++ b/test/benchmarks/aggregator/metrics.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package main diff --git a/test/benchmarks/aggregator/push_metric.go b/test/benchmarks/aggregator/push_metric.go index 640b367c4e672..aca8960cda429 100644 --- a/test/benchmarks/aggregator/push_metric.go +++ b/test/benchmarks/aggregator/push_metric.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package main diff --git a/test/benchmarks/dogstatsd/main.go b/test/benchmarks/dogstatsd/main.go index e8e086b1d889c..3493110dff5f0 100644 --- a/test/benchmarks/dogstatsd/main.go +++ b/test/benchmarks/dogstatsd/main.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package main diff --git a/test/integration/autodiscovery/autoconfig_test.go b/test/integration/autodiscovery/autoconfig_test.go index 5cd0574585cc2..f09e4f84d506d 100644 --- a/test/integration/autodiscovery/autoconfig_test.go +++ b/test/integration/autodiscovery/autoconfig_test.go @@ -1,6 +1,6 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package autodiscovery diff --git a/test/integration/config_providers/etcd/etcd_provider_test.go b/test/integration/config_providers/etcd/etcd_provider_test.go index 62dd6943339bf..145588aee711b 100644 --- a/test/integration/config_providers/etcd/etcd_provider_test.go +++ b/test/integration/config_providers/etcd/etcd_provider_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package etcd diff --git a/test/integration/config_providers/zookeeper/zookeeper_provider_test.go b/test/integration/config_providers/zookeeper/zookeeper_provider_test.go index 76a5b154a9208..036c1e7fa27ef 100644 --- a/test/integration/config_providers/zookeeper/zookeeper_provider_test.go +++ b/test/integration/config_providers/zookeeper/zookeeper_provider_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package zookeeper diff --git a/test/integration/corechecks/docker/basemetrics_test.go b/test/integration/corechecks/docker/basemetrics_test.go index 8c3b64541409d..a55db8affbf00 100644 --- a/test/integration/corechecks/docker/basemetrics_test.go +++ b/test/integration/corechecks/docker/basemetrics_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package docker diff --git a/test/integration/corechecks/docker/catalog.go b/test/integration/corechecks/docker/catalog.go index 2ca1f375fe7c0..938848e3d7854 100644 --- a/test/integration/corechecks/docker/catalog.go +++ b/test/integration/corechecks/docker/catalog.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package docker diff --git a/test/integration/corechecks/docker/events_test.go b/test/integration/corechecks/docker/events_test.go index 35d45cfc87984..3eac1639d8b53 100644 --- a/test/integration/corechecks/docker/events_test.go +++ b/test/integration/corechecks/docker/events_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package docker diff --git a/test/integration/corechecks/docker/exitcode_test.go b/test/integration/corechecks/docker/exitcode_test.go index 4522444009c69..e3185cb5611ea 100644 --- a/test/integration/corechecks/docker/exitcode_test.go +++ b/test/integration/corechecks/docker/exitcode_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package docker diff --git a/test/integration/corechecks/docker/globalmetrics_test.go b/test/integration/corechecks/docker/globalmetrics_test.go index 197e64af218ca..340efaafdc393 100644 --- a/test/integration/corechecks/docker/globalmetrics_test.go +++ b/test/integration/corechecks/docker/globalmetrics_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package docker diff --git a/test/integration/corechecks/docker/main_test.go b/test/integration/corechecks/docker/main_test.go index 3a596cefc5020..edd864a94bd5c 100644 --- a/test/integration/corechecks/docker/main_test.go +++ b/test/integration/corechecks/docker/main_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package docker diff --git a/test/integration/corechecks/docker/serviceup_test.go b/test/integration/corechecks/docker/serviceup_test.go index 3d1804d60d554..dbc95fa6524c5 100644 --- a/test/integration/corechecks/docker/serviceup_test.go +++ b/test/integration/corechecks/docker/serviceup_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package docker diff --git a/test/integration/dogstatsd/origin_detection.go b/test/integration/dogstatsd/origin_detection.go index 76699816deb2f..12ae61e9e465e 100644 --- a/test/integration/dogstatsd/origin_detection.go +++ b/test/integration/dogstatsd/origin_detection.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build linux diff --git a/test/integration/dogstatsd/origin_detection_skip.go b/test/integration/dogstatsd/origin_detection_skip.go index 6e6bd59d2a0d7..0f0e82b07bc56 100644 --- a/test/integration/dogstatsd/origin_detection_skip.go +++ b/test/integration/dogstatsd/origin_detection_skip.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. // +build !linux diff --git a/test/integration/dogstatsd/origin_detection_test.go b/test/integration/dogstatsd/origin_detection_test.go index 6e7d1e3f2e7be..1036419fcd754 100644 --- a/test/integration/dogstatsd/origin_detection_test.go +++ b/test/integration/dogstatsd/origin_detection_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package dogstatsd diff --git a/test/integration/listeners/docker/docker_listener_test.go b/test/integration/listeners/docker/docker_listener_test.go index 9372cb7cfe96a..2611b5c7310d2 100644 --- a/test/integration/listeners/docker/docker_listener_test.go +++ b/test/integration/listeners/docker/docker_listener_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package listeners diff --git a/test/integration/utils/compose.go b/test/integration/utils/compose.go index 478121809d65c..3238786a6cc6d 100644 --- a/test/integration/utils/compose.go +++ b/test/integration/utils/compose.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package utils diff --git a/test/system/dogstatsd/dogstatsd_test.go b/test/system/dogstatsd/dogstatsd_test.go index abfffb9729e2a..a97af8e0a53d3 100644 --- a/test/system/dogstatsd/dogstatsd_test.go +++ b/test/system/dogstatsd/dogstatsd_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package dogstatsd_test diff --git a/test/system/dogstatsd/receive_and_forward_test.go b/test/system/dogstatsd/receive_and_forward_test.go index 196e05ed7969c..6575b07d97b26 100644 --- a/test/system/dogstatsd/receive_and_forward_test.go +++ b/test/system/dogstatsd/receive_and_forward_test.go @@ -1,7 +1,7 @@ // Unless explicitly stated otherwise all files in this repository are licensed // under the Apache License Version 2.0. // This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2017 Datadog, Inc. +// Copyright 2018 Datadog, Inc. package dogstatsd_test diff --git a/test/system/python_binding/datadog_agent.py b/test/system/python_binding/datadog_agent.py index 56fa1295988c5..09d31285b08a5 100644 --- a/test/system/python_binding/datadog_agent.py +++ b/test/system/python_binding/datadog_agent.py @@ -1,7 +1,7 @@ # Unless explicitly stated otherwise all files in this repository are licensed # under the Apache License Version 2.0. # This product includes software developed at Datadog (https://www.datadoghq.com/). -# Copyright 2017 Datadog, Inc. +# Copyright 2018 Datadog, Inc. import unittest import sys import socket diff --git a/test/system/python_binding/test.sh b/test/system/python_binding/test.sh index 112b0cbcb6ed0..e9dba6f443c36 100755 --- a/test/system/python_binding/test.sh +++ b/test/system/python_binding/test.sh @@ -3,7 +3,7 @@ # Unless explicitly stated otherwise all files in this repository are licensed # under the Apache License Version 2.0. # This product includes software developed at Datadog (https://www.datadoghq.com/). -# Copyright 2017 Datadog, Inc. +# Copyright 2018 Datadog, Inc. set -e From f98047895bc3b1630efecc95b5f0f44b8326d3ff Mon Sep 17 00:00:00 2001 From: Julien Balestra Date: Thu, 4 Jan 2018 14:06:12 +0100 Subject: [PATCH 04/25] forwarder: transaction various improvements (#1012) --- pkg/forwarder/transaction.go | 38 ++++++++++++++++++------------- pkg/forwarder/transaction_test.go | 2 +- 2 files changed, 23 insertions(+), 17 deletions(-) diff --git a/pkg/forwarder/transaction.go b/pkg/forwarder/transaction.go index e05c374008723..7ae54b9ec29db 100644 --- a/pkg/forwarder/transaction.go +++ b/pkg/forwarder/transaction.go @@ -37,9 +37,9 @@ type HTTPTransaction struct { } const ( - apiKeyReplacement = "api_key=*************************$1" - retryInterval time.Duration = 20 * time.Second - maxRetryInterval time.Duration = 90 * time.Second + apiKeyReplacement = "api_key=*************************$1" + retryInterval = 20 * time.Second + maxRetryInterval = 90 * time.Second ) var apiKeyRegExp = regexp.MustCompile("api_key=*\\w+(\\w{5})") @@ -78,7 +78,7 @@ func (t *HTTPTransaction) Process(ctx context.Context, client *http.Client) erro req, err := http.NewRequest("POST", url, reader) if err != nil { - log.Errorf("Could not create request for transaction to invalid URL '%s' (dropping transaction): %s", logURL, err) + log.Errorf("Could not create request for transaction to invalid URL %q (dropping transaction): %s", logURL, err) transactionsExpvar.Add("Errors", 1) return nil } @@ -93,13 +93,18 @@ func (t *HTTPTransaction) Process(ctx context.Context, client *http.Client) erro } t.ErrorCount++ transactionsExpvar.Add("Errors", 1) - return fmt.Errorf("Error while sending transaction, rescheduling it: %s", apiKeyRegExp.ReplaceAllString(err.Error(), apiKeyReplacement)) + return fmt.Errorf("error while sending transaction, rescheduling it: %s", apiKeyRegExp.ReplaceAllString(err.Error(), apiKeyReplacement)) } defer resp.Body.Close() - body, _ := ioutil.ReadAll(resp.Body) + body, err := ioutil.ReadAll(resp.Body) + if err != nil { + log.Errorf("Fail to read the response Body: %s", err) + return err + } + if resp.StatusCode == 400 || resp.StatusCode == 404 || resp.StatusCode == 413 { - log.Errorf("Error code '%s' received while sending transaction to '%s': %s, dropping it", resp.Status, logURL, string(body)) + log.Errorf("Error code %q received while sending transaction to %q: %s, dropping it", resp.Status, logURL, string(body)) transactionsExpvar.Add("Dropped", 1) if apiKeyStatus.Get(t.apiKeyStatusKey) == nil { apiKeyStatus.Set(t.apiKeyStatusKey, &apiKeyStatusUnknown) @@ -116,7 +121,7 @@ func (t *HTTPTransaction) Process(ctx context.Context, client *http.Client) erro if apiKeyStatus.Get(t.apiKeyStatusKey) == nil { apiKeyStatus.Set(t.apiKeyStatusKey, &apiKeyStatusUnknown) } - return fmt.Errorf("Error '%s' while sending transaction to '%s', rescheduling it", resp.Status, logURL) + return fmt.Errorf("error %q while sending transaction to %q, rescheduling it", resp.Status, logURL) } successfulTransactions.Add(1) @@ -125,15 +130,16 @@ func (t *HTTPTransaction) Process(ctx context.Context, client *http.Client) erro loggingFrequency := config.Datadog.GetInt64("logging_frequency") if successfulTransactions.Value() == 1 { - log.Infof("successfully posted payload to '%s', the agent will only log transaction success every 20 transactions", logURL, string(body)) - log.Debugf("payload: %s", logURL, string(body)) - } else if successfulTransactions.Value()%loggingFrequency == 0 { - log.Infof("successfully posted payload to '%s'", logURL, string(body)) - log.Debugf("payload: %s", logURL, string(body)) - } else { - log.Debugf("successfully posted payload to '%s': %s", logURL, string(body)) + log.Infof("Successfully posted payload to %q, the agent will only log transaction success every %d transactions", logURL, loggingFrequency) + log.Debugf("Url: %q payload: %s", logURL, string(body)) + return nil } - + if successfulTransactions.Value()%loggingFrequency == 0 { + log.Infof("Successfully posted payload to %q", logURL) + log.Debugf("Payload: %s", logURL, string(body)) + return nil + } + log.Debugf("Successfully posted payload to %q: %s", logURL, string(body)) return nil } diff --git a/pkg/forwarder/transaction_test.go b/pkg/forwarder/transaction_test.go index 77d99369e8b71..aaa86d42f6b85 100644 --- a/pkg/forwarder/transaction_test.go +++ b/pkg/forwarder/transaction_test.go @@ -135,7 +135,7 @@ func TestProcessHTTPError(t *testing.T) { err := transaction.Process(context.Background(), client) assert.NotNil(t, err) - assert.Contains(t, err.Error(), "Error '503 Service Unavailable' while sending transaction") + assert.Contains(t, err.Error(), "error \"503 Service Unavailable\" while sending transaction") assert.Equal(t, transaction.ErrorCount, 1) errorCode = http.StatusBadRequest From 68f10761cbcc3b541f645fc4f5cefc65036c3794 Mon Sep 17 00:00:00 2001 From: Xavier Vello Date: Thu, 4 Jan 2018 14:11:01 +0100 Subject: [PATCH 05/25] refactor corecheck boilerplate in CheckBase class (#1007) --- pkg/collector/check/id.go | 12 +- pkg/collector/corechecks/checkbase.go | 107 ++++++++++++++++++ .../cluster/kubernetes_apiserver.go | 59 ++-------- .../cluster/kubernetes_apiserver_test.go | 12 +- pkg/collector/corechecks/containers/docker.go | 38 +------ pkg/collector/corechecks/network/ntp.go | 65 ++--------- pkg/collector/corechecks/network/snmp.go | 75 +++--------- pkg/collector/corechecks/network/snmp_test.go | 6 +- pkg/collector/corechecks/system/cpu.go | 66 ++--------- .../corechecks/system/file_handles.go | 60 ++-------- pkg/collector/corechecks/system/iostats.go | 73 ++---------- .../corechecks/system/iostats_nix.go | 9 +- .../corechecks/system/iostats_wmi_windows.go | 12 +- pkg/collector/corechecks/system/load.go | 62 ++-------- pkg/collector/corechecks/system/memory.go | 60 ++-------- pkg/collector/corechecks/system/uptime.go | 62 ++-------- 16 files changed, 223 insertions(+), 555 deletions(-) create mode 100644 pkg/collector/corechecks/checkbase.go diff --git a/pkg/collector/check/id.go b/pkg/collector/check/id.go index 2388d4481bf14..5e48c3b694ed2 100644 --- a/pkg/collector/check/id.go +++ b/pkg/collector/check/id.go @@ -6,20 +6,24 @@ package check import ( + "fmt" "hash/fnv" - "strconv" ) // ID is the representation of the unique ID of a Check instance type ID string -// Identify returns the ID of the check +// Identify returns an unique ID for a check and its configuration func Identify(check Check, instance ConfigData, initConfig ConfigData) ID { + return BuildID(check.String(), instance, initConfig) +} + +// BuildID returns an unique ID for a check name and its configuration +func BuildID(checkName string, instance, initConfig ConfigData) ID { h := fnv.New64() h.Write([]byte(instance)) h.Write([]byte(initConfig)) - id := check.String() + ":" - id += strconv.FormatUint(h.Sum64(), 16) + id := fmt.Sprintf("%s:%x", checkName, h.Sum64()) return ID(id) } diff --git a/pkg/collector/corechecks/checkbase.go b/pkg/collector/corechecks/checkbase.go new file mode 100644 index 0000000000000..f7d0c30bfda4a --- /dev/null +++ b/pkg/collector/corechecks/checkbase.go @@ -0,0 +1,107 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2017 Datadog, Inc. + +package corechecks + +import ( + "fmt" + "time" + + log "github.com/cihub/seelog" + + "github.com/DataDog/datadog-agent/pkg/aggregator" + "github.com/DataDog/datadog-agent/pkg/collector/check" +) + +// CheckBase provides default implementations for most of the check.Check +// interface to make it easier to bootstrap a new corecheck. +// +// To use it, you need to embed it in your check struct, by calling +// NewCheckBase() in your factory, plus: +// - long-running checks must override Stop() and Interval() +// - checks supporting multiple instances must call BuildID() from +// their Config() method +// +// Integration warnings are handled via the Warn and Warnf methods +// that forward the warning to the logger and send the warning to +// the collector for display in the status page and the web UI. +type CheckBase struct { + checkName string + checkID check.ID + latestWarnings []error +} + +// NewCheckBase returns a check base struct with a given check name +func NewCheckBase(name string) CheckBase { + return CheckBase{ + checkName: name, + checkID: check.ID(name), + } +} + +// BuildID is to be called by the check's Config() method to generate +// the unique check ID. +func (c *CheckBase) BuildID(instance, initConfig check.ConfigData) { + c.checkID = check.BuildID(c.checkName, instance, initConfig) +} + +// Warn sends an integration warning to logs + agent status. +func (c *CheckBase) Warn(v ...interface{}) error { + w := log.Warn(v) + c.latestWarnings = append(c.latestWarnings, w) + + return w +} + +// Warnf sends an integration warning to logs + agent status. +func (c *CheckBase) Warnf(format string, params ...interface{}) error { + w := log.Warnf(format, params) + c.latestWarnings = append(c.latestWarnings, w) + + return w +} + +// Stop does nothing by default, you need to implement it in +// long-running checks (persisting after Run() exits) +func (c *CheckBase) Stop() {} + +// Interval returns the scheduling time for the check. +// Long-running checks should override to return 0. +func (c *CheckBase) Interval() time.Duration { + return check.DefaultCheckInterval +} + +// String returns the name of the check, the same for every instance +func (c *CheckBase) String() string { + return c.checkName +} + +// ID returns a unique ID for that check instance +// +// For checks that only support one instance, the default value is +// the check name. Regular checks must call BuildID() from Config() +// to build their ID. +func (c *CheckBase) ID() check.ID { + return c.checkID +} + +// GetWarnings grabs the latest integration warnings for the check. +func (c *CheckBase) GetWarnings() []error { + if len(c.latestWarnings) == 0 { + return nil + } + w := c.latestWarnings + c.latestWarnings = []error{} + return w +} + +// GetMetricStats returns the stats from the last run of the check. +func (c *CheckBase) GetMetricStats() (map[string]int64, error) { + sender, err := aggregator.GetSender(c.ID()) + if err != nil { + return nil, fmt.Errorf("failed to retrieve a sender: %v", err) + } + return sender.GetMetricStats(), nil +} diff --git a/pkg/collector/corechecks/cluster/kubernetes_apiserver.go b/pkg/collector/corechecks/cluster/kubernetes_apiserver.go index 6585525f7db0f..79b1ba2c91593 100644 --- a/pkg/collector/corechecks/cluster/kubernetes_apiserver.go +++ b/pkg/collector/corechecks/cluster/kubernetes_apiserver.go @@ -9,6 +9,7 @@ package cluster import ( "errors" "fmt" + "github.com/DataDog/datadog-agent/pkg/aggregator" "github.com/DataDog/datadog-agent/pkg/collector/check" core "github.com/DataDog/datadog-agent/pkg/collector/corechecks" @@ -17,13 +18,12 @@ import ( log "github.com/cihub/seelog" "github.com/ericchiang/k8s/api/v1" yaml "gopkg.in/yaml.v2" - "time" ) // Covers the Control Plane service check and the in memory pod metadata. const ( - KubeControlPaneCheck = "kube_apiserver_controlplane.up" - kubernetesAPIServerCheck = "kubernetes_apiserver" + KubeControlPaneCheck = "kube_apiserver_controlplane.up" + kubernetesAPIServerCheckName = "kubernetes_apiserver" ) // KubeASConfig is the config of the API server. @@ -33,16 +33,11 @@ type KubeASConfig struct { // KubeASCheck grabs metrics and events from the API server. type KubeASCheck struct { - lastWarnings []error + core.CheckBase instance *KubeASConfig KubeAPIServerHostname string } -// String returns the name of the API Server check. -func (k *KubeASCheck) String() string { - return kubernetesAPIServerCheck -} - func (c *KubeASConfig) parse(data []byte) error { return yaml.Unmarshal(data, c) } @@ -60,31 +55,6 @@ func (k *KubeASCheck) Configure(config, initConfig check.ConfigData) error { return nil } -// GetWarnings grabs the last warnings from the sender. -func (k *KubeASCheck) GetWarnings() []error { - w := k.lastWarnings - k.lastWarnings = []error{} - return w -} - -// Warn will log a warning and add it to the warnings -func (k *KubeASCheck) warn(v ...interface{}) error { - w := log.Warn(v) - k.lastWarnings = append(k.lastWarnings, w) - - return w -} - -// ID returns the name of the check since there should be only one instance running. -func (k *KubeASCheck) ID() check.ID { - return check.ID(k.String()) -} - -// Interval returns the scheduling time for the check. -func (k *KubeASCheck) Interval() time.Duration { - return check.DefaultCheckInterval -} - // Run executes the check. func (k *KubeASCheck) Run() error { sender, err := aggregator.GetSender(k.ID()) @@ -101,34 +71,23 @@ func (k *KubeASCheck) Run() error { componentsStatus, err := asclient.ComponentStatuses() if err != nil { - k.warn("could not retrieve the status from the control plane's components", err.Error()) + k.Warn("could not retrieve the status from the control plane's components", err.Error()) } err = k.parseComponentStatus(sender, componentsStatus) if err != nil { - k.warn("could not collect API Server component status: ", err.Error()) + k.Warn("could not collect API Server component status: ", err.Error()) } sender.Commit() return nil } -// Stop does nothing. -func (k *KubeASCheck) Stop() {} - // KubernetesASFactory is exported for integration testing. func KubernetesASFactory() check.Check { return &KubeASCheck{ - instance: &KubeASConfig{}, - } -} - -// GetMetricStats returns the stats from the last run of the check. -func (k *KubeASCheck) GetMetricStats() (map[string]int64, error) { - sender, err := aggregator.GetSender(k.ID()) - if err != nil { - return nil, log.Errorf("Failed to retrieve a Sender instance: %v", err) + CheckBase: core.NewCheckBase(kubernetesAPIServerCheckName), + instance: &KubeASConfig{}, } - return sender.GetMetricStats(), nil } func (k *KubeASCheck) parseComponentStatus(sender aggregator.Sender, componentsStatus *v1.ComponentStatusList) error { @@ -164,5 +123,5 @@ func (k *KubeASCheck) parseComponentStatus(sender aggregator.Sender, componentsS return nil } func init() { - core.RegisterCheck("kubernetes_apiserver", KubernetesASFactory) + core.RegisterCheck(kubernetesAPIServerCheckName, KubernetesASFactory) } diff --git a/pkg/collector/corechecks/cluster/kubernetes_apiserver_test.go b/pkg/collector/corechecks/cluster/kubernetes_apiserver_test.go index 0935c43d44828..01d22612bd126 100644 --- a/pkg/collector/corechecks/cluster/kubernetes_apiserver_test.go +++ b/pkg/collector/corechecks/cluster/kubernetes_apiserver_test.go @@ -7,12 +7,15 @@ package cluster import ( - "github.com/DataDog/datadog-agent/pkg/aggregator/mocksender" - "github.com/DataDog/datadog-agent/pkg/metrics" + "testing" + "github.com/ericchiang/k8s/api/v1" obj "github.com/ericchiang/k8s/apis/meta/v1" "github.com/stretchr/testify/assert" - "testing" + + "github.com/DataDog/datadog-agent/pkg/aggregator/mocksender" + core "github.com/DataDog/datadog-agent/pkg/collector/corechecks" + "github.com/DataDog/datadog-agent/pkg/metrics" ) func toStr(str string) *string { @@ -81,11 +84,12 @@ func TestParseComponentStatus(t *testing.T) { Items: nil, } + // FIXME: use the factory instead kubeASCheck := &KubeASCheck{ - lastWarnings: []error{}, instance: &KubeASConfig{ Tags: []string{"test"}, }, + CheckBase: core.NewCheckBase(kubernetesAPIServerCheckName), KubeAPIServerHostname: "hostname", } diff --git a/pkg/collector/corechecks/containers/docker.go b/pkg/collector/corechecks/containers/docker.go index 8195e61df333b..25b756a2ba4fe 100644 --- a/pkg/collector/corechecks/containers/docker.go +++ b/pkg/collector/corechecks/containers/docker.go @@ -63,7 +63,7 @@ func (c *DockerConfig) Parse(data []byte) error { // DockerCheck grabs docker metrics type DockerCheck struct { - lastWarnings []error + core.CheckBase instance *DockerConfig lastEventTime time.Time dockerHostname string @@ -284,13 +284,6 @@ func (d *DockerCheck) Run() error { return nil } -// Stop does nothing -func (d *DockerCheck) Stop() {} - -func (d *DockerCheck) String() string { - return dockerCheckName -} - // Configure parses the check configuration and init the check func (d *DockerCheck) Configure(config, initConfig check.ConfigData) error { d.instance.Parse(config) @@ -307,36 +300,11 @@ func (d *DockerCheck) Configure(config, initConfig check.ConfigData) error { return nil } -// Interval returns the scheduling time for the check -func (d *DockerCheck) Interval() time.Duration { - return check.DefaultCheckInterval -} - -// ID returns the name of the check since there should be only one instance running -func (d *DockerCheck) ID() check.ID { - return check.ID(d.String()) -} - -// GetWarnings grabs the last warnings from the sender -func (d *DockerCheck) GetWarnings() []error { - w := d.lastWarnings - d.lastWarnings = []error{} - return w -} - -// GetMetricStats returns the stats from the last run of the check -func (d *DockerCheck) GetMetricStats() (map[string]int64, error) { - sender, err := aggregator.GetSender(d.ID()) - if err != nil { - return nil, fmt.Errorf("Failed to retrieve a Sender instance: %v", err) - } - return sender.GetMetricStats(), nil -} - // DockerFactory is exported for integration testing func DockerFactory() check.Check { return &DockerCheck{ - instance: &DockerConfig{}, + CheckBase: core.NewCheckBase(dockerCheckName), + instance: &DockerConfig{}, } } diff --git a/pkg/collector/corechecks/network/ntp.go b/pkg/collector/corechecks/network/ntp.go index e40b0e2a19d3e..ef3c49100510a 100644 --- a/pkg/collector/corechecks/network/ntp.go +++ b/pkg/collector/corechecks/network/ntp.go @@ -9,7 +9,6 @@ import ( "expvar" "fmt" "math/rand" - "time" core "github.com/DataDog/datadog-agent/pkg/collector/corechecks" "github.com/beevik/ntp" @@ -21,6 +20,8 @@ import ( yaml "gopkg.in/yaml.v2" ) +const ntpCheckName = "ntp" + var ( ntpExpVar = expvar.NewFloat("ntpOffset") // for testing purpose @@ -29,9 +30,8 @@ var ( // NTPCheck only has sender and config type NTPCheck struct { - id check.ID - lastWarnings []error - cfg *ntpConfig + core.CheckBase + cfg *ntpConfig } type ntpInstanceConfig struct { @@ -53,7 +53,7 @@ func (c *NTPCheck) String() string { return "ntp" } -func (c *ntpConfig) Parse(data []byte, initData []byte) error { +func (c *ntpConfig) parse(data []byte, initData []byte) error { var instance ntpInstanceConfig var initConf ntpInitConfig defaultVersion := 3 @@ -93,31 +93,18 @@ func (c *ntpConfig) Parse(data []byte, initData []byte) error { // Configure configure the data from the yaml func (c *NTPCheck) Configure(data check.ConfigData, initConfig check.ConfigData) error { cfg := new(ntpConfig) - err := cfg.Parse(data, initConfig) + err := cfg.parse(data, initConfig) if err != nil { log.Criticalf("Error parsing configuration file: %s", err) return err } - c.id = check.Identify(c, data, initConfig) + c.BuildID(data, initConfig) c.cfg = cfg return nil } -// ID returns the id of the instance -func (c *NTPCheck) ID() check.ID { - return c.id -} - -// Interval returns the scheduling time for the check -func (c *NTPCheck) Interval() time.Duration { - return check.DefaultCheckInterval -} - -// Stop does nothing -func (c *NTPCheck) Stop() {} - // Run runs the check func (c *NTPCheck) Run() error { sender, err := aggregator.GetSender(c.ID()) @@ -154,42 +141,12 @@ func (c *NTPCheck) Run() error { return nil } -// GetWarnings grabs the last warnings from the sender -func (c *NTPCheck) GetWarnings() []error { - w := c.lastWarnings - c.lastWarnings = []error{} - return w -} - -// Warn will log a warning and add it to the warnings -func (c *NTPCheck) warn(v ...interface{}) error { - w := log.Warn(v) - c.lastWarnings = append(c.lastWarnings, w) - - return w -} - -// Warnf will log a formatted warning and add it to the warnings -func (c *NTPCheck) warnf(format string, params ...interface{}) error { - w := log.Warnf(format, params) - c.lastWarnings = append(c.lastWarnings, w) - - return w -} - -// GetMetricStats returns the stats from the last run of the check -func (c *NTPCheck) GetMetricStats() (map[string]int64, error) { - sender, err := aggregator.GetSender(c.ID()) - if err != nil { - return nil, fmt.Errorf("Failed to retrieve a Sender instance: %v", err) - } - return sender.GetMetricStats(), nil -} - func ntpFactory() check.Check { - return &NTPCheck{} + return &NTPCheck{ + CheckBase: core.NewCheckBase(ntpCheckName), + } } func init() { - core.RegisterCheck("ntp", ntpFactory) + core.RegisterCheck(ntpCheckName, ntpFactory) } diff --git a/pkg/collector/corechecks/network/snmp.go b/pkg/collector/corechecks/network/snmp.go index 04012589b340b..f8e7f9044e8ee 100644 --- a/pkg/collector/corechecks/network/snmp.go +++ b/pkg/collector/corechecks/network/snmp.go @@ -38,8 +38,7 @@ import ( log "github.com/cihub/seelog" "github.com/k-sone/snmpgo" - - "gopkg.in/yaml.v2" + yaml "gopkg.in/yaml.v2" ) const ( @@ -47,6 +46,7 @@ const ( defaultPort = 161 nonRepeaters = 0 maxRepetitions = 10 + snmpCheckName = "snmp" ) var once sync.Once @@ -104,13 +104,8 @@ type snmpConfig struct { // SNMPCheck grabs SNMP metrics type SNMPCheck struct { - id check.ID - lastWarnings []error - cfg *snmpConfig -} - -func (c *SNMPCheck) String() string { - return "snmp" + core.CheckBase + cfg *snmpConfig } func initCNetSnmpLib(cfg *snmpInitCfg) (err error) { @@ -400,7 +395,7 @@ func (cfg *snmpInstanceCfg) generateTagMap() error { return nil } -func (c *snmpConfig) Parse(data []byte, initData []byte) error { +func (c *snmpConfig) parse(data []byte, initData []byte) error { var tagbuff bytes.Buffer var instance snmpInstanceCfg var initConf snmpInitCfg @@ -456,7 +451,7 @@ func (c *snmpConfig) Parse(data []byte, initData []byte) error { } func (c *SNMPCheck) submitSNMP(oids snmpgo.Oids, vbs snmpgo.VarBinds) error { - sender, err := aggregator.GetSender(c.id) + sender, err := aggregator.GetSender(c.ID()) if err != nil { return err } @@ -500,7 +495,7 @@ func (c *SNMPCheck) submitSNMP(oids snmpgo.Oids, vbs snmpgo.VarBinds) error { if metric, ok := symbolicOID.(string); ok { for idx, collected := range varbinds { - tag := "" + var tag string var tagbuff bytes.Buffer var value *big.Int var err error @@ -650,12 +645,12 @@ func (c *SNMPCheck) getSNMP() error { func (c *SNMPCheck) Configure(data check.ConfigData, initConfig check.ConfigData) error { cfg := new(snmpConfig) - err := cfg.Parse(data, initConfig) + err := cfg.parse(data, initConfig) if err != nil { log.Criticalf("Error parsing configuration file: %s ", err) return err } - c.id = check.Identify(c, data, initConfig) + c.BuildID(data, initConfig) c.cfg = cfg //init SNMP - will fail if missing snmp libs. @@ -718,31 +713,8 @@ func (c *SNMPCheck) Configure(data check.ConfigData, initConfig check.ConfigData return nil } -// Interval returns the scheduling time for the check -func (c *SNMPCheck) Interval() time.Duration { - return check.DefaultCheckInterval -} - -// ID FIXME: this should return a real identifier -func (c *SNMPCheck) ID() check.ID { - return c.id -} - -// GetMetricStats returns the stats from the last run of the check -func (c *SNMPCheck) GetMetricStats() (map[string]int64, error) { - sender, err := aggregator.GetSender(c.ID()) - if err != nil { - return nil, fmt.Errorf("Failed to retrieve a Sender instance: %v", err) - } - return sender.GetMetricStats(), nil -} - -// Stop does nothing -func (c *SNMPCheck) Stop() {} - // Run runs the check func (c *SNMPCheck) Run() error { - log.Debugf("Grabbing SNMP variables...") if err := c.getSNMP(); err != nil { return err @@ -751,33 +723,12 @@ func (c *SNMPCheck) Run() error { return nil } -// GetWarnings grabs the last warnings from the sender -func (c *SNMPCheck) GetWarnings() []error { - w := c.lastWarnings - c.lastWarnings = []error{} - return w -} - -// Warn will log a warning and add it to the warnings -func (c *SNMPCheck) warn(v ...interface{}) error { - w := log.Warn(v) - c.lastWarnings = append(c.lastWarnings, w) - - return w -} - -// Warnf will log a formatted warning and add it to the warnings -func (c *SNMPCheck) warnf(format string, params ...interface{}) error { - w := log.Warnf(format, params) - c.lastWarnings = append(c.lastWarnings, w) - - return w -} - func snmpFactory() check.Check { - return &SNMPCheck{} + return &SNMPCheck{ + CheckBase: core.NewCheckBase(snmpCheckName), + } } func init() { - core.RegisterCheck("snmp", snmpFactory) + core.RegisterCheck(snmpCheckName, snmpFactory) } diff --git a/pkg/collector/corechecks/network/snmp_test.go b/pkg/collector/corechecks/network/snmp_test.go index bc730e1688aad..29cc47509f412 100644 --- a/pkg/collector/corechecks/network/snmp_test.go +++ b/pkg/collector/corechecks/network/snmp_test.go @@ -140,7 +140,7 @@ func TestIndexTagExtraction(t *testing.T) { func TestConfigureV2(t *testing.T) { cfg := new(snmpConfig) - err := cfg.Parse(bytes.NewBufferString(goodV2Cfg).Bytes(), []byte{}) + err := cfg.parse(bytes.NewBufferString(goodV2Cfg).Bytes(), []byte{}) if err != nil { t.Fatalf("Unable to parse configuration: %v", err) } @@ -184,7 +184,7 @@ func TestConfigureV2(t *testing.T) { func TestConfigureV3(t *testing.T) { cfg := new(snmpConfig) - err := cfg.Parse(bytes.NewBufferString(goodV3Cfg).Bytes(), []byte{}) + err := cfg.parse(bytes.NewBufferString(goodV3Cfg).Bytes(), []byte{}) if err != nil { t.Fatalf("Unable to parse configuration: %v", err) } @@ -198,7 +198,7 @@ func TestSubmitSNMP(t *testing.T) { mock := mocksender.NewMockSender(snmpCheck.ID()) - if err := cfg.Parse(bytes.NewBufferString(basicCfg).Bytes(), []byte{}); err != nil { + if err := cfg.parse(bytes.NewBufferString(basicCfg).Bytes(), []byte{}); err != nil { t.Fatalf("Unable to parse configuration: %v", err) } snmpCheck.cfg = cfg diff --git a/pkg/collector/corechecks/system/cpu.go b/pkg/collector/corechecks/system/cpu.go index 81d5f2193f447..8833e26d3bc8b 100644 --- a/pkg/collector/corechecks/system/cpu.go +++ b/pkg/collector/corechecks/system/cpu.go @@ -7,7 +7,6 @@ package system import ( "fmt" - "time" "github.com/DataDog/datadog-agent/pkg/collector/check" core "github.com/DataDog/datadog-agent/pkg/collector/corechecks" @@ -17,20 +16,18 @@ import ( "github.com/DataDog/datadog-agent/pkg/aggregator" ) +const cpuCheckName = "cpu" + // For testing purpose var times = cpu.Times var cpuInfo = cpu.Info // CPUCheck doesn't need additional fields type CPUCheck struct { - nbCPU float64 - lastNbCycle float64 - lastWarnings []error - lastTimes cpu.TimesStat -} - -func (c *CPUCheck) String() string { - return "cpu" + core.CheckBase + nbCPU float64 + lastNbCycle float64 + lastTimes cpu.TimesStat } // Run executes the check @@ -91,55 +88,12 @@ func (c *CPUCheck) Configure(data check.ConfigData, initConfig check.ConfigData) return nil } -// Interval returns the scheduling time for the check -func (c *CPUCheck) Interval() time.Duration { - return check.DefaultCheckInterval -} - -// ID returns the name of the check since there should be only one instance running -func (c *CPUCheck) ID() check.ID { - return check.ID(c.String()) -} - -// Stop does nothing -func (c *CPUCheck) Stop() {} - -// GetWarnings grabs the last warnings from the sender -func (c *CPUCheck) GetWarnings() []error { - w := c.lastWarnings - c.lastWarnings = []error{} - return w -} - -// Warn will log a warning and add it to the warnings -func (c *CPUCheck) warn(v ...interface{}) error { - w := log.Warn(v) - c.lastWarnings = append(c.lastWarnings, w) - - return w -} - -// Warnf will log a formatted warning and add it to the warnings -func (c *CPUCheck) warnf(format string, params ...interface{}) error { - w := log.Warnf(format, params) - c.lastWarnings = append(c.lastWarnings, w) - - return w -} - -// GetMetricStats returns the stats from the last run of the check -func (c *CPUCheck) GetMetricStats() (map[string]int64, error) { - sender, err := aggregator.GetSender(c.ID()) - if err != nil { - return nil, fmt.Errorf("Failed to retrieve a Sender instance: %v", err) - } - return sender.GetMetricStats(), nil -} - func cpuFactory() check.Check { - return &CPUCheck{} + return &CPUCheck{ + CheckBase: core.NewCheckBase(cpuCheckName), + } } func init() { - core.RegisterCheck("cpu", cpuFactory) + core.RegisterCheck(cpuCheckName, cpuFactory) } diff --git a/pkg/collector/corechecks/system/file_handles.go b/pkg/collector/corechecks/system/file_handles.go index 3af4185f1651d..709aff88a32ca 100644 --- a/pkg/collector/corechecks/system/file_handles.go +++ b/pkg/collector/corechecks/system/file_handles.go @@ -11,7 +11,6 @@ import ( "io/ioutil" "strconv" "strings" - "time" "github.com/DataDog/datadog-agent/pkg/collector/check" core "github.com/DataDog/datadog-agent/pkg/collector/corechecks" @@ -20,15 +19,13 @@ import ( "github.com/DataDog/datadog-agent/pkg/aggregator" ) +const fileHandlesCheckName = "file_handle" + // For testing var fileNrHandle = "/proc/sys/fs/file-nr" type fhCheck struct { - lastWarnings []error -} - -func (c *fhCheck) String() string { - return "file_handle" + core.CheckBase } func (c *fhCheck) getFileNrValues(fn string) ([]string, error) { @@ -97,55 +94,12 @@ func (c *fhCheck) Configure(data check.ConfigData, initConfig check.ConfigData) return nil } -// Interval returns the scheduling time for the check -func (c *fhCheck) Interval() time.Duration { - return check.DefaultCheckInterval -} - -// ID returns the name of the check since there should be only one instance running -func (c *fhCheck) ID() check.ID { - return check.ID(c.String()) -} - -// GetMetricStats returns the stats from the last run of the check -func (c *fhCheck) GetMetricStats() (map[string]int64, error) { - sender, err := aggregator.GetSender(c.ID()) - if err != nil { - return nil, log.Errorf("Failed to retrieve a Sender instance: %v", err) - } - return sender.GetMetricStats(), nil -} - -// GetWarnings grabs the last warnings from the sender -func (c *fhCheck) GetWarnings() []error { - w := c.lastWarnings - c.lastWarnings = []error{} - return w -} - -// Warn will log a warning and add it to the warnings -func (c *fhCheck) warn(v ...interface{}) error { - w := log.Warn(v) - c.lastWarnings = append(c.lastWarnings, w) - - return w -} - -// Warnf will log a formatted warning and add it to the warnings -func (c *fhCheck) warnf(format string, params ...interface{}) error { - w := log.Warnf(format, params) - c.lastWarnings = append(c.lastWarnings, w) - - return w -} - -// Stop does nothing -func (c *fhCheck) Stop() {} - func fhFactory() check.Check { - return &fhCheck{} + return &fhCheck{ + CheckBase: core.NewCheckBase(fileHandlesCheckName), + } } func init() { - core.RegisterCheck("file_handle", fhFactory) + core.RegisterCheck(fileHandlesCheckName, fhFactory) } diff --git a/pkg/collector/corechecks/system/iostats.go b/pkg/collector/corechecks/system/iostats.go index 7ba6ab7201c63..d459a711abd69 100644 --- a/pkg/collector/corechecks/system/iostats.go +++ b/pkg/collector/corechecks/system/iostats.go @@ -6,33 +6,25 @@ package system import ( - "fmt" "regexp" - "time" - "github.com/DataDog/datadog-agent/pkg/aggregator" - "github.com/DataDog/datadog-agent/pkg/collector/check" - core "github.com/DataDog/datadog-agent/pkg/collector/corechecks" - - log "github.com/cihub/seelog" "github.com/shirou/gopsutil/disk" + yaml "gopkg.in/yaml.v2" - "gopkg.in/yaml.v2" + "github.com/DataDog/datadog-agent/pkg/collector/check" + core "github.com/DataDog/datadog-agent/pkg/collector/corechecks" ) const ( // SectorSize is exported in github.com/shirou/gopsutil/disk (but not working!) - SectorSize = 512 - kB = (1 << 10) + SectorSize = 512 + kB = (1 << 10) + iostatsCheckName = "io" ) // For testing purpose var ioCounters = disk.IOCounters -func (c *IOCheck) String() string { - return "io" -} - // Configure the IOstats check func (c *IOCheck) commonConfigure(data check.ConfigData, initConfig check.ConfigData) error { conf := make(map[interface{}]interface{}) @@ -51,57 +43,12 @@ func (c *IOCheck) commonConfigure(data check.ConfigData, initConfig check.Config return err } -// Interval returns the scheduling time for the check -func (c *IOCheck) Interval() time.Duration { - return check.DefaultCheckInterval -} - -// ID returns the name of the check since there should be only one instance running -func (c *IOCheck) ID() check.ID { - return check.ID(c.String()) -} - -// Stop does nothing -func (c *IOCheck) Stop() {} - -// GetWarnings grabs the last warnings from the sender -func (c *IOCheck) GetWarnings() []error { - w := c.lastWarnings - c.lastWarnings = []error{} - return w -} - -// Warn will log a warning and add it to the warnings -func (c *IOCheck) warn(v ...interface{}) error { - w := log.Warn(v) - c.lastWarnings = append(c.lastWarnings, w) - - return w -} - -// Warnf will log a formatted warning and add it to the warnings -func (c *IOCheck) warnf(format string, params ...interface{}) error { - w := log.Warnf(format, params) - c.lastWarnings = append(c.lastWarnings, w) - - return w -} - -// GetMetricStats returns the stats from the last run of the check -func (c *IOCheck) GetMetricStats() (map[string]int64, error) { - sender, err := aggregator.GetSender(c.ID()) - if err != nil { - return nil, fmt.Errorf("Failed to retrieve a Sender instance: %v", err) - } - return sender.GetMetricStats(), nil -} - func init() { - core.RegisterCheck("io", ioFactory) + core.RegisterCheck(iostatsCheckName, ioFactory) } func ioFactory() check.Check { - log.Debug("IOCheck factory") - c := &IOCheck{} - return c + return &IOCheck{ + CheckBase: core.NewCheckBase(iostatsCheckName), + } } diff --git a/pkg/collector/corechecks/system/iostats_nix.go b/pkg/collector/corechecks/system/iostats_nix.go index 6a4400747a58f..572f6b375986d 100644 --- a/pkg/collector/corechecks/system/iostats_nix.go +++ b/pkg/collector/corechecks/system/iostats_nix.go @@ -14,6 +14,7 @@ import ( "github.com/DataDog/datadog-agent/pkg/aggregator" "github.com/DataDog/datadog-agent/pkg/collector/check" + core "github.com/DataDog/datadog-agent/pkg/collector/corechecks" "github.com/DataDog/datadog-agent/pkg/util/xc" log "github.com/cihub/seelog" "github.com/shirou/gopsutil/disk" @@ -24,10 +25,10 @@ var hz int64 // IOCheck doesn't need additional fields type IOCheck struct { - blacklist *regexp.Regexp - lastWarnings []error - ts int64 - stats map[string]disk.IOCountersStat + core.CheckBase + blacklist *regexp.Regexp + ts int64 + stats map[string]disk.IOCountersStat } // Configure the IOstats check diff --git a/pkg/collector/corechecks/system/iostats_wmi_windows.go b/pkg/collector/corechecks/system/iostats_wmi_windows.go index 0f4cc02060597..f70e3759cd024 100644 --- a/pkg/collector/corechecks/system/iostats_wmi_windows.go +++ b/pkg/collector/corechecks/system/iostats_wmi_windows.go @@ -12,10 +12,12 @@ import ( "syscall" "unsafe" - "github.com/DataDog/datadog-agent/pkg/aggregator" - "github.com/DataDog/datadog-agent/pkg/collector/check" "github.com/StackExchange/wmi" log "github.com/cihub/seelog" + + "github.com/DataDog/datadog-agent/pkg/aggregator" + "github.com/DataDog/datadog-agent/pkg/collector/check" + core "github.com/DataDog/datadog-agent/pkg/collector/corechecks" ) var ( @@ -46,9 +48,9 @@ type Win32_PerfRawData_PerfDisk_LogicalDisk struct { // IOCheck doesn't need additional fields type IOCheck struct { - blacklist *regexp.Regexp - drivemap map[string]Win32_PerfRawData_PerfDisk_LogicalDisk - lastWarnings []error + core.CheckBase + blacklist *regexp.Regexp + drivemap map[string]Win32_PerfRawData_PerfDisk_LogicalDisk } // Configure the IOstats check diff --git a/pkg/collector/corechecks/system/load.go b/pkg/collector/corechecks/system/load.go index 1fef2efdda12a..d7867eb4d90d4 100644 --- a/pkg/collector/corechecks/system/load.go +++ b/pkg/collector/corechecks/system/load.go @@ -7,7 +7,6 @@ package system import ( "fmt" - "time" "github.com/DataDog/datadog-agent/pkg/aggregator" "github.com/DataDog/datadog-agent/pkg/collector/check" @@ -16,17 +15,15 @@ import ( "github.com/shirou/gopsutil/load" ) +const loadCheckName = "load" + // For testing purpose var loadAvg = load.Avg // LoadCheck doesn't need additional fields type LoadCheck struct { - lastWarnings []error - nbCPU int32 -} - -func (c *LoadCheck) String() string { - return "load" + core.CheckBase + nbCPU int32 } // Run executes the check @@ -67,55 +64,12 @@ func (c *LoadCheck) Configure(data check.ConfigData, initConfig check.ConfigData return nil } -// Interval returns the scheduling time for the check -func (c *LoadCheck) Interval() time.Duration { - return check.DefaultCheckInterval -} - -// ID returns the name of the check since there should be only one instance running -func (c *LoadCheck) ID() check.ID { - return check.ID(c.String()) -} - -// Stop does nothing -func (c *LoadCheck) Stop() {} - -// GetWarnings grabs the last warnings from the sender -func (c *LoadCheck) GetWarnings() []error { - w := c.lastWarnings - c.lastWarnings = []error{} - return w -} - -// Warn will log a warning and add it to the warnings -func (c *LoadCheck) warn(v ...interface{}) error { - w := log.Warn(v) - c.lastWarnings = append(c.lastWarnings, w) - - return w -} - -// Warnf will log a formatted warning and add it to the warnings -func (c *LoadCheck) warnf(format string, params ...interface{}) error { - w := log.Warnf(format, params) - c.lastWarnings = append(c.lastWarnings, w) - - return w -} - -// GetMetricStats returns the stats from the last run of the check -func (c *LoadCheck) GetMetricStats() (map[string]int64, error) { - sender, err := aggregator.GetSender(c.ID()) - if err != nil { - return nil, fmt.Errorf("Failed to retrieve a Sender instance: %v", err) - } - return sender.GetMetricStats(), nil -} - func loadFactory() check.Check { - return &LoadCheck{} + return &LoadCheck{ + CheckBase: core.NewCheckBase(loadCheckName), + } } func init() { - core.RegisterCheck("load", loadFactory) + core.RegisterCheck(loadCheckName, loadFactory) } diff --git a/pkg/collector/corechecks/system/memory.go b/pkg/collector/corechecks/system/memory.go index 7b4ffce50a44f..51164112480d4 100644 --- a/pkg/collector/corechecks/system/memory.go +++ b/pkg/collector/corechecks/system/memory.go @@ -8,7 +8,6 @@ package system import ( "fmt" "runtime" - "time" "github.com/DataDog/datadog-agent/pkg/collector/check" core "github.com/DataDog/datadog-agent/pkg/collector/corechecks" @@ -18,6 +17,8 @@ import ( "github.com/DataDog/datadog-agent/pkg/aggregator" ) +const memCheckName = "memory" + // For testing purpose var virtualMemory = mem.VirtualMemory var swapMemory = mem.SwapMemory @@ -25,11 +26,7 @@ var runtimeOS = runtime.GOOS // MemoryCheck doesn't need additional fields type MemoryCheck struct { - lastWarnings []error -} - -func (c *MemoryCheck) String() string { - return "memory" + core.CheckBase } const mbSize float64 = 1024 * 1024 @@ -113,54 +110,11 @@ func (c *MemoryCheck) Configure(data check.ConfigData, initConfig check.ConfigDa return nil } -// Interval returns the scheduling time for the check -func (c *MemoryCheck) Interval() time.Duration { - return check.DefaultCheckInterval -} - -// ID returns the name of the check since there should be only one instance running -func (c *MemoryCheck) ID() check.ID { - return check.ID(c.String()) -} - -// Stop does nothing -func (c *MemoryCheck) Stop() {} - -// GetWarnings grabs the last warnings from the sender -func (c *MemoryCheck) GetWarnings() []error { - w := c.lastWarnings - c.lastWarnings = []error{} - return w -} - -// Warn will log a warning and add it to the warnings -func (c *MemoryCheck) warn(v ...interface{}) error { - w := log.Warn(v) - c.lastWarnings = append(c.lastWarnings, w) - - return w -} - -// Warnf will log a formatted warning and add it to the warnings -func (c *MemoryCheck) warnf(format string, params ...interface{}) error { - w := log.Warnf(format, params) - c.lastWarnings = append(c.lastWarnings, w) - - return w -} - -// GetMetricStats returns the stats from the last run of the check -func (c *MemoryCheck) GetMetricStats() (map[string]int64, error) { - sender, err := aggregator.GetSender(c.ID()) - if err != nil { - return nil, fmt.Errorf("Failed to retrieve a Sender instance: %v", err) - } - return sender.GetMetricStats(), nil -} - func memFactory() check.Check { - return &MemoryCheck{} + return &MemoryCheck{ + CheckBase: core.NewCheckBase(memCheckName), + } } func init() { - core.RegisterCheck("memory", memFactory) + core.RegisterCheck(memCheckName, memFactory) } diff --git a/pkg/collector/corechecks/system/uptime.go b/pkg/collector/corechecks/system/uptime.go index f9463689aa650..fc070264e95af 100644 --- a/pkg/collector/corechecks/system/uptime.go +++ b/pkg/collector/corechecks/system/uptime.go @@ -6,9 +6,6 @@ package system import ( - "fmt" - "time" - "github.com/DataDog/datadog-agent/pkg/collector/check" core "github.com/DataDog/datadog-agent/pkg/collector/corechecks" log "github.com/cihub/seelog" @@ -17,16 +14,14 @@ import ( "github.com/DataDog/datadog-agent/pkg/aggregator" ) +const uptimeCheckName = "uptime" + // For testing purpose var uptime = host.Uptime // UptimeCheck doesn't need additional fields type UptimeCheck struct { - lastWarnings []error -} - -func (c *UptimeCheck) String() string { - return "uptime" + core.CheckBase } // Run executes the check @@ -54,55 +49,12 @@ func (c *UptimeCheck) Configure(data check.ConfigData, initConfig check.ConfigDa return nil } -// Interval returns the scheduling time for the check -func (c *UptimeCheck) Interval() time.Duration { - return check.DefaultCheckInterval -} - -// ID returns the name of the check since there should be only one instance running -func (c *UptimeCheck) ID() check.ID { - return check.ID(c.String()) -} - -// Stop does nothing -func (c *UptimeCheck) Stop() {} - -// GetWarnings grabs the last warnings from the sender -func (c *UptimeCheck) GetWarnings() []error { - w := c.lastWarnings - c.lastWarnings = []error{} - return w -} - -// Warn will log a warning and add it to the warnings -func (c *UptimeCheck) warn(v ...interface{}) error { - w := log.Warn(v) - c.lastWarnings = append(c.lastWarnings, w) - - return w -} - -// Warnf will log a formatted warning and add it to the warnings -func (c *UptimeCheck) warnf(format string, params ...interface{}) error { - w := log.Warnf(format, params) - c.lastWarnings = append(c.lastWarnings, w) - - return w -} - -// GetMetricStats returns the stats from the last run of the check -func (c *UptimeCheck) GetMetricStats() (map[string]int64, error) { - sender, err := aggregator.GetSender(c.ID()) - if err != nil { - return nil, fmt.Errorf("Failed to retrieve a Sender instance: %v", err) - } - return sender.GetMetricStats(), nil -} - func uptimeFactory() check.Check { - return &UptimeCheck{} + return &UptimeCheck{ + CheckBase: core.NewCheckBase(uptimeCheckName), + } } func init() { - core.RegisterCheck("uptime", uptimeFactory) + core.RegisterCheck(uptimeCheckName, uptimeFactory) } From 385fd56c3bb8e51d12ec469e0d24f0f99d05d9fd Mon Sep 17 00:00:00 2001 From: Alexandre Jacquemot Date: Thu, 4 Jan 2018 15:07:28 +0100 Subject: [PATCH 06/25] [LOGS] Run logs-agent as a goroutine (#987) * Removed logs tasks and omnibus settings for logs-agent * Launch logs-agent from start.go and removed logs from cmd * Changed built-in logger with seelog * Removed logs-agent.yaml.default * Added a build tag on logs.go for windows support * Removed stop method since it does nothing --- cmd/agent/app/start.go | 15 ++ .../logs-agent.d/logs-agent.yaml.default | 4 - cmd/logs/main.go | 66 ------- omnibus/config/projects/agent.rb | 3 +- .../config/software/datadog-agent-finalize.rb | 1 - .../config/software/datadog-logs-agent-win.rb | 44 ----- omnibus/config/software/datadog-logs-agent.rb | 29 ---- pkg/collector/corechecks/embed/logs-agent.go | 164 ------------------ pkg/config/config.go | 1 + {cmd => pkg}/logs/README.md | 12 -- pkg/logs/auditor/auditor.go | 9 +- pkg/logs/config/config.go | 54 ------ pkg/logs/config/config_test.go | 80 --------- pkg/logs/config/integration_config.go | 18 +- pkg/logs/config/integration_config_test.go | 37 ++++ .../config/tests/complete/datadog_test.yaml | 8 - .../config/tests/incomplete/datadog_test.yaml | 1 - .../tests/misconfigured_1/datadog_test.yaml | 0 .../tests/misconfigured_2/datadog_test.yaml | 0 .../tests/misconfigured_3/datadog_test.yaml | 0 .../tests/misconfigured_4/datadog_test.yaml | 0 .../tests/misconfigured_5/datadog_test.yaml | 0 pkg/logs/input/container/docker.go | 8 +- pkg/logs/input/container/scanner.go | 16 +- pkg/logs/input/listener/connection_handler.go | 5 +- pkg/logs/input/listener/listener.go | 6 +- pkg/logs/input/listener/tcp.go | 7 +- pkg/logs/input/listener/udp.go | 5 +- pkg/logs/input/tailer/file_provider.go | 7 +- pkg/logs/input/tailer/scanner.go | 9 +- pkg/logs/input/tailer/tailer.go | 9 +- {cmd => pkg}/logs/logs.go | 17 +- pkg/logs/logs_windows.go | 18 ++ pkg/logs/sender/connection_manager.go | 11 +- pkg/logs/utils/logger.go | 26 --- tasks/__init__.py | 3 +- tasks/logs.py | 64 ------- 37 files changed, 148 insertions(+), 609 deletions(-) delete mode 100644 cmd/agent/dist/conf.d/logs-agent.d/logs-agent.yaml.default delete mode 100644 cmd/logs/main.go delete mode 100644 omnibus/config/software/datadog-logs-agent-win.rb delete mode 100644 omnibus/config/software/datadog-logs-agent.rb delete mode 100644 pkg/collector/corechecks/embed/logs-agent.go rename {cmd => pkg}/logs/README.md (77%) delete mode 100644 pkg/logs/config/config.go delete mode 100644 pkg/logs/config/config_test.go delete mode 100644 pkg/logs/config/tests/complete/datadog_test.yaml delete mode 100644 pkg/logs/config/tests/incomplete/datadog_test.yaml delete mode 100644 pkg/logs/config/tests/misconfigured_1/datadog_test.yaml delete mode 100644 pkg/logs/config/tests/misconfigured_2/datadog_test.yaml delete mode 100644 pkg/logs/config/tests/misconfigured_3/datadog_test.yaml delete mode 100644 pkg/logs/config/tests/misconfigured_4/datadog_test.yaml delete mode 100644 pkg/logs/config/tests/misconfigured_5/datadog_test.yaml rename {cmd => pkg}/logs/logs.go (82%) create mode 100644 pkg/logs/logs_windows.go delete mode 100644 pkg/logs/utils/logger.go delete mode 100644 tasks/logs.py diff --git a/cmd/agent/app/start.go b/cmd/agent/app/start.go index 466a0788879fd..d606a84a90a01 100644 --- a/cmd/agent/app/start.go +++ b/cmd/agent/app/start.go @@ -25,6 +25,7 @@ import ( "github.com/DataDog/datadog-agent/pkg/config" "github.com/DataDog/datadog-agent/pkg/dogstatsd" "github.com/DataDog/datadog-agent/pkg/forwarder" + "github.com/DataDog/datadog-agent/pkg/logs" "github.com/DataDog/datadog-agent/pkg/metadata" "github.com/DataDog/datadog-agent/pkg/pidfile" "github.com/DataDog/datadog-agent/pkg/serializer" @@ -203,6 +204,20 @@ func StartAgent() error { } log.Debugf("statsd started") + // start logs-agent + if config.Datadog.GetBool("log_enabled") { + // logs-agent does not provide any Stop method yet + // data loss may happen when stopping the agent + err := logs.Start() + if err != nil { + log.Error("Could not start logs-agent: ", err) + } else { + log.Info("Starting logs-agent") + } + } else { + log.Info("logs-agent disabled") + } + // create and setup the Autoconfig instance common.SetupAutoConfig(config.Datadog.GetString("confd_path")) // start the autoconfig, this will immediately run any configured check diff --git a/cmd/agent/dist/conf.d/logs-agent.d/logs-agent.yaml.default b/cmd/agent/dist/conf.d/logs-agent.d/logs-agent.yaml.default deleted file mode 100644 index 877577cc4904a..0000000000000 --- a/cmd/agent/dist/conf.d/logs-agent.d/logs-agent.yaml.default +++ /dev/null @@ -1,4 +0,0 @@ -instances: -- {} # default instance, if you need to customize its configuration, please do so - # in the main datadog.yaml - diff --git a/cmd/logs/main.go b/cmd/logs/main.go deleted file mode 100644 index 37a8dfea59a5e..0000000000000 --- a/cmd/logs/main.go +++ /dev/null @@ -1,66 +0,0 @@ -// Unless explicitly stated otherwise all files in this repository are licensed -// under the Apache License Version 2.0. -// This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2018 Datadog, Inc. - -package main - -import ( - "flag" - "log" - "net/http" - _ "net/http/pprof" - "os" - - "github.com/DataDog/datadog-agent/pkg/pidfile" - - "github.com/DataDog/datadog-agent/pkg/logs/config" - "github.com/DataDog/datadog-agent/pkg/logs/utils" -) - -var ddconfigPath = flag.String("ddconfig", "", "Path to the datadog.yaml configuration file") -var ddconfdPath = flag.String("ddconfd", "", "Path to the conf.d directory that contains all integration config files") -var pidfilePath = flag.String("pidfile", "", "Path to set pidfile for process") - -// main starts the logs agent -func main() { - flag.Parse() - - utils.SetupLogger() - - err := config.BuildLogsAgentConfig(*ddconfigPath, *ddconfdPath) - if err != nil { - log.Println(err) - log.Println("Not starting logs-agent") - } else if config.LogsAgent.GetBool("log_enabled") { - log.Println("Starting logs-agent") - if *pidfilePath != "" { - err := pidfile.WritePID(*pidfilePath) - if err != nil { - log.Printf("Error while writing PID file, exiting: %v", err) - os.Exit(1) - } - - log.Printf("pid '%d' written to pid file '%s'\n", os.Getpid(), *pidfilePath) - defer func() { - // remove pidfile if set - os.Remove(*pidfilePath) - }() - } - Start() - - if config.LogsAgent.GetBool("log_profiling_enabled") { - log.Println("starting logs-agent profiling") - go func() { - log.Println(http.ListenAndServe("localhost:6060", nil)) - }() - } - } else { - log.Println("logs-agent disabled") - } - - done := make(chan bool) - for range done { - - } -} diff --git a/omnibus/config/projects/agent.rb b/omnibus/config/projects/agent.rb index 7b0a7553fbcc5..dc712910eb180 100644 --- a/omnibus/config/projects/agent.rb +++ b/omnibus/config/projects/agent.rb @@ -126,8 +126,7 @@ # External agents dependency 'datadog-trace-agent' if linux? - dependency 'datadog-process-agent' - dependency 'datadog-logs-agent' + dependency 'datadog-process-agent' end if osx? diff --git a/omnibus/config/software/datadog-agent-finalize.rb b/omnibus/config/software/datadog-agent-finalize.rb index e59c5f1a3f547..0c87caa9be7e2 100644 --- a/omnibus/config/software/datadog-agent-finalize.rb +++ b/omnibus/config/software/datadog-agent-finalize.rb @@ -33,7 +33,6 @@ # remove the config files for the subservices; they'll be started # based on the config file delete "#{conf_dir}/apm.yaml.default" - delete "#{conf_dir}/logs-agent.yaml.default" delete "#{conf_dir}/process_agent.yaml.default" # cleanup clutter diff --git a/omnibus/config/software/datadog-logs-agent-win.rb b/omnibus/config/software/datadog-logs-agent-win.rb deleted file mode 100644 index 9b4732809d540..0000000000000 --- a/omnibus/config/software/datadog-logs-agent-win.rb +++ /dev/null @@ -1,44 +0,0 @@ -# Unless explicitly stated otherwise all files in this repository are licensed -# under the Apache License Version 2.0. -# This product includes software developed at Datadog (https:#www.datadoghq.com/). -# Copyright 2018 Datadog, Inc. - -require "./lib/ostools.rb" -require 'pathname' - -name "datadog-logs-agent-win" - -default_version "db/windows_svc" - -source git: 'https://github.com/DataDog/datadog-agent.git' -relative_path 'src/github.com/DataDog/datadog-agent' - -build do - ship_license "https://raw.githubusercontent.com/DataDog/datadog-agent/#{version}/LICENSE" - - # set GOPATH on the omnibus source dir for this software - gopath = Pathname.new(project_dir) + '../../../..' - if windows? - env = { - 'GOPATH' => gopath.to_path, - 'PATH' => "#{gopath.to_path}/bin:#{ENV['PATH']}", - 'TRACE_AGENT_VERSION' => default_version, # used by gorake.rb in the trace-agent - 'WINDRES' => 'true', - } - else - env = { - 'GOPATH' => gopath.to_path, - 'PATH' => "#{gopath.to_path}/bin:#{ENV['PATH']}", - 'TRACE_AGENT_VERSION' => default_version, # used by gorake.rb in the trace-agent - } - end - - #command "go get github.com/Masterminds/glide", :env => env - command "inv deps", :env => env - command "inv logs.build", :env => env - if windows? - copy "#{install_dir}.exe", "#{log_agent_binary}.exe" - else - copy binary_name, "#{install_dir}/embedded/bin/#{log_agent_binary_name}" - end -end diff --git a/omnibus/config/software/datadog-logs-agent.rb b/omnibus/config/software/datadog-logs-agent.rb deleted file mode 100644 index 765de785b179f..0000000000000 --- a/omnibus/config/software/datadog-logs-agent.rb +++ /dev/null @@ -1,29 +0,0 @@ -# Unless explicitly stated otherwise all files in this repository are licensed -# under the Apache License Version 2.0. -# This product includes software developed at Datadog (https:#www.datadoghq.com/). -# Copyright 2018 Datadog, Inc. - -require 'pathname' - -name "datadog-logs-agent" -always_build true - -binary_name = "logs" -binary = "bin/logs/#{binary_name}" -log_agent_binary_name = "logs-agent" -log_agent_binary = "#{install_dir}/bin/agent/#{log_agent_binary_name}" - -source path: '..' -relative_path 'src/github.com/DataDog/datadog-agent' - -build do - # set GOPATH on the omnibus source dir for this software - gopath = Pathname.new(project_dir) + '../../../..' - env = { - 'GOPATH' => gopath.to_path, - 'PATH' => "#{gopath.to_path}/bin:#{ENV['PATH']}", - } - command "invoke logs.build", env: env - command "chmod +x #{binary}" - move binary, log_agent_binary -end diff --git a/pkg/collector/corechecks/embed/logs-agent.go b/pkg/collector/corechecks/embed/logs-agent.go deleted file mode 100644 index aa94a419acb20..0000000000000 --- a/pkg/collector/corechecks/embed/logs-agent.go +++ /dev/null @@ -1,164 +0,0 @@ -// Unless explicitly stated otherwise all files in this repository are licensed -// under the Apache License Version 2.0. -// This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2018 Datadog, Inc. - -// +build log - -package embed - -import ( - "bufio" - "fmt" - "os" - "os/exec" - "path" - "sync/atomic" - "time" - - "github.com/DataDog/datadog-agent/pkg/collector/check" - core "github.com/DataDog/datadog-agent/pkg/collector/corechecks" - "github.com/DataDog/datadog-agent/pkg/config" - "github.com/DataDog/datadog-agent/pkg/util/executable" - log "github.com/cihub/seelog" -) - -// LogsCheck keeps track of the running command -type LogsCheck struct { - running uint32 - stop chan struct{} - stopDone chan struct{} -} - -func (c *LogsCheck) String() string { - return "Logs Agent" -} - -// Run executes the check with retries -func (c *LogsCheck) Run() error { - atomic.StoreUint32(&c.running, 1) - // TODO: retries should be configurable with meaningful default values - err := check.Retry(defaultRetryDuration, defaultRetries, c.run, c.String()) - atomic.StoreUint32(&c.running, 0) - - return err -} - -// run executes the check -func (c *LogsCheck) run() error { - select { - // poll the stop channel once to make sure no stop was requested since the last call to `run` - case <-c.stop: - log.Info("Not starting Logs check: stop requested") - c.stopDone <- struct{}{} - return nil - default: - } - - here, _ := executable.Folder() - bin := path.Join(here, "logs-agent") - - cmd := exec.Command( - bin, - fmt.Sprintf("-ddconfig=%s", config.Datadog.ConfigFileUsed()), - fmt.Sprintf("-ddconfd=%s", config.Datadog.GetString("confd_path")), - ) - - // forward the standard output to the Agent logger - stdout, err := cmd.StdoutPipe() - if err != nil { - return err - } - go func() { - in := bufio.NewScanner(stdout) - for in.Scan() { - log.Info(in.Text()) - } - }() - - // forward the standard error to the Agent logger - stderr, err := cmd.StderrPipe() - if err != nil { - return err - } - go func() { - in := bufio.NewScanner(stderr) - for in.Scan() { - log.Error(in.Text()) - } - }() - - if err = cmd.Start(); err != nil { - return retryExitError(err) - } - - processDone := make(chan error) - go func() { - processDone <- cmd.Wait() - }() - - select { - case err = <-processDone: - return retryExitError(err) - case <-c.stop: - err = cmd.Process.Signal(os.Kill) - if err != nil { - log.Errorf("unable to stop Logs check: %s", err) - } - } - - // wait for process to exit - err = <-processDone - c.stopDone <- struct{}{} - return err -} - -// Configure the LogsCheck. nothing to do -func (c *LogsCheck) Configure(data check.ConfigData, initConfig check.ConfigData) error { - return nil -} - -// InitSender initializes a sender but we don't need any -func (c *LogsCheck) InitSender() {} - -// Interval returns the scheduling time for the check, this will be scheduled only once -// since `Run` won't return, thus implementing a long running check. -func (c *LogsCheck) Interval() time.Duration { - return 0 -} - -// ID returns the name of the check since there should be only one instance running -func (c *LogsCheck) ID() check.ID { - return "LOGS_AGENT" -} - -// Stop sends a termination signal to the Logs process -func (c *LogsCheck) Stop() { - if atomic.LoadUint32(&c.running) == 0 { - log.Info("Logs Agent not running.") - return - } - - c.stop <- struct{}{} - <-c.stopDone -} - -func init() { - factory := func() check.Check { - return &LogsCheck{ - stop: make(chan struct{}), - stopDone: make(chan struct{}), - } - } - core.RegisterCheck("logs-agent", factory) -} - -// GetWarnings does not return anything -func (c *LogsCheck) GetWarnings() []error { - return []error{} -} - -// GetMetricStats returns the stats from the last run of the check, but there aren't any yet -func (c *LogsCheck) GetMetricStats() (map[string]int64, error) { - return make(map[string]int64), nil -} diff --git a/pkg/config/config.go b/pkg/config/config.go index 7678774bfcc7a..a455103cbcddf 100644 --- a/pkg/config/config.go +++ b/pkg/config/config.go @@ -155,6 +155,7 @@ func init() { // Log Agent Datadog.SetDefault("log_enabled", true) + Datadog.SetDefault("log_open_files_limit", 100) Datadog.SetDefault("logging_frequency", int64(20)) diff --git a/cmd/logs/README.md b/pkg/logs/README.md similarity index 77% rename from cmd/logs/README.md rename to pkg/logs/README.md index 210faa3abac31..97970f6f7cde9 100644 --- a/cmd/logs/README.md +++ b/pkg/logs/README.md @@ -20,15 +20,3 @@ Each log line comes from a source (e.g. file, network, docker), and then enters `Forwarder` submits the messages to the intake, and notifies the auditor `Auditor` notes that messages were properly submitted, stores offsets for agent restarts - -## How to run - -From root: -- `inv deps` -- `inv logs.build` -- setup config files -- `./bin/logs/logs --ddconfig /etc/datadog/datadog.yaml --ddconfd /etc/datadog/conf.d/` - -or: -- `inv deps` -- `inv logs.run --ddconfig=datadog.yaml --ddconfd=conf.d` \ No newline at end of file diff --git a/pkg/logs/auditor/auditor.go b/pkg/logs/auditor/auditor.go index 0e32c2b4f6ff4..51a73b2f0a466 100644 --- a/pkg/logs/auditor/auditor.go +++ b/pkg/logs/auditor/auditor.go @@ -9,12 +9,13 @@ import ( "encoding/json" "fmt" "io/ioutil" - "log" "os" "path/filepath" "sync" "time" + log "github.com/cihub/seelog" + "github.com/DataDog/datadog-agent/pkg/logs/config" "github.com/DataDog/datadog-agent/pkg/logs/message" ) @@ -75,7 +76,7 @@ func (a *Auditor) flushRegistryPediodically() { case <-a.flushTicker.C: err := a.flushRegistry(a.registry, a.registryPath) if err != nil { - log.Println(err) + log.Warn(err) } } } @@ -119,12 +120,12 @@ func (a *Auditor) updateRegistry(identifier string, offset int64, timestamp stri func (a *Auditor) recoverRegistry(path string) map[string]*RegistryEntry { mr, err := ioutil.ReadFile(path) if err != nil { - log.Println(err) + log.Error(err) return make(map[string]*RegistryEntry) } r, err := a.unmarshalRegistry(mr) if err != nil { - log.Println(err) + log.Error(err) return make(map[string]*RegistryEntry) } return r diff --git a/pkg/logs/config/config.go b/pkg/logs/config/config.go deleted file mode 100644 index 6f5c10998c8cd..0000000000000 --- a/pkg/logs/config/config.go +++ /dev/null @@ -1,54 +0,0 @@ -// Unless explicitly stated otherwise all files in this repository are licensed -// under the Apache License Version 2.0. -// This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2018 Datadog, Inc. - -package config - -import ( - "log" - - ddconfig "github.com/DataDog/datadog-agent/pkg/config" - "github.com/DataDog/datadog-agent/pkg/util" - "github.com/spf13/viper" -) - -// MainConfig is the name of the main config file, while we haven't merged in dd agent -const MainConfig = "datadog" - -// LogsAgent is the global configuration object -var LogsAgent = ddconfig.Datadog - -// BuildLogsAgentConfig initializes the LogsAgent config and sets default values -func BuildLogsAgentConfig(ddconfigPath, ddconfdPath string) error { - return buildMainConfig(LogsAgent, ddconfigPath, ddconfdPath) -} - -func buildMainConfig(config *viper.Viper, ddconfigPath, ddconfdPath string) error { - config.SetConfigFile(ddconfigPath) - - // default values - config.SetDefault("log_open_files_limit", DefaultTailingLimit) - - err := config.ReadInConfig() - if err != nil { - return err - } - - // For hostname, use value from config if set and non empty, - // or fallback on agent6's logic - if config.GetString("hostname") == "" { - hostname, err := util.GetHostname() - if err != nil { - log.Println(err) - hostname = "unknown" - } - config.Set("hostname", hostname) - } - - err = BuildLogsAgentIntegrationsConfigs(ddconfdPath) - if err != nil { - return err - } - return nil -} diff --git a/pkg/logs/config/config_test.go b/pkg/logs/config/config_test.go deleted file mode 100644 index a2e5b3231d3de..0000000000000 --- a/pkg/logs/config/config_test.go +++ /dev/null @@ -1,80 +0,0 @@ -// Unless explicitly stated otherwise all files in this repository are licensed -// under the Apache License Version 2.0. -// This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2018 Datadog, Inc. - -// +build !windows - -package config - -import ( - "path/filepath" - "testing" - - ddconfig "github.com/DataDog/datadog-agent/pkg/config" - "github.com/DataDog/datadog-agent/pkg/util" - "github.com/spf13/viper" - "github.com/stretchr/testify/assert" -) - -const testsPath = "tests" - -func TestBuildConfigWithCompleteFile(t *testing.T) { - var testConfig = viper.New() - ddconfigPath := filepath.Join(testsPath, "complete", "datadog_test.yaml") - ddconfdPath := filepath.Join(testsPath, "complete", "conf.d") - buildMainConfig(testConfig, ddconfigPath, ddconfdPath) - assert.Equal(t, "helloworld", testConfig.GetString("api_key")) - assert.Equal(t, "my.host", testConfig.GetString("hostname")) - assert.Equal(t, "playground", testConfig.GetString("logset")) - assert.Equal(t, "my.url", testConfig.GetString("log_dd_url")) - assert.Equal(t, 10516, testConfig.GetInt("log_dd_port")) - assert.Equal(t, true, testConfig.GetBool("dev_mode_no_ssl")) - assert.Equal(t, true, testConfig.GetBool("log_enabled")) - assert.Equal(t, 123, testConfig.GetInt("log_open_files_limit")) -} - -func TestDDConfigDefaultValues(t *testing.T) { - assert.Equal(t, "", ddconfig.Datadog.GetString("logset")) - assert.Equal(t, "intake.logs.datadoghq.com", ddconfig.Datadog.GetString("log_dd_url")) - assert.Equal(t, 10516, ddconfig.Datadog.GetInt("log_dd_port")) - assert.Equal(t, false, ddconfig.Datadog.GetBool("skip_ssl_validation")) - assert.Equal(t, false, ddconfig.Datadog.GetBool("dev_mode_no_ssl")) - assert.Equal(t, false, ddconfig.Datadog.GetBool("log_enabled")) - hostname, _ := util.GetHostname() - ddconfigPath := filepath.Join(testsPath, "incomplete", "datadog_test.yaml") - ddconfdPath := filepath.Join(testsPath, "incomplete", "conf.d") - buildMainConfig(ddconfig.Datadog, ddconfigPath, ddconfdPath) - assert.Equal(t, hostname, ddconfig.Datadog.GetString("hostname")) - assert.Equal(t, 100, ddconfig.Datadog.GetInt("log_open_files_limit")) -} - -func TestComputeConfigWithMisconfiguredFile(t *testing.T) { - var testConfig = viper.New() - var ddconfigPath, ddconfdPath string - var err error - ddconfigPath = filepath.Join(testsPath, "misconfigured_1", "datadog_test.yaml") - ddconfdPath = filepath.Join(testsPath, "misconfigured_1") - err = buildMainConfig(testConfig, ddconfigPath, ddconfdPath) - assert.NotNil(t, err) - - ddconfigPath = filepath.Join(testsPath, "misconfigured_2", "datadog_test.yaml") - ddconfdPath = filepath.Join(testsPath, "misconfigured_2", "conf.d") - err = buildMainConfig(testConfig, ddconfigPath, ddconfdPath) - assert.NotNil(t, err) - - ddconfigPath = filepath.Join(testsPath, "misconfigured_3", "datadog_test.yaml") - ddconfdPath = filepath.Join(testsPath, "misconfigured_3", "conf.d") - err = buildMainConfig(testConfig, ddconfigPath, ddconfdPath) - assert.NotNil(t, err) - - ddconfigPath = filepath.Join(testsPath, "misconfigured_4", "datadog_test.yaml") - ddconfdPath = filepath.Join(testsPath, "misconfigured_4", "conf.d") - err = buildMainConfig(testConfig, ddconfigPath, ddconfdPath) - assert.NotNil(t, err) - - ddconfigPath = filepath.Join(testsPath, "misconfigured_5", "datadog_test.yaml") - ddconfdPath = filepath.Join(testsPath, "misconfigured_5", "conf.d") - err = buildMainConfig(testConfig, ddconfigPath, ddconfdPath) - assert.NotNil(t, err) -} diff --git a/pkg/logs/config/integration_config.go b/pkg/logs/config/integration_config.go index bd07040224149..77f8e8afcfd73 100644 --- a/pkg/logs/config/integration_config.go +++ b/pkg/logs/config/integration_config.go @@ -8,13 +8,17 @@ package config import ( "fmt" "io/ioutil" - "log" "path/filepath" "regexp" + ddconfig "github.com/DataDog/datadog-agent/pkg/config" + log "github.com/cihub/seelog" "github.com/spf13/viper" ) +// LogsAgent is the global configuration object +var LogsAgent = ddconfig.Datadog + // Logs source types const ( TCPType = "tcp" @@ -86,8 +90,8 @@ func getLogsSources(config *viper.Viper) []*IntegrationConfigLogSource { // BuildLogsAgentIntegrationsConfigs looks for all yml configs in the ddconfdPath directory, // and initializes the LogsAgent integrations configs -func BuildLogsAgentIntegrationsConfigs(ddconfdPath string) error { - return buildLogsAgentIntegrationsConfig(LogsAgent, ddconfdPath) +func BuildLogsAgentIntegrationsConfigs() error { + return buildLogsAgentIntegrationsConfig(LogsAgent, LogsAgent.GetString("confd_path")) } func buildLogsAgentIntegrationsConfig(config *viper.Viper, ddconfdPath string) error { @@ -101,12 +105,12 @@ func buildLogsAgentIntegrationsConfig(config *viper.Viper, ddconfdPath string) e viperCfg.SetConfigFile(filepath.Join(ddconfdPath, file)) err := viperCfg.ReadInConfig() if err != nil { - log.Println(err) + log.Error(err) continue } err = viperCfg.Unmarshal(&integrationConfig) if err != nil { - log.Println(err) + log.Error(err) continue } @@ -114,13 +118,13 @@ func buildLogsAgentIntegrationsConfig(config *viper.Viper, ddconfdPath string) e logSourceConfig := logSourceConfigIterator err = validateSource(logSourceConfig) if err != nil { - log.Println(err) + log.Error(err) continue } rules, err := validateProcessingRules(logSourceConfig.ProcessingRules) if err != nil { - log.Println(err) + log.Error(err) continue } logSourceConfig.ProcessingRules = rules diff --git a/pkg/logs/config/integration_config_test.go b/pkg/logs/config/integration_config_test.go index 67ec8ddc9936b..822701491339b 100644 --- a/pkg/logs/config/integration_config_test.go +++ b/pkg/logs/config/integration_config_test.go @@ -15,6 +15,8 @@ import ( "github.com/stretchr/testify/assert" ) +const testsPath = "tests" + func TestAvailableIntegrationConfigs(t *testing.T) { ddconfdPath := filepath.Join(testsPath, "complete", "conf.d") assert.Equal(t, []string{"integration.yaml", "integration2.yml", "misconfigured_integration.yaml", "integration.d/integration3.yaml"}, availableIntegrationConfigs(ddconfdPath)) @@ -75,8 +77,43 @@ func TestBuildLogsAgentIntegrationsConfigs(t *testing.T) { assert.Equal(t, ".*@datadoghq.com$", iRule.Pattern) } +func TestBuildLogsAgentIntegrationConfigsWithMisconfiguredFile(t *testing.T) { + var testConfig = viper.New() + var ddconfdPath string + var err error + ddconfdPath = filepath.Join(testsPath, "misconfigured_1") + err = buildLogsAgentIntegrationsConfig(testConfig, ddconfdPath) + assert.NotNil(t, err) + + ddconfdPath = filepath.Join(testsPath, "misconfigured_2", "conf.d") + err = buildLogsAgentIntegrationsConfig(testConfig, ddconfdPath) + assert.NotNil(t, err) + + ddconfdPath = filepath.Join(testsPath, "misconfigured_3", "conf.d") + err = buildLogsAgentIntegrationsConfig(testConfig, ddconfdPath) + assert.NotNil(t, err) + + ddconfdPath = filepath.Join(testsPath, "misconfigured_4", "conf.d") + err = buildLogsAgentIntegrationsConfig(testConfig, ddconfdPath) + assert.NotNil(t, err) + + ddconfdPath = filepath.Join(testsPath, "misconfigured_5", "conf.d") + err = buildLogsAgentIntegrationsConfig(testConfig, ddconfdPath) + assert.NotNil(t, err) +} + func TestBuildTagsPayload(t *testing.T) { assert.Equal(t, "-", string(BuildTagsPayload("", "", ""))) assert.Equal(t, "[dd ddtags=\"hello:world\"]", string(BuildTagsPayload("hello:world", "", ""))) assert.Equal(t, "[dd ddsource=\"nginx\"][dd ddsourcecategory=\"http_access\"][dd ddtags=\"hello:world, hi\"]", string(BuildTagsPayload("hello:world, hi", "nginx", "http_access"))) } + +func TestLogsAgentDefaultValues(t *testing.T) { + assert.Equal(t, "", LogsAgent.GetString("logset")) + assert.Equal(t, "intake.logs.datadoghq.com", LogsAgent.GetString("log_dd_url")) + assert.Equal(t, 10516, LogsAgent.GetInt("log_dd_port")) + assert.Equal(t, false, LogsAgent.GetBool("skip_ssl_validation")) + assert.Equal(t, false, LogsAgent.GetBool("dev_mode_no_ssl")) + assert.Equal(t, false, LogsAgent.GetBool("log_enabled")) + assert.Equal(t, 100, LogsAgent.GetInt("log_open_files_limit")) +} diff --git a/pkg/logs/config/tests/complete/datadog_test.yaml b/pkg/logs/config/tests/complete/datadog_test.yaml deleted file mode 100644 index 6e9f53680c12c..0000000000000 --- a/pkg/logs/config/tests/complete/datadog_test.yaml +++ /dev/null @@ -1,8 +0,0 @@ -log_dd_url: "my.url" -log_dd_port: 10516 -dev_mode_no_ssl: true -logset: playground -api_key: "helloworld" -hostname: "my.host" -log_enabled: true -log_open_files_limit: 123 diff --git a/pkg/logs/config/tests/incomplete/datadog_test.yaml b/pkg/logs/config/tests/incomplete/datadog_test.yaml deleted file mode 100644 index bd9a9b5c51816..0000000000000 --- a/pkg/logs/config/tests/incomplete/datadog_test.yaml +++ /dev/null @@ -1 +0,0 @@ -hostname: "" diff --git a/pkg/logs/config/tests/misconfigured_1/datadog_test.yaml b/pkg/logs/config/tests/misconfigured_1/datadog_test.yaml deleted file mode 100644 index e69de29bb2d1d..0000000000000 diff --git a/pkg/logs/config/tests/misconfigured_2/datadog_test.yaml b/pkg/logs/config/tests/misconfigured_2/datadog_test.yaml deleted file mode 100644 index e69de29bb2d1d..0000000000000 diff --git a/pkg/logs/config/tests/misconfigured_3/datadog_test.yaml b/pkg/logs/config/tests/misconfigured_3/datadog_test.yaml deleted file mode 100644 index e69de29bb2d1d..0000000000000 diff --git a/pkg/logs/config/tests/misconfigured_4/datadog_test.yaml b/pkg/logs/config/tests/misconfigured_4/datadog_test.yaml deleted file mode 100644 index e69de29bb2d1d..0000000000000 diff --git a/pkg/logs/config/tests/misconfigured_5/datadog_test.yaml b/pkg/logs/config/tests/misconfigured_5/datadog_test.yaml deleted file mode 100644 index e69de29bb2d1d..0000000000000 diff --git a/pkg/logs/input/container/docker.go b/pkg/logs/input/container/docker.go index e4913945ba04f..a3906ec55304a 100644 --- a/pkg/logs/input/container/docker.go +++ b/pkg/logs/input/container/docker.go @@ -13,13 +13,13 @@ import ( "errors" "fmt" "io" - "log" "reflect" "strings" "time" "github.com/DataDog/datadog-agent/pkg/tagger" dockerutil "github.com/DataDog/datadog-agent/pkg/util/docker" + log "github.com/cihub/seelog" "github.com/DataDog/datadog-agent/pkg/logs/auditor" "github.com/DataDog/datadog-agent/pkg/logs/config" @@ -160,7 +160,7 @@ func (dt *DockerTailer) readForever() { continue } if err != nil { - log.Println("Err:", err) + log.Error("Err: ", err) return } if n == 0 { @@ -185,7 +185,7 @@ func (dt *DockerTailer) forwardMessages() { ts, sev, updatedMsg, err := dt.parseMessage(output.Content) if err != nil { - log.Println(err) + log.Warn(err) continue } @@ -215,7 +215,7 @@ func (dt *DockerTailer) keepDockerTagsUpdated() { func (dt *DockerTailer) checkForNewDockerTags() { tags, err := tagger.Tag(dockerutil.ContainerIDToEntityName(dt.ContainerID), true) if err != nil { - log.Println(err) + log.Warn(err) } else { if !reflect.DeepEqual(tags, dt.containerTags) { dt.containerTags = tags diff --git a/pkg/logs/input/container/scanner.go b/pkg/logs/input/container/scanner.go index 1bfd8e5bb2219..62d365c9a3b79 100644 --- a/pkg/logs/input/container/scanner.go +++ b/pkg/logs/input/container/scanner.go @@ -10,10 +10,10 @@ package container import ( "context" "fmt" - "log" "time" "github.com/DataDog/datadog-agent/pkg/tagger" + log "github.com/cihub/seelog" "github.com/DataDog/datadog-agent/pkg/logs/auditor" "github.com/DataDog/datadog-agent/pkg/logs/config" @@ -106,7 +106,7 @@ func (s *Scanner) scan(tailFromBeginning bool) { } func (s *Scanner) stopTailer(tailer *DockerTailer) { - log.Println("Stop tailing container", s.humanReadableContainerID(tailer.ContainerID)) + log.Info("Stop tailing container", s.humanReadableContainerID(tailer.ContainerID)) tailer.Stop() delete(s.tailers, tailer.ContainerID) } @@ -114,8 +114,8 @@ func (s *Scanner) stopTailer(tailer *DockerTailer) { func (s *Scanner) listContainers() []types.Container { containers, err := s.cli.ContainerList(context.Background(), types.ContainerListOptions{}) if err != nil { - log.Println("Can't tail containers,", err) - log.Println("Is datadog-agent part of docker user group?") + log.Error("Can't tail containers,", err) + log.Error("Is datadog-agent part of docker user group?") return []types.Container{} } return containers @@ -145,14 +145,14 @@ func (s *Scanner) setup() error { cli.UpdateClientVersion(dockerAPIVersion) s.cli = cli if err != nil { - log.Println("Can't tail containers,", err) + log.Error("Can't tail containers,", err) return fmt.Errorf("Can't initialize client") } // Initialize docker utils err = tagger.Init() if err != nil { - log.Println(err) + log.Warn(err) } // Start tailing monitored containers @@ -162,7 +162,7 @@ func (s *Scanner) setup() error { // setupTailer sets one tailer, making it tail from the beginning or the end func (s *Scanner) setupTailer(cli *client.Client, container types.Container, source *config.IntegrationConfigLogSource, tailFromBeginning bool, outputChan chan message.Message) { - log.Println("Detected container", container.Image, "-", s.humanReadableContainerID(container.ID)) + log.Info("Detected container", container.Image, "-", s.humanReadableContainerID(container.ID)) t := NewDockerTailer(cli, container, source, outputChan) var err error if tailFromBeginning { @@ -171,7 +171,7 @@ func (s *Scanner) setupTailer(cli *client.Client, container types.Container, sou err = t.recoverTailing(s.auditor) } if err != nil { - log.Println(err) + log.Warn(err) } s.tailers[container.ID] = t } diff --git a/pkg/logs/input/listener/connection_handler.go b/pkg/logs/input/listener/connection_handler.go index 44a7b93404aa4..54976f2fb15b5 100644 --- a/pkg/logs/input/listener/connection_handler.go +++ b/pkg/logs/input/listener/connection_handler.go @@ -7,9 +7,10 @@ package listener import ( "io" - "log" "net" + log "github.com/cihub/seelog" + "github.com/DataDog/datadog-agent/pkg/logs/config" "github.com/DataDog/datadog-agent/pkg/logs/decoder" "github.com/DataDog/datadog-agent/pkg/logs/message" @@ -51,7 +52,7 @@ func (connHandler *ConnectionHandler) handleConnection(conn net.Conn) { return } if err != nil { - log.Println("Couldn't read message from connection:", err) + log.Warn("Couldn't read message from connection: ", err) d.Stop() return } diff --git a/pkg/logs/input/listener/listener.go b/pkg/logs/input/listener/listener.go index e886b40e84a65..74007b26233ba 100644 --- a/pkg/logs/input/listener/listener.go +++ b/pkg/logs/input/listener/listener.go @@ -6,7 +6,7 @@ package listener import ( - "log" + log "github.com/cihub/seelog" "github.com/DataDog/datadog-agent/pkg/logs/config" "github.com/DataDog/datadog-agent/pkg/logs/pipeline" @@ -33,14 +33,14 @@ func (l *Listener) Start() { case config.TCPType: tcpl, err := NewTCPListener(l.pp, source) if err != nil { - log.Println("Can't start tcp source:", err) + log.Error("Can't start tcp source: ", err) } else { tcpl.Start() } case config.UDPType: udpl, err := NewUDPListener(l.pp, source) if err != nil { - log.Println("Can't start udp source:", err) + log.Error("Can't start udp source: ", err) } else { udpl.Start() } diff --git a/pkg/logs/input/listener/tcp.go b/pkg/logs/input/listener/tcp.go index 37ed7b20f381e..c50f4684e837b 100644 --- a/pkg/logs/input/listener/tcp.go +++ b/pkg/logs/input/listener/tcp.go @@ -7,9 +7,10 @@ package listener import ( "fmt" - "log" "net" + log "github.com/cihub/seelog" + "github.com/DataDog/datadog-agent/pkg/logs/config" "github.com/DataDog/datadog-agent/pkg/logs/pipeline" ) @@ -22,7 +23,7 @@ type TCPListener struct { // NewTCPListener returns an initialized TCPListener func NewTCPListener(pp pipeline.Provider, source *config.IntegrationConfigLogSource) (*TCPListener, error) { - log.Println("Starting TCP forwarder on port", source.Port) + log.Info("Starting TCP forwarder on port", source.Port) listener, err := net.Listen("tcp", fmt.Sprintf(":%d", source.Port)) if err != nil { return nil, err @@ -47,7 +48,7 @@ func (tcpListener *TCPListener) run() { for { conn, err := tcpListener.listener.Accept() if err != nil { - log.Println("Can't listen:", err) + log.Error("Can't listen: ", err) return } go tcpListener.connHandler.handleConnection(conn) diff --git a/pkg/logs/input/listener/udp.go b/pkg/logs/input/listener/udp.go index 1c59f0be9c5c5..9c101e0e0e52b 100644 --- a/pkg/logs/input/listener/udp.go +++ b/pkg/logs/input/listener/udp.go @@ -7,9 +7,10 @@ package listener import ( "fmt" - "log" "net" + log "github.com/cihub/seelog" + "github.com/DataDog/datadog-agent/pkg/logs/config" "github.com/DataDog/datadog-agent/pkg/logs/pipeline" ) @@ -22,7 +23,7 @@ type UDPListener struct { // NewUDPListener returns an initialized UDPListener func NewUDPListener(pp pipeline.Provider, source *config.IntegrationConfigLogSource) (*UDPListener, error) { - log.Println("Starting UDP forwarder on port", source.Port) + log.Info("Starting UDP forwarder on port", source.Port) udpAddr, err := net.ResolveUDPAddr("udp", fmt.Sprintf(":%d", source.Port)) if err != nil { return nil, err diff --git a/pkg/logs/input/tailer/file_provider.go b/pkg/logs/input/tailer/file_provider.go index c1e28d3a3fb7e..1458e8db8ee9a 100644 --- a/pkg/logs/input/tailer/file_provider.go +++ b/pkg/logs/input/tailer/file_provider.go @@ -8,9 +8,10 @@ package tailer import ( - "log" "path/filepath" + log "github.com/cihub/seelog" + "github.com/DataDog/datadog-agent/pkg/logs/config" ) @@ -53,12 +54,12 @@ func (r *FileProvider) FilesToTail() []*File { pattern := source.Path paths, err := filepath.Glob(pattern) if err != nil { - log.Println("Malformed pattern, could not find any file:", pattern) + log.Warn("Malformed pattern, could not find any file: ", pattern) continue } for _, path := range paths { if len(filesToTail) == r.filesLimit { - log.Println("Reached the limit on the maximum number of files in use:", r.filesLimit) + log.Warn("Reached the limit on the maximum number of files in use: ", r.filesLimit) return filesToTail } filesToTail = append(filesToTail, NewFile(path, source)) diff --git a/pkg/logs/input/tailer/scanner.go b/pkg/logs/input/tailer/scanner.go index b3195674672ec..ad1768fd19bb8 100644 --- a/pkg/logs/input/tailer/scanner.go +++ b/pkg/logs/input/tailer/scanner.go @@ -8,11 +8,12 @@ package tailer import ( - "log" "os" "syscall" "time" + log "github.com/cihub/seelog" + "github.com/DataDog/datadog-agent/pkg/logs/auditor" "github.com/DataDog/datadog-agent/pkg/logs/config" "github.com/DataDog/datadog-agent/pkg/logs/message" @@ -59,7 +60,7 @@ func (s *Scanner) setup() { return } if _, ok := s.tailers[file.Path]; ok { - log.Println("Can't tail file twice:", file.Path) + log.Warn("Can't tail file twice: ", file.Path) } else { s.setupTailer(file, false, s.pp.NextPipelineChan()) } @@ -77,7 +78,7 @@ func (s *Scanner) setupTailer(file *File, tailFromBeginning bool, outputChan cha err = t.recoverTailing(s.auditor) } if err != nil { - log.Println(err) + log.Warn(err) } s.tailers[file.Path] = t } @@ -168,7 +169,7 @@ func (s *Scanner) didFileRotate(file *File, tailer *Tailer) (bool, error) { // onFileRotation safely stops tailer and setup a new one func (s *Scanner) onFileRotation(tailer *Tailer, file *File) { - log.Println("Log rotation happened to", tailer.path) + log.Info("Log rotation happened to", tailer.path) shouldTrackOffset := false tailer.Stop(shouldTrackOffset) s.setupTailer(file, true, tailer.outputChan) diff --git a/pkg/logs/input/tailer/tailer.go b/pkg/logs/input/tailer/tailer.go index 21b19f1150f4c..bb4f67545b68a 100644 --- a/pkg/logs/input/tailer/tailer.go +++ b/pkg/logs/input/tailer/tailer.go @@ -10,13 +10,14 @@ package tailer import ( "fmt" "io" - "log" "os" "path/filepath" "sync" "sync/atomic" "time" + log "github.com/cihub/seelog" + "github.com/DataDog/datadog-agent/pkg/logs/auditor" "github.com/DataDog/datadog-agent/pkg/logs/config" "github.com/DataDog/datadog-agent/pkg/logs/decoder" @@ -91,7 +92,7 @@ func (t *Tailer) Stop(shouldTrackOffset bool) { func (t *Tailer) onStop() { t.stopMutex.Lock() t.d.Stop() - log.Println("Closing", t.path) + log.Info("Closing", t.path) t.file.Close() t.stopTimer.Stop() t.stopMutex.Unlock() @@ -112,7 +113,7 @@ func (t *Tailer) startReading(offset int64, whence int) error { if err != nil { return err } - log.Println("Opening", t.path) + log.Info("Opening", t.path) f, err := os.Open(fullpath) if err != nil { return err @@ -182,7 +183,7 @@ func (t *Tailer) readForever() { continue } if err != nil { - log.Println("Err:", err) + log.Warn("Err: ", err) return } if n == 0 { diff --git a/cmd/logs/logs.go b/pkg/logs/logs.go similarity index 82% rename from cmd/logs/logs.go rename to pkg/logs/logs.go index dd466e4aeaa9c..88c3260389c0c 100644 --- a/cmd/logs/logs.go +++ b/pkg/logs/logs.go @@ -3,7 +3,9 @@ // This product includes software developed at Datadog (https://www.datadoghq.com/). // Copyright 2018 Datadog, Inc. -package main +// +build !windows + +package logs import ( "github.com/DataDog/datadog-agent/pkg/logs/auditor" @@ -16,9 +18,18 @@ import ( "github.com/DataDog/datadog-agent/pkg/logs/sender" ) -// Start starts the forwarder -func Start() { +// Start starts logs-agent +func Start() error { + err := config.BuildLogsAgentIntegrationsConfigs() + if err != nil { + return err + } + go run() + return nil +} +// run sets up the pipeline to process logs and them to Datadog back-end +func run() { cm := sender.NewConnectionManager( config.LogsAgent.GetString("log_dd_url"), config.LogsAgent.GetInt("log_dd_port"), diff --git a/pkg/logs/logs_windows.go b/pkg/logs/logs_windows.go new file mode 100644 index 0000000000000..cd7146c703fc0 --- /dev/null +++ b/pkg/logs/logs_windows.go @@ -0,0 +1,18 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2017 Datadog, Inc. + +package logs + +import ( + "fmt" +) + +// Start returns an error because logs-agent is not supported on windows yet +func Start() error { + return fmt.Errorf("logs-agent is not supported on windows yet") +} + +// Stop does nothing at the moment +func Stop() {} diff --git a/pkg/logs/sender/connection_manager.go b/pkg/logs/sender/connection_manager.go index 9d35247d209ad..23743608f3205 100644 --- a/pkg/logs/sender/connection_manager.go +++ b/pkg/logs/sender/connection_manager.go @@ -9,10 +9,11 @@ import ( "crypto/tls" "fmt" "io" - "log" "net" "sync" "time" + + log "github.com/cihub/seelog" ) const ( @@ -54,14 +55,14 @@ func (cm *ConnectionManager) NewConnection() net.Conn { for { if cm.firstConn { - log.Println("Connecting to the backend:", cm.connectionString) + log.Info("Connecting to the backend: ", cm.connectionString) cm.firstConn = false } cm.retries++ outConn, err := net.DialTimeout("tcp", cm.connectionString, timeout) if err != nil { - log.Println(err) + log.Warn(err) cm.backoff() continue } @@ -73,7 +74,7 @@ func (cm *ConnectionManager) NewConnection() net.Conn { sslConn := tls.Client(outConn, config) err = sslConn.Handshake() if err != nil { - log.Println(err) + log.Warn(err) cm.backoff() continue } @@ -101,7 +102,7 @@ func (cm *ConnectionManager) handleServerClose(conn net.Conn) { cm.CloseConnection(conn) return } else if err != nil { - log.Println(err) + log.Warn(err) return } } diff --git a/pkg/logs/utils/logger.go b/pkg/logs/utils/logger.go deleted file mode 100644 index 5d6521dd5da60..0000000000000 --- a/pkg/logs/utils/logger.go +++ /dev/null @@ -1,26 +0,0 @@ -// Unless explicitly stated otherwise all files in this repository are licensed -// under the Apache License Version 2.0. -// This product includes software developed at Datadog (https://www.datadoghq.com/). -// Copyright 2018 Datadog, Inc. - -package utils - -import ( - "fmt" - "log" -) - -// logWriter conforms to Writer to change logs format -type logWriter struct { -} - -// Write only returns the input with no additional information -func (w logWriter) Write(bytes []byte) (int, error) { - return fmt.Print(string(bytes)) -} - -// SetupLogger overrides go built-in logger to change logs format -func SetupLogger() { - log.SetFlags(0) - log.SetOutput(new(logWriter)) -} diff --git a/tasks/__init__.py b/tasks/__init__.py index cfe5d399310c8..6413bd6af3b8b 100644 --- a/tasks/__init__.py +++ b/tasks/__init__.py @@ -4,7 +4,7 @@ import os from invoke import Collection -from . import agent, benchmarks, docker, dogstatsd, pylauncher, logs, cluster_agent +from . import agent, benchmarks, docker, dogstatsd, pylauncher, cluster_agent from .go import fmt, lint, vet, cyclo, ineffassign, misspell, deps, reset from .test import test, integration_tests, version, lint_releasenote @@ -35,7 +35,6 @@ ns.add_collection(docker) ns.add_collection(dogstatsd) ns.add_collection(pylauncher) -ns.add_collection(logs) ns.configure({ 'run': { diff --git a/tasks/logs.py b/tasks/logs.py deleted file mode 100644 index eaacd6dd7036f..0000000000000 --- a/tasks/logs.py +++ /dev/null @@ -1,64 +0,0 @@ -""" -Logs tasks -""" -import os -import shutil -from distutils.dir_util import copy_tree - -import invoke -from invoke import task -from invoke.exceptions import Exit - -from .utils import bin_name -from .utils import REPO_PATH -from .build_tags import get_default_build_tags -from .go import deps - -LOGS_BIN_PATH = os.path.join(".", "bin", "logs") -LOGS_BIN_NAME = os.path.join(LOGS_BIN_PATH, bin_name("logs")) -LOGS_DIST_PATH = os.path.join(LOGS_BIN_PATH, "dist") - -@task -def build(ctx): - """ - Build Logs Agent - """ - build_tags = get_default_build_tags() - cmd = "go build -tags \"{build_tags}\" -o {bin_name} {REPO_PATH}/cmd/logs/" - args = { - "build_tags": " ".join(build_tags), - "bin_name": LOGS_BIN_NAME, - "REPO_PATH": REPO_PATH, - } - ctx.run(cmd.format(**args)) - -@task -def run(ctx, skip_build=False, ddconfig=None, ddconfd=None): - """ - Execute logs-agent binary using ddconfig and ddconfd passed in parameter. - By default it builds the agent before executing it, unless --skip-build was - passed. - """ - if not skip_build: - build(ctx) - - cmd = "{bin_name} --ddconfig {config_name} --ddconfd {confd_path}" - args = { - "bin_name": LOGS_BIN_NAME, - "config_name": ddconfig, - "confd_path": ddconfd, - } - ctx.run(cmd.format(**args)) - -@task -def clean(ctx): - """ - Remove temporary objects and binary artifacts - """ - # go clean - print("Executing go clean") - ctx.run("go clean") - - # remove the bin/agent folder - print("Remove logs directory") - ctx.run("rm -rf {}".format(LOGS_BIN_PATH)) From b548c5b776bee93446c2b10b61d6f4a1cccec67c Mon Sep 17 00:00:00 2001 From: Antoine Dupuis Date: Thu, 4 Jan 2018 14:42:50 +0100 Subject: [PATCH 07/25] Trim leading and trailing whitespaces from single lignes before checking for emptiness. --- pkg/logs/decoder/decoder.go | 3 +-- pkg/logs/decoder/line_handler.go | 20 ++++++++-------- pkg/logs/decoder/line_handler_test.go | 33 +++++++++++++++++++++++++++ 3 files changed, 45 insertions(+), 11 deletions(-) create mode 100644 pkg/logs/decoder/line_handler_test.go diff --git a/pkg/logs/decoder/decoder.go b/pkg/logs/decoder/decoder.go index c039074a63360..072b478dc7fdc 100644 --- a/pkg/logs/decoder/decoder.go +++ b/pkg/logs/decoder/decoder.go @@ -130,6 +130,5 @@ func (d *Decoder) sendLine() { content := make([]byte, d.lineBuffer.Len()) copy(content, d.lineBuffer.Bytes()) d.lineBuffer.Reset() - newLine := NewLine(content) - d.lineHandler.Handle(newLine) + d.lineHandler.Handle(content) } diff --git a/pkg/logs/decoder/line_handler.go b/pkg/logs/decoder/line_handler.go index cd50571bb9835..d39df385f48bc 100644 --- a/pkg/logs/decoder/line_handler.go +++ b/pkg/logs/decoder/line_handler.go @@ -6,6 +6,7 @@ package decoder import ( + "bytes" "regexp" "sync" "time" @@ -19,16 +20,16 @@ type Line struct { content []byte } -// NewLine returns a new Line -func NewLine(content []byte) *Line { +// newLine returns a new Line +func newLine(content []byte) *Line { return &Line{ content: content, } } -// LineHandler handles Lines to form output +// LineHandler handles byte slices to form line output type LineHandler interface { - Handle(line *Line) + Handle(content []byte) Stop() } @@ -50,9 +51,10 @@ func NewSingleLineHandler(outputChan chan *Output) *SingleLineHandler { return &lineHandler } -// Handle forward lines to lineChan to process them -func (lh *SingleLineHandler) Handle(line *Line) { - lh.lineChan <- line +// Handle trims leading and trailing whitespaces from content, +// and sends it as a new Line to lineChan. +func (lh *SingleLineHandler) Handle(content []byte) { + lh.lineChan <- newLine(bytes.TrimSpace(content)) } // Stop stops the handler from processing new lines @@ -130,8 +132,8 @@ func NewMultiLineLineHandler(outputChan chan *Output, newContentRe *regexp.Regex } // Handle forward lines to lineChan to process them -func (lh *MultiLineLineHandler) Handle(line *Line) { - lh.lineChan <- line +func (lh *MultiLineLineHandler) Handle(content []byte) { + lh.lineChan <- newLine(content) } // Stop stops the lineHandler from processing lines diff --git a/pkg/logs/decoder/line_handler_test.go b/pkg/logs/decoder/line_handler_test.go new file mode 100644 index 0000000000000..f25845e7c5d45 --- /dev/null +++ b/pkg/logs/decoder/line_handler_test.go @@ -0,0 +1,33 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2017 Datadog, Inc. + +package decoder + +import ( + "testing" + + "github.com/stretchr/testify/assert" +) + +func TestTrimSingleLine(t *testing.T) { + outChan := make(chan *Output, 10) + h := NewSingleLineHandler(outChan) + + var out *Output + + // All valid whitespace characters + whitespace := "\t\n\v\f\r\u0085\u00a0 " + + // All leading and trailing whitespace characters should be trimmed + h.Handle([]byte(whitespace + "foo" + whitespace + "bar" + whitespace)) + out = <-outChan + assert.Equal(t, "foo"+whitespace+"bar", string(out.Content)) + + // With line break + h.Handle([]byte(" foo \n bar ")) + out = <-outChan + assert.Equal(t, "foo \n bar", string(out.Content)) + +} From 5b02d998de61f0ce73e9361a0d9d84004aa0ece6 Mon Sep 17 00:00:00 2001 From: Nils Date: Thu, 4 Jan 2018 18:13:13 +0100 Subject: [PATCH 08/25] Add log collection instruction for docker (#1011) * Add log collection instruction for docker --- Dockerfiles/agent/README.md | 55 +++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) diff --git a/Dockerfiles/agent/README.md b/Dockerfiles/agent/README.md index 285a52cc5a886..4052a9d0cfedf 100644 --- a/Dockerfiles/agent/README.md +++ b/Dockerfiles/agent/README.md @@ -30,3 +30,58 @@ You'll need to download one of the `datadog-agent*_amd64.deb` package in this di You can then build the image using `docker build -t datadog/agent:master .` To build the jmx variant, add `--build-arg WITH_JMX=true` to the build command + +## How to activate log collection + +The Datadog Agent can collect logs from containers starting at the version 6. Two installations are possible: + +- on the host: where the agent is external to the Docker environment +- or by deploying its containerized version in the Docker environment + +### Setup + +First let’s create two directories on the host that we will later mount on the containerized agent: + +- `/opt/datadog-agent/run`: to make sure we do not lose any logs from containers during restarts or network issues we store on the host the last line that was collected for each container in this directory +- ` /opt/datadog-agent/conf.d`: this is where you will provide your integration instructions. Any configuration file added there will automatically be picked up by the containerized agent when restarted. For more information about this check [here](https://github.com/DataDog/docker-dd-agent#enabling-integrations). + +To run a Docker container which embeds the Datadog Agent to monitor your host use the following command: + +``` +docker run -d --name dd-agent -h `hostname` -e DD_API_KEY= -e DD_LOG_ENABLED=true -v /var/run/docker.sock:/var/run/docker.sock:ro -v /proc/:/host/proc/:ro -v /opt/datadog-agent/run:/opt/datadog-agent/run:rw -v /sys/fs/cgroup/:/host/sys/fs/cgroup:ro -v /opt/datadog-agent/conf.d:/conf.d:ro datadog/agent:latest +``` + +*Important notes*: + +- The Docker integration is enabled by default, as well as [autodiscovery](https://docs.datadoghq.com/guides/servicediscovery/) in auto config mode ((remove the `listeners: -docker` section in `datadog.yaml` to disable it). + +- You can find [here](https://hub.docker.com/r/datadog/agent/tags/) the list of available images for agent 6 and we encourage you to always pick the latest version. + +The parameters specific to log collection are the following: + +- `-e DD_LOG_ENABLED=true`: this parameter enables the log collection when set to true. The agent now looks for log instructions in configuration files. +- `-v /opt/datadog-agent/run:/opt/datadog-agent/run:rw` : mount the directory we created to store pointer on each container logs to make sure we do not lose any. +- `-v /opt/datadog-agent/conf.d:/conf.d:ro` : mount the configuration directory we previously created to the container + +### Configuration file example + +Now that the agent is ready to collect logs, you need to define which containers you want to follow. +To start collecting logs for a given container filtered by image or label, you need to update the log section in an integration or custom .yaml file. +Add a new yaml file in the conf.d directory with the following parameters: + +``` +init_config: + +instances: + [{}] + +#Log section + +logs: + - type: docker + image: my_image_name #or label: mylabel + service: my_application_name + source: java #tells Datadog what integration it is + sourcecategory: sourcecode +``` +For more examples of configuration files or agent capabilities (such as filtering, redacting, multiline, …) read [this documentation](https://docs.datadoghq.com/logs/#filter-logs). From a47b89861b53ff4b4546cb8a0e06d84edf3eadd5 Mon Sep 17 00:00:00 2001 From: Xavier Vello Date: Fri, 5 Jan 2018 13:29:32 +0100 Subject: [PATCH 09/25] [docker] multiplex all docker event subscribers in one connection (#1016) --- cmd/agent/gui/render.go | 3 +- pkg/util/docker/docker_util.go | 34 +++--- pkg/util/docker/event_stream.go | 152 +++++++++++++++++++-------- pkg/util/docker/event_stream_test.go | 79 ++++++++++++++ pkg/util/docker/event_types.go | 35 +++++- 5 files changed, 240 insertions(+), 63 deletions(-) create mode 100644 pkg/util/docker/event_stream_test.go diff --git a/cmd/agent/gui/render.go b/cmd/agent/gui/render.go index c7b581a32fe92..aadcdda9bf6c6 100644 --- a/cmd/agent/gui/render.go +++ b/cmd/agent/gui/render.go @@ -158,7 +158,8 @@ func formatTitle(title string) string { // Split camel case words var words []string - l := 0 + var l int + for s := title; s != ""; s = s[l:] { l = strings.IndexFunc(s[1:], unicode.IsUpper) + 1 if l <= 0 { diff --git a/pkg/util/docker/docker_util.go b/pkg/util/docker/docker_util.go index 431af44859565..da933db6e43d9 100644 --- a/pkg/util/docker/docker_util.go +++ b/pkg/util/docker/docker_util.go @@ -37,6 +37,22 @@ func (d *DockerUtil) ContainerList(ctx context.Context, options types.ContainerL return d.cli.ContainerList(ctx, options) } +// DockerUtil wraps interactions with a local docker API. +type DockerUtil struct { + retry.Retrier + sync.Mutex + cfg *Config + cli *client.Client + // tracks the last time we invalidate our internal caches + lastInvalidate time.Time + // networkMappings by container id + networkMappings map[string][]dockerNetwork + // image sha mapping cache + imageNameBySha map[string]string + // event subscribers and state + eventState *eventStreamState +} + func detectServerAPIVersion() (string, error) { host := os.Getenv("DOCKER_HOST") if host == "" { @@ -87,8 +103,8 @@ func (d *DockerUtil) init() error { d.cli = cli d.networkMappings = make(map[string][]dockerNetwork) d.imageNameBySha = make(map[string]string) - d.eventSubscribers = make(map[string]*eventSubscriber) d.lastInvalidate = time.Now() + d.eventState = newEventStreamState() return nil } @@ -134,22 +150,6 @@ func ConnectToDocker() (*client.Client, error) { return cli, nil } -// DockerUtil wraps interactions with a local docker API. -type DockerUtil struct { - retry.Retrier - sync.Mutex - cfg *Config - cli *client.Client - // tracks the last time we invalidate our internal caches - lastInvalidate time.Time - // networkMappings by container id - networkMappings map[string][]dockerNetwork - // image sha mapping cache - imageNameBySha map[string]string - // event subscribers - eventSubscribers map[string]*eventSubscriber -} - // Images returns a slice of all images. func (d *DockerUtil) Images(includeIntermediate bool) ([]types.ImageSummary, error) { images, err := d.cli.ImageList(context.Background(), types.ImageListOptions{All: includeIntermediate}) diff --git a/pkg/util/docker/event_stream.go b/pkg/util/docker/event_stream.go index b847909071915..2d22cadd9813b 100644 --- a/pkg/util/docker/event_stream.go +++ b/pkg/util/docker/event_stream.go @@ -9,7 +9,6 @@ package docker import ( "context" - "errors" "io" "strconv" "time" @@ -19,63 +18,92 @@ import ( "github.com/docker/docker/api/types/filters" ) -//// Can't be unit tested, covered by the listeners/docker -//// and dogstatsd/origin_detection integration tests. +//// eventStreamState logic unit tested in event_stream_test.go +//// DockerUtil logic covered by the listeners/docker and dogstatsd/origin_detection integration tests. -// eventSubscriber holds the state for a subscriber -type eventSubscriber struct { - name string - eventChan chan *ContainerEvent - errorChan chan error - cancelChan chan struct{} -} +const eventSendTimeout = 100 * time.Millisecond +const eventSendBuffer = 5 // SubscribeToContainerEvents allows a package to subscribe to events from the event stream. -// An unique subscriber name should be provided. +// A unique subscriber name should be provided. +// +// Attention: events sent through the channel are references to objects shared between subscribers, +// subscribers should NOT modify them. func (d *DockerUtil) SubscribeToContainerEvents(name string) (<-chan *ContainerEvent, <-chan error, error) { - d.RLock() - if _, found := d.eventSubscribers[name]; found { - d.RUnlock() - return nil, nil, errors.New("already subscribed") + eventChan, errorChan, err, shouldStart := d.eventState.subscribe(name) + + if shouldStart { + d.eventState.Lock() + d.eventState.running = true + go d.dispatchEvents(d.eventState.cancelChan) + d.eventState.Unlock() } - d.RUnlock() + + return eventChan, errorChan, err +} + +func (e *eventStreamState) subscribe(name string) (<-chan *ContainerEvent, <-chan error, error, bool) { + var shouldStart bool + e.RLock() + if _, found := e.subscribers[name]; found { + e.RUnlock() + return nil, nil, ErrAlreadySubscribed, false + } + e.RUnlock() sub := &eventSubscriber{ - name: name, - eventChan: make(chan *ContainerEvent, 5), - errorChan: make(chan error, 5), - cancelChan: make(chan struct{}), + name: name, + eventChan: make(chan *ContainerEvent, eventSendBuffer), + errorChan: make(chan error, 1), + } + e.Lock() + e.subscribers[name] = sub + if !e.running { + shouldStart = true } - d.Lock() - d.eventSubscribers[name] = sub - d.Unlock() + e.Unlock() - go d.streamEvents(sub.eventChan, sub.cancelChan) - return sub.eventChan, sub.errorChan, nil + return sub.eventChan, sub.errorChan, nil, shouldStart } // UnsubscribeFromContainerEvents allows a package to unsubscribe. // The call is blocking until the request is processed. func (d *DockerUtil) UnsubscribeFromContainerEvents(name string) error { - d.Lock() - sub, found := d.eventSubscribers[name] + err, shouldStop := d.eventState.unsubscribe(name) + + if shouldStop { + d.eventState.Lock() + d.eventState.running = false + d.eventState.cancelChan <- struct{}{} + d.eventState.Unlock() + } + + return err +} + +func (e *eventStreamState) unsubscribe(name string) (error, bool) { + var shouldStop bool + e.Lock() + defer e.Unlock() + + sub, found := e.subscribers[name] if !found { - d.Unlock() - return errors.New("not subscribed") + return ErrNotSubscribed, false } - delete(d.eventSubscribers, name) - d.Unlock() - // Block until the goroutine exits, then close all chans - sub.cancelChan <- struct{}{} - close(sub.cancelChan) + // Remove subscriber close(sub.errorChan) close(sub.eventChan) + delete(e.subscribers, name) - return nil + // Stop dispatch if no subs remaining + if e.running && len(e.subscribers) == 0 { + shouldStop = true + } + return nil, shouldStop } -func (d *DockerUtil) streamEvents(dataChan chan<- *ContainerEvent, cancelChan <-chan struct{}) { +func (d *DockerUtil) dispatchEvents(cancelChan <-chan struct{}) { fltrs := filters.NewArgs() fltrs.Add("type", "container") fltrs.Add("event", "start") @@ -98,23 +126,59 @@ CONNECT: case <-cancelChan: cancel() return - case msg := <-messages: - event, err := d.processContainerEvent(msg) - if err != nil { - log.Debugf("skipping event: %s", err) - continue - } - dataChan <- event case err := <-errs: if err == io.EOF { // Silently ignore io.EOF that happens on http connection reset - log.Debug("got EOF, re-connecting") + log.Debug("Got EOF, re-connecting") } else { log.Warnf("error getting docker events: %s", err) } cancel() continue CONNECT // Re-connect to docker + case msg := <-messages: + event, err := d.processContainerEvent(msg) + if err != nil { + log.Debugf("Skipping event: %s", err) + continue + } + + badSubs := d.eventState.dispatch(event) + for _, sub := range badSubs { + d.UnsubscribeFromContainerEvents(sub.name) + } } } } } + +func (e *eventStreamState) dispatch(event *ContainerEvent) []*eventSubscriber { + var badSubs []*eventSubscriber + e.RLock() + for _, sub := range e.subscribers { + err := e.sendEvent(event, sub) + if err != nil { + badSubs = append(badSubs, sub) + } + } + e.RUnlock() + return badSubs +} + +func (s *eventStreamState) sendEvent(ev *ContainerEvent, sub *eventSubscriber) error { + var err error + select { + case sub.eventChan <- ev: + return nil + case <-time.After(eventSendTimeout): + err = ErrEventTimeout + } + + // We timeouted, let's try to send the error to the subscriber + select { + case sub.errorChan <- err: + // Send successful + case <-time.After(eventSendTimeout): + // We don't want to block, let's return + } + return err +} diff --git a/pkg/util/docker/event_stream_test.go b/pkg/util/docker/event_stream_test.go new file mode 100644 index 0000000000000..0e20311c2bce0 --- /dev/null +++ b/pkg/util/docker/event_stream_test.go @@ -0,0 +1,79 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2018 Datadog, Inc. + +// +build docker + +package docker + +import ( + "testing" + "time" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" +) + +func TestTwoSubs(t *testing.T) { + state := newEventStreamState() + + outData1, outErr1, err, shouldStart := state.subscribe("listener1") + assert.Nil(t, err) + assert.True(t, shouldStart) + state.running = true + + outData2, outErr2, err, shouldStart := state.subscribe("listener2") + assert.Nil(t, err) + assert.False(t, shouldStart) + + ev := &ContainerEvent{} + state.dispatch(ev) + received1 := <-outData1 + assert.Equal(t, ev, received1) + received2 := <-outData2 + assert.Equal(t, ev, received2) + + select { + case err := <-outErr1: + assert.FailNow(t, "should not have received an error, received %s", err) + case err := <-outErr2: + assert.FailNow(t, "should not have received an error, received %s", err) + case <-time.After(time.Millisecond): + break + } +} + +func TestSendTimeout(t *testing.T) { + state := newEventStreamState() + + _, outErr, err, _ := state.subscribe("listener1") + assert.Nil(t, err) + + ev := &ContainerEvent{} + + // First sends should be OK + for i := 0; i < eventSendBuffer; i++ { + badSubs := state.dispatch(ev) + assert.Equal(t, 0, len(badSubs)) + } + + select { + case err := <-outErr: + assert.FailNow(t, "should not have received an error, received %s", err) + case <-time.After(time.Millisecond): + break + } + + // Next send should timeout + badSubs := state.dispatch(ev) + assert.Equal(t, 1, len(badSubs)) + + select { + case err := <-outErr: + require.NotNil(t, err) + assert.Equal(t, err, ErrEventTimeout) + case <-time.After(time.Second): + assert.FailNow(t, "should have received a timeout error") + } +} diff --git a/pkg/util/docker/event_types.go b/pkg/util/docker/event_types.go index 90b498b0e2986..d5384f289998a 100644 --- a/pkg/util/docker/event_types.go +++ b/pkg/util/docker/event_types.go @@ -5,7 +5,11 @@ package docker -import "time" +import ( + "errors" + "sync" + "time" +) // ContainerEvent describes an event from the docker daemon type ContainerEvent struct { @@ -21,3 +25,32 @@ type ContainerEvent struct { func (ev *ContainerEvent) ContainerEntityName() string { return ContainerIDToEntityName(ev.ContainerID) } + +// Errors client might receive +var ( + ErrAlreadySubscribed = errors.New("already subscribed") + ErrNotSubscribed = errors.New("not subscribed") + ErrEventTimeout = errors.New("timeout on event sending, re-subscribe") +) + +// eventSubscriber holds the state for a subscriber +type eventSubscriber struct { + name string + eventChan chan *ContainerEvent + errorChan chan error +} + +// eventStreamState holds the state for event streaming towards subscribers +type eventStreamState struct { + sync.RWMutex + subscribers map[string]*eventSubscriber + cancelChan chan struct{} + running bool +} + +func newEventStreamState() *eventStreamState { + return &eventStreamState{ + subscribers: make(map[string]*eventSubscriber), + cancelChan: make(chan struct{}), + } +} From eb9c477d4431f181e8bee3fb88ab7ae39b7bad20 Mon Sep 17 00:00:00 2001 From: Massimiliano Pippi Date: Fri, 5 Jan 2018 13:31:09 +0100 Subject: [PATCH 10/25] [ci skip] moar docs (#1020) --- README.md | 10 +++++----- docs/agent/downgrade.md | 3 ++- docs/agent/upgrade.md | 5 +++-- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index d2eaf60525782..2afa73eed68f7 100644 --- a/README.md +++ b/README.md @@ -4,12 +4,12 @@ [![Build status](https://ci.appveyor.com/api/projects/status/kcwhmlsc0oq3m49p/branch/master?svg=true)](https://ci.appveyor.com/project/Datadog/datadog-agent/branch/master) [![GoDoc](https://godoc.org/github.com/DataDog/datadog-agent?status.svg)](https://godoc.org/github.com/DataDog/datadog-agent) -The Datadog Agent faithfully collects events and metrics and brings them to -[Datadog](https://app.datadoghq.com) on your behalf so that you can do something -useful with your monitoring and performance data. - The present repository contains the source code of the Datadog Agent version 6, -currently in Beta. The source code of the stable Datadog Agent 5 is located in the +**currently in beta**. Please refer to the [beta docs](docs/beta.md) for more +informations about the status of the project, the limitations and how to install +the latest version of the Agent. + +**Note:** the source code of the **stable** Datadog Agent 5 is located in the [dd-agent](https://github.com/DataDog/dd-agent) repository. ## Getting started diff --git a/docs/agent/downgrade.md b/docs/agent/downgrade.md index 83a6a5ef31d86..c5e59ea72614b 100644 --- a/docs/agent/downgrade.md +++ b/docs/agent/downgrade.md @@ -78,7 +78,8 @@ sudo -u dd-agent -- rm -rf /etc/datadog-agent/ ## Windows -Run the agent5 installer package. +Run the agent installer package for the latest 5.x version, instructions can be found +[in the Datadog agent integration page](https://app.datadoghq.com/account/settings#agent/windows). ## MacOS diff --git a/docs/agent/upgrade.md b/docs/agent/upgrade.md index c5b3dd935c8d9..f05a43d1184a8 100644 --- a/docs/agent/upgrade.md +++ b/docs/agent/upgrade.md @@ -123,7 +123,8 @@ sudo restart datadog-agent ## Windows -Run the agent6 installation package. +Download the latest version available [from here](https://github.com/DataDog/datadog-agent/releases) +and run the installation package. ## MacOS @@ -144,4 +145,4 @@ Unlike on Linux, the configuration path hasn't changed and remains in `~/.datado Coming soon. -[changes]: changes.md \ No newline at end of file +[changes]: changes.md From 4078309559b0161f8e049d735107b65628b3c3b6 Mon Sep 17 00:00:00 2001 From: Xavier Vello Date: Fri, 5 Jan 2018 15:01:11 +0100 Subject: [PATCH 11/25] document internal eventStreamState methods for readability (#1021) --- pkg/util/docker/event_stream.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkg/util/docker/event_stream.go b/pkg/util/docker/event_stream.go index 2d22cadd9813b..946190fb8c812 100644 --- a/pkg/util/docker/event_stream.go +++ b/pkg/util/docker/event_stream.go @@ -42,6 +42,8 @@ func (d *DockerUtil) SubscribeToContainerEvents(name string) (<-chan *ContainerE return eventChan, errorChan, err } +// extracted from SubscribeToContainerEvents for unit testing, additional boolean +// indicates whether the dispatch goroutine should be started by DockerUtil func (e *eventStreamState) subscribe(name string) (<-chan *ContainerEvent, <-chan error, error, bool) { var shouldStart bool e.RLock() @@ -81,6 +83,8 @@ func (d *DockerUtil) UnsubscribeFromContainerEvents(name string) error { return err } +// extracted from UnsubscribeFromContainerEvents for unit testing, additional boolean +// indicates whether the dispatch goroutine should be stopped by DockerUtil func (e *eventStreamState) unsubscribe(name string) (error, bool) { var shouldStop bool e.Lock() From 9faaddd7f52f31801813d312f0eb08b0384572b3 Mon Sep 17 00:00:00 2001 From: Xavier Vello Date: Fri, 5 Jan 2018 17:34:04 +0100 Subject: [PATCH 12/25] cache mechanism for AD docker label provider (#1018) --- pkg/collector/providers/docker.go | 59 ++++++++++++++++++- ...-ad-provider-caching-db701e7fe04c87a2.yaml | 6 ++ 2 files changed, 62 insertions(+), 3 deletions(-) create mode 100644 releasenotes/notes/docker-ad-provider-caching-db701e7fe04c87a2.yaml diff --git a/pkg/collector/providers/docker.go b/pkg/collector/providers/docker.go index a0950da439d57..b687b38b7310f 100644 --- a/pkg/collector/providers/docker.go +++ b/pkg/collector/providers/docker.go @@ -8,6 +8,8 @@ package providers import ( + "sync" + log "github.com/cihub/seelog" "github.com/DataDog/datadog-agent/pkg/collector/check" @@ -21,7 +23,10 @@ const ( // DockerConfigProvider implements the ConfigProvider interface for the docker labels. type DockerConfigProvider struct { + sync.RWMutex dockerUtil *docker.DockerUtil + upToDate bool + streaming bool } // NewDockerConfigProvider returns a new ConfigProvider connected to docker. @@ -35,7 +40,6 @@ func (d *DockerConfigProvider) String() string { } // Collect retrieves all running containers and extract AD templates from their labels. -// TODO: suscribe to docker events and only invalidate cache if we get a `start` event since last Collect. func (d *DockerConfigProvider) Collect() ([]check.Config, error) { var err error if d.dockerUtil == nil { @@ -43,6 +47,7 @@ func (d *DockerConfigProvider) Collect() ([]check.Config, error) { if err != nil { return []check.Config{}, err } + go d.listen() } containers, err := d.dockerUtil.AllContainerLabels() @@ -50,12 +55,60 @@ func (d *DockerConfigProvider) Collect() ([]check.Config, error) { return []check.Config{}, err } + d.Lock() + d.upToDate = true + d.Unlock() + return parseDockerLabels(containers) } -// IsUpToDate updates the list of AD templates versions in the Agent's cache and checks the list is up to date compared to Docker's data. +// We listen to docker events and invalidate our cache when we receive a start/die event +func (d *DockerConfigProvider) listen() { + d.Lock() + d.streaming = true + d.Unlock() + +CONNECT: + for { + eventChan, errChan, err := d.dockerUtil.SubscribeToContainerEvents(d.String()) + if err != nil { + log.Warnf("error subscribing to docker events: %s", err) + break CONNECT // We disable streaming and revert to always-pull behaviour + } + + for { + select { + case ev := <-eventChan: + // As our input is the docker `client.ContainerList`, which lists running containers, + // only these two event types will change what containers appear. + // Container labels cannot change once they are created, so we don't need to react on + // other lifecycle events. + if ev.Action == "start" || ev.Action == "die" { + d.Lock() + d.upToDate = false + d.Unlock() + } + case err := <-errChan: + log.Warnf("error getting docker events: %s", err) + d.Lock() + d.upToDate = false + d.Unlock() + continue CONNECT // Re-connect to dockerutils + } + } + } + + d.Lock() + d.streaming = false + d.Unlock() +} + +// IsUpToDate checks whether we have new containers to parse, based on events received by the listen goroutine. +// If listening fails, we fallback to Collecting everytime. func (d *DockerConfigProvider) IsUpToDate() (bool, error) { - return false, nil + d.RLock() + defer d.RUnlock() + return (d.streaming && d.upToDate), nil } func parseDockerLabels(containers map[string]map[string]string) ([]check.Config, error) { diff --git a/releasenotes/notes/docker-ad-provider-caching-db701e7fe04c87a2.yaml b/releasenotes/notes/docker-ad-provider-caching-db701e7fe04c87a2.yaml new file mode 100644 index 0000000000000..b58261c796b12 --- /dev/null +++ b/releasenotes/notes/docker-ad-provider-caching-db701e7fe04c87a2.yaml @@ -0,0 +1,6 @@ +--- +features: + - | + The Docker label AD provider now watches container events and + only updates when containers start/die to save resources + From b96a82ff39e25879ec653a090f706b0577166b2e Mon Sep 17 00:00:00 2001 From: Maxime Mouial Date: Fri, 5 Jan 2018 12:27:06 -0500 Subject: [PATCH 13/25] Add requests to the testing env This is needed to query the github API in the reno linting test. --- .circleci/images/builder/Dockerfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.circleci/images/builder/Dockerfile b/.circleci/images/builder/Dockerfile index ea44a9a0d3311..162c3e87ec7bf 100644 --- a/.circleci/images/builder/Dockerfile +++ b/.circleci/images/builder/Dockerfile @@ -73,7 +73,8 @@ RUN gem install bundler --version "$BUNDLER_VERSION" RUN apt-get update && apt-get install -y python-pip \ && pip install invoke \ && pip install docker \ - && pip install reno + && pip install reno \ + && pip install requests # install things globally, for great justice # and don't create ".bundle" in all our apps From e0a9e1d284e9b1fca028ecc77bd945f0166f021e Mon Sep 17 00:00:00 2001 From: Julien Balestra Date: Mon, 8 Jan 2018 14:24:16 +0100 Subject: [PATCH 14/25] autoconfig: automatically starts the docker listener (#986) * autoconfig: automatically starts the docker listener if docker is available --- cmd/agent/common/auto_listener.go | 55 ++++++++++++++++++++++ cmd/agent/common/auto_listener_docker.go | 18 +++++++ cmd/agent/common/auto_listener_nodocker.go | 13 +++++ cmd/agent/common/autoconfig.go | 1 + pkg/config/config_template.yaml | 4 ++ 5 files changed, 91 insertions(+) create mode 100644 cmd/agent/common/auto_listener.go create mode 100644 cmd/agent/common/auto_listener_docker.go create mode 100644 cmd/agent/common/auto_listener_nodocker.go diff --git a/cmd/agent/common/auto_listener.go b/cmd/agent/common/auto_listener.go new file mode 100644 index 0000000000000..acbea2b96cf20 --- /dev/null +++ b/cmd/agent/common/auto_listener.go @@ -0,0 +1,55 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2018 Datadog, Inc. + +package common + +import ( + "github.com/DataDog/datadog-agent/pkg/config" + log "github.com/cihub/seelog" +) + +// AutoAddListeners checks if the listener auto is selected and +// adds the docker listener if the host support it +// no effect if the listeners already contain the docker one +// Note: auto listener isn't a real listener but a way to automatically starts other listeners +// TODO: support more listeners (kubelet, ...) +func AutoAddListeners(listeners []config.Listeners) []config.Listeners { + autoIdx := -1 + for i, l := range listeners { + switch l.Name { + case "docker": + return listeners + case "auto": + autoIdx = i + } + } + if autoIdx == -1 { + return listeners + } + + // Remove the auto listener element from the listeners slice + listeners = remove(listeners, autoIdx) + + if isDockerRunning() == false { + return listeners + } + + // Adding listeners + listeners = addListener(listeners, "docker") + log.Debugf("returning %d listeners", len(listeners)) + return listeners +} + +func addListener(listeners []config.Listeners, name string) []config.Listeners { + newListener := config.Listeners{Name: name} + log.Infof("auto adding %q listener", newListener.Name) + return append(listeners, newListener) +} + +// remove the elt at the index +func remove(s []config.Listeners, index int) []config.Listeners { + s[index] = s[len(s)-1] + return s[:len(s)-1] +} diff --git a/cmd/agent/common/auto_listener_docker.go b/cmd/agent/common/auto_listener_docker.go new file mode 100644 index 0000000000000..3d18c5332d85a --- /dev/null +++ b/cmd/agent/common/auto_listener_docker.go @@ -0,0 +1,18 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2018 Datadog, Inc. + +// +build docker + +package common + +import ( + "github.com/DataDog/datadog-agent/pkg/util/docker" +) + +// isDockerRunning check if docker is running +func isDockerRunning() bool { + _, err := docker.GetDockerUtil() + return err == nil +} diff --git a/cmd/agent/common/auto_listener_nodocker.go b/cmd/agent/common/auto_listener_nodocker.go new file mode 100644 index 0000000000000..de844b48f5561 --- /dev/null +++ b/cmd/agent/common/auto_listener_nodocker.go @@ -0,0 +1,13 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2018 Datadog, Inc. + +// +build !docker + +package common + +// isDockerRunning check if docker is running +func isDockerRunning() bool { + return false +} diff --git a/cmd/agent/common/autoconfig.go b/cmd/agent/common/autoconfig.go index 375580a4d7f06..0deb280e3f707 100644 --- a/cmd/agent/common/autoconfig.go +++ b/cmd/agent/common/autoconfig.go @@ -77,6 +77,7 @@ func SetupAutoConfig(confdPath string) { // have only docker var Listeners []config.Listeners if err = config.Datadog.UnmarshalKey("listeners", &Listeners); err == nil { + Listeners = AutoAddListeners(Listeners) for _, l := range Listeners { serviceListenerFactory, ok := listeners.ServiceListenerFactories[l.Name] if !ok { diff --git a/pkg/config/config_template.yaml b/pkg/config/config_template.yaml index 829cd57833042..4da7bb5105648 100644 --- a/pkg/config/config_template.yaml +++ b/pkg/config/config_template.yaml @@ -210,7 +210,11 @@ metadata_collectors: # # container_proc_root: /host/proc # +# Choose "auto" if you want to let the agent find any relevant listener on your host +# At the moment, the only auto listener supported is docker +# If you have already set docker anywhere in the listeners, the auto listener is ignored # listeners: +# - name: auto # - name: docker # # Exclude containers based on their name or image From 493cf753c65d6186d45117215d0f911fcd27ba46 Mon Sep 17 00:00:00 2001 From: Alexandre Jacquemot Date: Mon, 8 Jan 2018 16:08:00 +0100 Subject: [PATCH 15/25] Added a logic to compute a new hostname when it's not set in config (#1022) --- pkg/logs/config/config.go | 60 ++++++++++++++++ pkg/logs/config/config_test.go | 40 +++++++++++ pkg/logs/config/integration_config.go | 30 ++------ pkg/logs/config/integration_config_test.go | 80 +++++++++------------- pkg/logs/logs.go | 2 +- pkg/logs/processor/processor.go | 2 +- 6 files changed, 141 insertions(+), 73 deletions(-) create mode 100644 pkg/logs/config/config.go create mode 100644 pkg/logs/config/config_test.go diff --git a/pkg/logs/config/config.go b/pkg/logs/config/config.go new file mode 100644 index 0000000000000..84cef2cebcbd1 --- /dev/null +++ b/pkg/logs/config/config.go @@ -0,0 +1,60 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2018 Datadog, Inc. + +package config + +import ( + "strings" + + ddconfig "github.com/DataDog/datadog-agent/pkg/config" + "github.com/DataDog/datadog-agent/pkg/util" + + log "github.com/cihub/seelog" + "github.com/spf13/viper" +) + +// LogsAgent is the global configuration object +var LogsAgent = ddconfig.Datadog + +// private configuration properties +var ( + hostname string + logsSources []*IntegrationConfigLogSource +) + +// GetHostname returns logs-agent hostname +func GetHostname() string { + return hostname +} + +// GetLogsSources returns the list of logs sources +func GetLogsSources() []*IntegrationConfigLogSource { + return logsSources +} + +// Build initializes logs-agent configuration +func Build() error { + sources, err := buildLogsSources(LogsAgent.GetString("confd_path")) + if err != nil { + return err + } + logsSources = sources + hostname = buildHostname(LogsAgent) + return nil +} + +// buildHostname computes the hostname for logs-agent +func buildHostname(config *viper.Viper) string { + configHostname := config.GetString("hostname") + if strings.TrimSpace(configHostname) == "" { + hostname, err := util.GetHostname() + if err != nil { + log.Warn(err) + hostname = "unknown" + } + return hostname + } + return configHostname +} diff --git a/pkg/logs/config/config_test.go b/pkg/logs/config/config_test.go new file mode 100644 index 0000000000000..50ef78b4c2377 --- /dev/null +++ b/pkg/logs/config/config_test.go @@ -0,0 +1,40 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2018 Datadog, Inc. + +package config + +import ( + "testing" + + "github.com/spf13/viper" + "github.com/stretchr/testify/assert" +) + +func TestLogsAgentDefaultValues(t *testing.T) { + assert.Equal(t, "", LogsAgent.GetString("logset")) + assert.Equal(t, "intake.logs.datadoghq.com", LogsAgent.GetString("log_dd_url")) + assert.Equal(t, 10516, LogsAgent.GetInt("log_dd_port")) + assert.Equal(t, false, LogsAgent.GetBool("skip_ssl_validation")) + assert.Equal(t, false, LogsAgent.GetBool("dev_mode_no_ssl")) + assert.Equal(t, false, LogsAgent.GetBool("log_enabled")) + assert.Equal(t, 100, LogsAgent.GetInt("log_open_files_limit")) +} + +func TestBuildHostname(t *testing.T) { + var config = viper.New() + var hostname string + + hostname = buildHostname(config) + assert.NotEqual(t, "", hostname) + + config.SetDefault("hostname", "\t \n") + hostname = buildHostname(config) + assert.NotEqual(t, "\t \n", hostname) + assert.NotEqual(t, "", hostname) + + config.SetDefault("hostname", "foo") + hostname = buildHostname(config) + assert.Equal(t, "foo", hostname) +} diff --git a/pkg/logs/config/integration_config.go b/pkg/logs/config/integration_config.go index 77f8e8afcfd73..23717c78b6c62 100644 --- a/pkg/logs/config/integration_config.go +++ b/pkg/logs/config/integration_config.go @@ -11,14 +11,10 @@ import ( "path/filepath" "regexp" - ddconfig "github.com/DataDog/datadog-agent/pkg/config" log "github.com/cihub/seelog" "github.com/spf13/viper" ) -// LogsAgent is the global configuration object -var LogsAgent = ddconfig.Datadog - // Logs source types const ( TCPType = "tcp" @@ -41,8 +37,6 @@ const ( ymlExtension = ".yml" ) -const logsRules = "LogsRules" - // LogsProcessingRule defines an exclusion or a masking rule to // be applied on log lines type LogsProcessingRule struct { @@ -79,22 +73,9 @@ type IntegrationConfig struct { Logs []IntegrationConfigLogSource } -// GetLogsSources returns a list of integration sources -func GetLogsSources() []*IntegrationConfigLogSource { - return getLogsSources(LogsAgent) -} - -func getLogsSources(config *viper.Viper) []*IntegrationConfigLogSource { - return config.Get(logsRules).([]*IntegrationConfigLogSource) -} - -// BuildLogsAgentIntegrationsConfigs looks for all yml configs in the ddconfdPath directory, -// and initializes the LogsAgent integrations configs -func BuildLogsAgentIntegrationsConfigs() error { - return buildLogsAgentIntegrationsConfig(LogsAgent, LogsAgent.GetString("confd_path")) -} - -func buildLogsAgentIntegrationsConfig(config *viper.Viper, ddconfdPath string) error { +// buildLogsSources looks for all yml configs in the ddconfdPath directory, +// and returns a list of all the valid logs sources +func buildLogsSources(ddconfdPath string) ([]*IntegrationConfigLogSource, error) { integrationConfigFiles := availableIntegrationConfigs(ddconfdPath) logsSourceConfigs := []*IntegrationConfigLogSource{} @@ -136,11 +117,10 @@ func buildLogsAgentIntegrationsConfig(config *viper.Viper, ddconfdPath string) e } if len(logsSourceConfigs) == 0 { - return fmt.Errorf("Could not find any valid logs integration configuration file in %s", ddconfdPath) + return nil, fmt.Errorf("Could not find any valid logs integration configuration file in %s", ddconfdPath) } - config.Set(logsRules, logsSourceConfigs) - return nil + return logsSourceConfigs, nil } // availableIntegrationConfigs lists yaml files in ddconfdPath diff --git a/pkg/logs/config/integration_config_test.go b/pkg/logs/config/integration_config_test.go index 822701491339b..28b2fa5929cf4 100644 --- a/pkg/logs/config/integration_config_test.go +++ b/pkg/logs/config/integration_config_test.go @@ -11,7 +11,6 @@ import ( "path/filepath" "testing" - "github.com/spf13/viper" "github.com/stretchr/testify/assert" ) @@ -24,81 +23,80 @@ func TestAvailableIntegrationConfigs(t *testing.T) { func TestBuildLogsAgentIntegrationsConfigs(t *testing.T) { ddconfdPath := filepath.Join(testsPath, "complete", "conf.d") - var testConfig = viper.New() - buildLogsAgentIntegrationsConfig(testConfig, ddconfdPath) - - rules := getLogsSources(testConfig) - assert.Equal(t, 3, len(rules)) - assert.Equal(t, "file", rules[0].Type) - assert.Equal(t, "/var/log/access.log", rules[0].Path) - assert.Equal(t, "nginx", rules[0].Service) - assert.Equal(t, "nginx", rules[0].Source) - assert.Equal(t, "http_access", rules[0].SourceCategory) - assert.Equal(t, "", rules[0].Logset) - assert.Equal(t, "env:prod", rules[0].Tags) - assert.Equal(t, "[dd ddsource=\"nginx\"][dd ddsourcecategory=\"http_access\"][dd ddtags=\"env:prod\"]", string(rules[0].TagsPayload)) - - assert.Equal(t, "tcp", rules[1].Type) - assert.Equal(t, 10514, rules[1].Port) - assert.Equal(t, "devteam", rules[1].Logset) - assert.Equal(t, "", rules[1].Service) - assert.Equal(t, "", rules[1].Source) - assert.Equal(t, 0, len(rules[1].Tags)) - - assert.Equal(t, "docker", rules[2].Type) - assert.Equal(t, "test", rules[2].Image) + sources, err := buildLogsSources(ddconfdPath) + + assert.Nil(t, err) + + assert.Equal(t, 3, len(sources)) + assert.Equal(t, "file", sources[0].Type) + assert.Equal(t, "/var/log/access.log", sources[0].Path) + assert.Equal(t, "nginx", sources[0].Service) + assert.Equal(t, "nginx", sources[0].Source) + assert.Equal(t, "http_access", sources[0].SourceCategory) + assert.Equal(t, "", sources[0].Logset) + assert.Equal(t, "env:prod", sources[0].Tags) + assert.Equal(t, "[dd ddsource=\"nginx\"][dd ddsourcecategory=\"http_access\"][dd ddtags=\"env:prod\"]", string(sources[0].TagsPayload)) + + assert.Equal(t, "tcp", sources[1].Type) + assert.Equal(t, 10514, sources[1].Port) + assert.Equal(t, "devteam", sources[1].Logset) + assert.Equal(t, "", sources[1].Service) + assert.Equal(t, "", sources[1].Source) + assert.Equal(t, 0, len(sources[1].Tags)) + + assert.Equal(t, "docker", sources[2].Type) + assert.Equal(t, "test", sources[2].Image) // processing - assert.Equal(t, 0, len(rules[0].ProcessingRules)) - assert.Equal(t, 4, len(rules[1].ProcessingRules)) + assert.Equal(t, 0, len(sources[0].ProcessingRules)) + assert.Equal(t, 4, len(sources[1].ProcessingRules)) - pRule := rules[1].ProcessingRules[0] + pRule := sources[1].ProcessingRules[0] assert.Equal(t, "mask_sequences", pRule.Type) assert.Equal(t, "mocked_mask_rule", pRule.Name) assert.Equal(t, "[mocked]", pRule.ReplacePlaceholder) assert.Equal(t, []byte("[mocked]"), pRule.ReplacePlaceholderBytes) assert.Equal(t, ".*", pRule.Pattern) - mRule := rules[1].ProcessingRules[1] + mRule := sources[1].ProcessingRules[1] assert.Equal(t, "multi_line", mRule.Type) assert.Equal(t, "numbers", mRule.Name) re := mRule.Reg assert.True(t, re.MatchString("123")) assert.False(t, re.MatchString("a123")) - eRule := rules[1].ProcessingRules[2] + eRule := sources[1].ProcessingRules[2] assert.Equal(t, "exclude_at_match", eRule.Type) assert.Equal(t, "exclude_bob", eRule.Name) assert.Equal(t, "^bob", eRule.Pattern) - iRule := rules[1].ProcessingRules[3] + iRule := sources[1].ProcessingRules[3] assert.Equal(t, "include_at_match", iRule.Type) assert.Equal(t, "include_datadoghq", iRule.Name) assert.Equal(t, ".*@datadoghq.com$", iRule.Pattern) } func TestBuildLogsAgentIntegrationConfigsWithMisconfiguredFile(t *testing.T) { - var testConfig = viper.New() var ddconfdPath string var err error ddconfdPath = filepath.Join(testsPath, "misconfigured_1") - err = buildLogsAgentIntegrationsConfig(testConfig, ddconfdPath) + _, err = buildLogsSources(ddconfdPath) assert.NotNil(t, err) ddconfdPath = filepath.Join(testsPath, "misconfigured_2", "conf.d") - err = buildLogsAgentIntegrationsConfig(testConfig, ddconfdPath) + _, err = buildLogsSources(ddconfdPath) assert.NotNil(t, err) ddconfdPath = filepath.Join(testsPath, "misconfigured_3", "conf.d") - err = buildLogsAgentIntegrationsConfig(testConfig, ddconfdPath) + _, err = buildLogsSources(ddconfdPath) assert.NotNil(t, err) ddconfdPath = filepath.Join(testsPath, "misconfigured_4", "conf.d") - err = buildLogsAgentIntegrationsConfig(testConfig, ddconfdPath) + _, err = buildLogsSources(ddconfdPath) assert.NotNil(t, err) ddconfdPath = filepath.Join(testsPath, "misconfigured_5", "conf.d") - err = buildLogsAgentIntegrationsConfig(testConfig, ddconfdPath) + _, err = buildLogsSources(ddconfdPath) assert.NotNil(t, err) } @@ -107,13 +105,3 @@ func TestBuildTagsPayload(t *testing.T) { assert.Equal(t, "[dd ddtags=\"hello:world\"]", string(BuildTagsPayload("hello:world", "", ""))) assert.Equal(t, "[dd ddsource=\"nginx\"][dd ddsourcecategory=\"http_access\"][dd ddtags=\"hello:world, hi\"]", string(BuildTagsPayload("hello:world, hi", "nginx", "http_access"))) } - -func TestLogsAgentDefaultValues(t *testing.T) { - assert.Equal(t, "", LogsAgent.GetString("logset")) - assert.Equal(t, "intake.logs.datadoghq.com", LogsAgent.GetString("log_dd_url")) - assert.Equal(t, 10516, LogsAgent.GetInt("log_dd_port")) - assert.Equal(t, false, LogsAgent.GetBool("skip_ssl_validation")) - assert.Equal(t, false, LogsAgent.GetBool("dev_mode_no_ssl")) - assert.Equal(t, false, LogsAgent.GetBool("log_enabled")) - assert.Equal(t, 100, LogsAgent.GetInt("log_open_files_limit")) -} diff --git a/pkg/logs/logs.go b/pkg/logs/logs.go index 88c3260389c0c..df3f043268160 100644 --- a/pkg/logs/logs.go +++ b/pkg/logs/logs.go @@ -20,7 +20,7 @@ import ( // Start starts logs-agent func Start() error { - err := config.BuildLogsAgentIntegrationsConfigs() + err := config.Build() if err != nil { return err } diff --git a/pkg/logs/processor/processor.go b/pkg/logs/processor/processor.go index 0e0fab3f9f406..23aa6d159878a 100644 --- a/pkg/logs/processor/processor.go +++ b/pkg/logs/processor/processor.go @@ -91,7 +91,7 @@ func (p *Processor) computeExtraContent(msg message.Message) []byte { extraContent = append(extraContent, ' ') // Hostname - extraContent = append(extraContent, []byte(config.LogsAgent.GetString("hostname"))...) + extraContent = append(extraContent, []byte(config.GetHostname())...) extraContent = append(extraContent, ' ') // Service From 50fdaadd1527ef789ade942c5206e2c2a466b736 Mon Sep 17 00:00:00 2001 From: Alexandre Jacquemot Date: Mon, 8 Jan 2018 22:49:10 +0100 Subject: [PATCH 16/25] [Logs] Removed custom logic to compute hostname and use the agent one instead (#1025) --- pkg/logs/config/config.go | 30 +++--------------------------- pkg/logs/config/config_test.go | 18 ------------------ pkg/logs/processor/processor.go | 9 ++++++++- 3 files changed, 11 insertions(+), 46 deletions(-) diff --git a/pkg/logs/config/config.go b/pkg/logs/config/config.go index 84cef2cebcbd1..946e7f68eda4e 100644 --- a/pkg/logs/config/config.go +++ b/pkg/logs/config/config.go @@ -6,13 +6,7 @@ package config import ( - "strings" - ddconfig "github.com/DataDog/datadog-agent/pkg/config" - "github.com/DataDog/datadog-agent/pkg/util" - - log "github.com/cihub/seelog" - "github.com/spf13/viper" ) // LogsAgent is the global configuration object @@ -20,15 +14,9 @@ var LogsAgent = ddconfig.Datadog // private configuration properties var ( - hostname string logsSources []*IntegrationConfigLogSource ) -// GetHostname returns logs-agent hostname -func GetHostname() string { - return hostname -} - // GetLogsSources returns the list of logs sources func GetLogsSources() []*IntegrationConfigLogSource { return logsSources @@ -41,20 +29,8 @@ func Build() error { return err } logsSources = sources - hostname = buildHostname(LogsAgent) - return nil -} - -// buildHostname computes the hostname for logs-agent -func buildHostname(config *viper.Viper) string { - configHostname := config.GetString("hostname") - if strings.TrimSpace(configHostname) == "" { - hostname, err := util.GetHostname() - if err != nil { - log.Warn(err) - hostname = "unknown" - } - return hostname + if err != nil { + return err } - return configHostname + return nil } diff --git a/pkg/logs/config/config_test.go b/pkg/logs/config/config_test.go index 50ef78b4c2377..50d777a15c782 100644 --- a/pkg/logs/config/config_test.go +++ b/pkg/logs/config/config_test.go @@ -8,7 +8,6 @@ package config import ( "testing" - "github.com/spf13/viper" "github.com/stretchr/testify/assert" ) @@ -21,20 +20,3 @@ func TestLogsAgentDefaultValues(t *testing.T) { assert.Equal(t, false, LogsAgent.GetBool("log_enabled")) assert.Equal(t, 100, LogsAgent.GetInt("log_open_files_limit")) } - -func TestBuildHostname(t *testing.T) { - var config = viper.New() - var hostname string - - hostname = buildHostname(config) - assert.NotEqual(t, "", hostname) - - config.SetDefault("hostname", "\t \n") - hostname = buildHostname(config) - assert.NotEqual(t, "\t \n", hostname) - assert.NotEqual(t, "", hostname) - - config.SetDefault("hostname", "foo") - hostname = buildHostname(config) - assert.Equal(t, "foo", hostname) -} diff --git a/pkg/logs/processor/processor.go b/pkg/logs/processor/processor.go index 23aa6d159878a..d71a5f76386d6 100644 --- a/pkg/logs/processor/processor.go +++ b/pkg/logs/processor/processor.go @@ -9,6 +9,8 @@ import ( "fmt" "time" + "github.com/DataDog/datadog-agent/pkg/util" + "github.com/DataDog/datadog-agent/pkg/logs/config" "github.com/DataDog/datadog-agent/pkg/logs/message" ) @@ -91,7 +93,12 @@ func (p *Processor) computeExtraContent(msg message.Message) []byte { extraContent = append(extraContent, ' ') // Hostname - extraContent = append(extraContent, []byte(config.GetHostname())...) + hostname, err := util.GetHostname() + if err != nil { + // this scenario is not likely to happen since the agent can not start without a hostname + hostname = "unknown" + } + extraContent = append(extraContent, []byte(hostname)...) extraContent = append(extraContent, ' ') // Service From 64f8f31daf7a2d89f289e31f73692bb5d92ec4cf Mon Sep 17 00:00:00 2001 From: maxime mouial Date: Tue, 9 Jan 2018 02:39:39 -0500 Subject: [PATCH 17/25] Check that a releasenote was added (or edited) for the PR (#1019) --- ...aking-reno-mandatory-96b8e3f2804c46ec.yaml | 6 +++++ tasks/test.py | 22 +++++++++++++++++++ 2 files changed, 28 insertions(+) create mode 100644 releasenotes/notes/making-reno-mandatory-96b8e3f2804c46ec.yaml diff --git a/releasenotes/notes/making-reno-mandatory-96b8e3f2804c46ec.yaml b/releasenotes/notes/making-reno-mandatory-96b8e3f2804c46ec.yaml new file mode 100644 index 0000000000000..889ee4b3918da --- /dev/null +++ b/releasenotes/notes/making-reno-mandatory-96b8e3f2804c46ec.yaml @@ -0,0 +1,6 @@ +--- +features: + - | + Reno and releasenotes are now mandatory. A test will fail if no + releasenotes where added/updated to the PR. A 'noreno' label can be added + to the PR to skip this test. diff --git a/tasks/test.py b/tasks/test.py index 74d227f5112ca..935af4ef9c8c9 100644 --- a/tasks/test.py +++ b/tasks/test.py @@ -8,6 +8,7 @@ import invoke from invoke import task +from invoke.exceptions import Exit from .utils import pkg_config_path, get_version from .go import fmt, lint, vet, misspell, ineffassign @@ -123,6 +124,27 @@ def lint_releasenote(ctx): """ Lint release notes with Reno """ + + # checking if a releasenote has been added/changed + pr_url = os.environ.get("CIRCLE_PULL_REQUEST") + if pr_url: + import requests + pr_id = pr_url.rsplit('/')[-1] + + # first check 'noreno' label + res = requests.get("https://api.github.com/repos/DataDog/datadog-agent/issues/{}".format(pr_id)) + issue = res.json() + if any([l['name'] == 'noreno' for l in issue.get('labels', {})]): + print("'noreno' label found on the PR: skipping linting") + return + + # Then check that at least one note was touched by the PR + res = requests.get("https://api.github.com/repos/DataDog/datadog-agent/pulls/{}/files".format(pr_id)) + files = res.json() + if not any([f['filename'].startswith("releasenotes/notes/") for f in files]): + print("Error: No releasenote was found for this PR. Please add one using 'reno'.") + raise Exit(1) + ctx.run("reno lint") @task From d647a994cbc3fc00e4a4e0d4130ec286d699ae15 Mon Sep 17 00:00:00 2001 From: maxime mouial Date: Tue, 9 Jan 2018 02:45:31 -0500 Subject: [PATCH 18/25] Add option to force TLS version in the agent to 1.2 (#1026) --- pkg/config/config.go | 4 ++++ pkg/config/config_template.yaml | 4 ++++ pkg/util/common.go | 12 +++++++--- pkg/util/common_test.go | 24 +++++++++++++++++++ .../notes/force-tls-12-db1564c0c1313d32.yaml | 5 ++++ 5 files changed, 46 insertions(+), 3 deletions(-) create mode 100644 releasenotes/notes/force-tls-12-db1564c0c1313d32.yaml diff --git a/pkg/config/config.go b/pkg/config/config.go index a455103cbcddf..a20a2c47d786e 100644 --- a/pkg/config/config.go +++ b/pkg/config/config.go @@ -88,6 +88,10 @@ func init() { Datadog.SetDefault("enable_gohai", true) Datadog.SetDefault("check_runners", int64(0)) Datadog.SetDefault("expvar_port", "5000") + + // Use to force client side TLS version to 1.2 + BindEnvAndSetDefault("force_tls_12", false) + // Agent GUI access port Datadog.SetDefault("GUI_port", defaultGuiPort) if IsContainerized() { diff --git a/pkg/config/config_template.yaml b/pkg/config/config_template.yaml index 4da7bb5105648..49df0f109dbe1 100644 --- a/pkg/config/config_template.yaml +++ b/pkg/config/config_template.yaml @@ -24,6 +24,10 @@ api_key: # https://github.com/DataDog/dd-agent/wiki/Proxy-Configuration#using-haproxy-as-a-proxy # skip_ssl_validation: no +# Setting this option to "yes" will force the agent to only use TLS 1.2 when +# pushing data to the url specified in "dd_url". +# force_tls_12: no + # Force the hostname to whatever you want. (default: auto-detected) # hostname: mymachine.mydomain diff --git a/pkg/util/common.go b/pkg/util/common.go index b18283edaad57..711fc46dbab0e 100644 --- a/pkg/util/common.go +++ b/pkg/util/common.go @@ -112,10 +112,16 @@ func GetProxyTransportFunc(p *config.Proxy) func(*http.Request) (*url.URL, error // CreateHTTPTransport creates an *http.Transport for use in the agent func CreateHTTPTransport() *http.Transport { + tlsConfig := &tls.Config{ + InsecureSkipVerify: config.Datadog.GetBool("skip_ssl_validation"), + } + + if config.Datadog.GetBool("force_tls_12") { + tlsConfig.MinVersion = tls.VersionTLS12 + } + transport := &http.Transport{ - TLSClientConfig: &tls.Config{ - InsecureSkipVerify: config.Datadog.GetBool("skip_ssl_validation"), - }, + TLSClientConfig: tlsConfig, } if proxies := config.Datadog.Get("proxy"); proxies != nil { diff --git a/pkg/util/common_test.go b/pkg/util/common_test.go index 0988c2a584c5b..6cb6015b14f97 100644 --- a/pkg/util/common_test.go +++ b/pkg/util/common_test.go @@ -1,6 +1,7 @@ package util import ( + "crypto/tls" "encoding/json" "fmt" "io/ioutil" @@ -133,3 +134,26 @@ func TestJSONConverter(t *testing.T) { _, err := json.Marshal(GetJSONSerializableMap(j)) assert.Nil(t, err) } + +func TestCreateHTTPTransport(t *testing.T) { + skipSSL := config.Datadog.GetBool("skip_ssl_validation") + forceTLS := config.Datadog.GetBool("force_tls_12") + defer config.Datadog.Set("skip_ssl_validation", skipSSL) + defer config.Datadog.Set("force_tls_12", forceTLS) + + config.Datadog.Set("skip_ssl_validation", false) + config.Datadog.Set("force_tls_12", false) + transport := CreateHTTPTransport() + assert.False(t, transport.TLSClientConfig.InsecureSkipVerify) + assert.Equal(t, transport.TLSClientConfig.MinVersion, uint16(0)) + + config.Datadog.Set("skip_ssl_validation", true) + transport = CreateHTTPTransport() + assert.True(t, transport.TLSClientConfig.InsecureSkipVerify) + assert.Equal(t, transport.TLSClientConfig.MinVersion, uint16(0)) + + config.Datadog.Set("force_tls_12", true) + transport = CreateHTTPTransport() + assert.True(t, transport.TLSClientConfig.InsecureSkipVerify) + assert.Equal(t, transport.TLSClientConfig.MinVersion, uint16(tls.VersionTLS12)) +} diff --git a/releasenotes/notes/force-tls-12-db1564c0c1313d32.yaml b/releasenotes/notes/force-tls-12-db1564c0c1313d32.yaml new file mode 100644 index 0000000000000..9f7415f741745 --- /dev/null +++ b/releasenotes/notes/force-tls-12-db1564c0c1313d32.yaml @@ -0,0 +1,5 @@ +--- +features: + - | + Add a new option, `force_tls_12`, to the agent configuration to force the + TLS version to 1.2 when contactin Datatog. From ba8093e1153ffccdcc07eabf72ca9aca8906066f Mon Sep 17 00:00:00 2001 From: shangwang Date: Tue, 9 Jan 2018 09:14:46 -0500 Subject: [PATCH 19/25] [proc] fixed rancherOS cgroup mountpoint detection (#999) * [proc] fixed rancherOS cgroup mountpoint detection * Revert "[proc] fixed rancherOS cgroup mountpoint detection" This reverts commit b102600109e0b7d3e65092b1943ca78a81a5e0e6. * [proc] added functionality to handle dind container case * [proc] added test for dind container * [proc] used TempDir for testing directory * [proc] fixed lint error * [proc] added docker build tag to skip testing on windows * [proc] added common_test.go with docker build tag to avoid errors * [proc] split cgroup linux test to separate file to avoid test fails --- pkg/util/docker/cgroup.go | 16 +++++++++++++++- pkg/util/docker/cgroup_linux_test.go | 27 +++++++++++++++++++++++++++ pkg/util/docker/common_test.go | 21 +++++++++++++++++++++ 3 files changed, 63 insertions(+), 1 deletion(-) create mode 100644 pkg/util/docker/cgroup_linux_test.go diff --git a/pkg/util/docker/cgroup.go b/pkg/util/docker/cgroup.go index 6bd981b0041d8..7fdeea8169c31 100644 --- a/pkg/util/docker/cgroup.go +++ b/pkg/util/docker/cgroup.go @@ -30,6 +30,9 @@ var ( containerRe = regexp.MustCompile("[0-9a-f]{64}") // ErrMissingTarget is an error set when a cgroup target is missing. ErrMissingTarget = errors.New("Missing cgroup target") + // dindCgroupRe represents the cgroup pattern that the container runs inside a dind container, + // the second capturing group is the correct path we need for cgroup path + dindCgroupRe = regexp.MustCompile("^\\/docker\\/[0-9a-f]{64}(\\/docker\\/[0-9a-f]{64})") ) // NanoToUserHZDivisor holds the divisor to convert cpu.usage to the @@ -411,7 +414,18 @@ func (c ContainerCgroup) cgroupFilePath(target, file string) string { log.Errorf("missing target %s from paths", target) return "" } - + // sometimes the container is running inside a "dind container" instead of directly on the host, + // we need to cover that case if the default full path doesn't exist + // the dind container cgroup format looks like: + // + // "/docker/$dind_container_id/docker/$container_id" + // + // and the actual cgroup path for that case is "docker/$container_id" + if !pathExists(filepath.Join(mount, targetPath, file)) { + if dindCgroupRe.MatchString(targetPath) { + targetPath = dindCgroupRe.FindStringSubmatch(targetPath)[1] + } + } return filepath.Join(mount, targetPath, file) } diff --git a/pkg/util/docker/cgroup_linux_test.go b/pkg/util/docker/cgroup_linux_test.go new file mode 100644 index 0000000000000..f1556a75f1c42 --- /dev/null +++ b/pkg/util/docker/cgroup_linux_test.go @@ -0,0 +1,27 @@ +// Unless explicitly stated otherwise all files in this repository are licensed +// under the Apache License Version 2.0. +// This product includes software developed at Datadog (https://www.datadoghq.com/). +// Copyright 2018 Datadog, Inc. + +// +build docker + +package docker + +import ( + "testing" + + "github.com/stretchr/testify/assert" +) + +// TestDindContainer is to test if our agent can handle dind container correctly +func TestDindContainer(t *testing.T) { + containerID := "6ab998413f7ae63bb26403dfe9e7ec02aa92b5cfc019de79da925594786c985f" + tempFolder, cgroup, err := newDindContainerCgroup("dind-container", "memory", containerID) + assert.NoError(t, err) + tempFolder.add("memory.limit_in_bytes", "1234") + defer tempFolder.removeAll() + + value, err := cgroup.MemLimit() + assert.NoError(t, err) + assert.Equal(t, value, uint64(1234)) +} diff --git a/pkg/util/docker/common_test.go b/pkg/util/docker/common_test.go index b51447fee7008..e80af6284d7b7 100644 --- a/pkg/util/docker/common_test.go +++ b/pkg/util/docker/common_test.go @@ -74,3 +74,24 @@ func newDummyContainerCgroup(rootPath string, targets ...string) *ContainerCgrou } return cgroup } + +func newDindContainerCgroup(namePrefix, target, containerID string) (*tempFolder, *ContainerCgroup, error) { + // first make a dir that matches the actual cgroup path(contains only one level of container id) + path, err := ioutil.TempDir("", namePrefix) + if err != nil { + return nil, nil, err + } + + actualPath := filepath.Join(path, "docker", containerID) + err = os.MkdirAll(actualPath, 0777) + if err != nil { + return nil, nil, err + } + t := &tempFolder{actualPath} + dindContainerID := "ada6d7f86865047ecbca0eedc44722173cf48c0ff7184a61ed56a80e7564bc0c" + return t, &ContainerCgroup{ + ContainerID: "dummy", + Mounts: map[string]string{target: path}, + Paths: map[string]string{target: filepath.Join("/docker", dindContainerID, "docker", containerID)}, + }, nil +} From e273b53beaf98ced284476f98b6a7dd7617f8adb Mon Sep 17 00:00:00 2001 From: Olivier Vielpeau Date: Tue, 9 Jan 2018 16:20:44 +0100 Subject: [PATCH 20/25] [packaging] Fix missing `dd-agent` script after upgrade (#1014) On upgrade, the postrm script would remove the `dd-agent` script from `/usr/bin/` because it still assumed it's a symlink that would be re-created in the postinst script, whereas now it's an actual file that's listed in the package's file list (and as such, we don't need to handle it in the install scripts, it gets installed/changed/removed automatically). --- omnibus/package-scripts/agent/postrm | 1 - 1 file changed, 1 deletion(-) diff --git a/omnibus/package-scripts/agent/postrm b/omnibus/package-scripts/agent/postrm index a11c8cecc0bc3..0454f108cf4da 100755 --- a/omnibus/package-scripts/agent/postrm +++ b/omnibus/package-scripts/agent/postrm @@ -14,7 +14,6 @@ CONFIG_DIR=/etc/datadog-agent # Remove the symlink to the binary. rm -f "/usr/bin/datadog-agent" -rm -f "/usr/bin/dd-agent" if [ -f "/etc/debian_version" ] || [ "$DISTRIBUTION" = "Debian" ] || [ "$DISTRIBUTION" = "Ubuntu" ]; then set -e From 159c9559e8b01ada2d10bad20833974b488fb152 Mon Sep 17 00:00:00 2001 From: Derek Brown Date: Tue, 9 Jan 2018 14:14:57 -0800 Subject: [PATCH 21/25] [Windows] explicitly sign binaries. (#1024) --- omnibus/config/projects/agent.rb | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/omnibus/config/projects/agent.rb b/omnibus/config/projects/agent.rb index dc712910eb180..39705d6cb958c 100644 --- a/omnibus/config/projects/agent.rb +++ b/omnibus/config/projects/agent.rb @@ -85,7 +85,10 @@ wix_candle_extension 'WixUtilExtension' wix_light_extension 'WixUtilExtension' extra_package_dir "#{Omnibus::Config.source_dir()}\\etc\\datadog-agent\\extra_package_files" - additional_sign_files ["#{Omnibus::Config.source_dir()}\\datadog-agent\\src\\github.com\\DataDog\\datadog-agent\\bin\\agent\\agent.exe"] + additional_sign_files [ + "#{install_dir}\\bin\\agent\\trace-agent.exe", + "#{Omnibus::Config.source_dir()}\\datadog-agent\\src\\github.com\\DataDog\\datadog-agent\\bin\\agent\\agent.exe" + ] if ENV['SIGN_WINDOWS'] signing_identity "ECCDAE36FDCB654D2CBAB3E8975AA55469F96E4C", machine_store: true, algorithm: "SHA256" end From 5c1a7cad35517e0fc645e2740c5e140cf1e979d4 Mon Sep 17 00:00:00 2001 From: Alexandre Jacquemot Date: Tue, 9 Jan 2018 17:43:27 -0500 Subject: [PATCH 22/25] [Logs] Prevent from sending empty logs with multilines and reorganized code (#1027) --- pkg/logs/decoder/line_buffer.go | 51 ++++++++------------- pkg/logs/decoder/line_handler.go | 64 ++++++++++++++------------- pkg/logs/decoder/line_handler_test.go | 24 +++++++--- pkg/logs/processor/processor.go | 2 +- 4 files changed, 72 insertions(+), 69 deletions(-) diff --git a/pkg/logs/decoder/line_buffer.go b/pkg/logs/decoder/line_buffer.go index 0decb2735a574..a5a3a4c3124a4 100644 --- a/pkg/logs/decoder/line_buffer.go +++ b/pkg/logs/decoder/line_buffer.go @@ -10,37 +10,33 @@ import ( ) // LineBuffer accumulates lines in buffer escaping all '\n' -// and accumulates the total number of bytes of all lines in line representation (line + '\n') in contentLen -// to form and forward outputs to outputChan +// and accumulates the total number of bytes of all lines in line representation (line + '\n') in rawDataLen type LineBuffer struct { - outputChan chan *Output buffer *bytes.Buffer - contentLen int + rawDataLen int } // NewLineBuffer returns a new LineBuffer -func NewLineBuffer(outputChan chan *Output) *LineBuffer { - buffer := bytes.Buffer{} +func NewLineBuffer() *LineBuffer { return &LineBuffer{ - outputChan: outputChan, - buffer: &buffer, + buffer: &bytes.Buffer{}, } } // IsEmpty returns true if buffer does not contain any line func (l *LineBuffer) IsEmpty() bool { - return l.contentLen == 0 + return l.rawDataLen == 0 } -// Length returns the length of buffer which might be different from contentLen because of escaped '\n' +// Length returns the length of buffer which might be different from rawDataLen because of escaped '\n' func (l *LineBuffer) Length() int { return l.buffer.Len() } // Add stores line in buffer -func (l *LineBuffer) Add(line *Line) { - l.buffer.Write(line.content) - l.contentLen += len(line.content) + 1 // add 1 for '\n' +func (l *LineBuffer) Add(line []byte) { + l.buffer.Write(line) + l.rawDataLen += len(line) + 1 // add 1 for '\n' } // AddEndOfLine stores an escaped '\n' in buffer @@ -49,34 +45,25 @@ func (l *LineBuffer) AddEndOfLine() { } // AddIncompleteLine stores a chunck of line in buff -func (l *LineBuffer) AddIncompleteLine(line *Line) { - l.buffer.Write(line.content) - l.contentLen += len(line.content) +func (l *LineBuffer) AddIncompleteLine(line []byte) { + l.buffer.Write(line) + l.rawDataLen += len(line) } // AddTruncate stores TRUNCATED in buffer -func (l *LineBuffer) AddTruncate(line *Line) { +func (l *LineBuffer) AddTruncate(line []byte) { l.buffer.Write(TRUNCATED) } -// Flush creates a new output from content in buffer and sends it to outputChan -func (l *LineBuffer) Flush() { - defer l.reset() +// Content returns the content in buffer and the length of the data that enabled to compute this content +func (l *LineBuffer) Content() ([]byte, int) { content := make([]byte, l.buffer.Len()) copy(content, l.buffer.Bytes()) - if len(content) > 0 { - output := NewOutput(content, l.contentLen) - l.outputChan <- output - } -} - -// Stop forwards stop event to outputChan -func (l *LineBuffer) Stop() { - l.outputChan <- newStopOutput() + return content, l.rawDataLen } -// reset prepares buffer to receive new lines -func (l *LineBuffer) reset() { - l.contentLen = 0 +// Reset prepares buffer to receive new lines +func (l *LineBuffer) Reset() { + l.rawDataLen = 0 l.buffer.Reset() } diff --git a/pkg/logs/decoder/line_handler.go b/pkg/logs/decoder/line_handler.go index d39df385f48bc..ebfe320f61c71 100644 --- a/pkg/logs/decoder/line_handler.go +++ b/pkg/logs/decoder/line_handler.go @@ -15,18 +15,6 @@ import ( // TRUNCATED is the warning we add at the beginning or/and at the end of a truncated message var TRUNCATED = []byte("...TRUNCATED...") -// Line represents content separated by two '\n' -type Line struct { - content []byte -} - -// newLine returns a new Line -func newLine(content []byte) *Line { - return &Line{ - content: content, - } -} - // LineHandler handles byte slices to form line output type LineHandler interface { Handle(content []byte) @@ -35,14 +23,14 @@ type LineHandler interface { // SingleLineHandler creates and forward outputs to outputChan from single-lines type SingleLineHandler struct { - lineChan chan *Line + lineChan chan []byte outputChan chan *Output shouldTruncate bool } // NewSingleLineHandler returns a new SingleLineHandler func NewSingleLineHandler(outputChan chan *Output) *SingleLineHandler { - lineChan := make(chan *Line) + lineChan := make(chan []byte) lineHandler := SingleLineHandler{ lineChan: lineChan, outputChan: outputChan, @@ -54,7 +42,7 @@ func NewSingleLineHandler(outputChan chan *Output) *SingleLineHandler { // Handle trims leading and trailing whitespaces from content, // and sends it as a new Line to lineChan. func (lh *SingleLineHandler) Handle(content []byte) { - lh.lineChan <- newLine(bytes.TrimSpace(content)) + lh.lineChan <- bytes.TrimSpace(content) } // Stop stops the handler from processing new lines @@ -72,8 +60,8 @@ func (lh *SingleLineHandler) start() { // process creates outputs from lines and forwards them to outputChan // When lines are too long, they are truncated -func (lh *SingleLineHandler) process(line *Line) { - lineLen := len(line.content) +func (lh *SingleLineHandler) process(line []byte) { + lineLen := len(line) if lineLen == 0 { return } @@ -81,11 +69,11 @@ func (lh *SingleLineHandler) process(line *Line) { var content []byte if lh.shouldTruncate { // add TRUNCATED at the beginning of content - content = append(TRUNCATED, line.content...) + content = append(TRUNCATED, line...) lh.shouldTruncate = false } else { // keep content the same - content = line.content + content = line } if lineLen < contentLenLimit { @@ -108,7 +96,8 @@ const flushTimeout = 1 * time.Second // MultiLineLineHandler reads lines from lineChan and uses lineBuffer to send them // when a new line matches with re or flushTimer is fired type MultiLineLineHandler struct { - lineChan chan *Line + lineChan chan []byte + outputChan chan *Output lineBuffer *LineBuffer newContentRe *regexp.Regexp flushTimer *time.Timer @@ -118,11 +107,12 @@ type MultiLineLineHandler struct { // NewMultiLineLineHandler returns a new MultiLineLineHandler func NewMultiLineLineHandler(outputChan chan *Output, newContentRe *regexp.Regexp) *MultiLineLineHandler { - lineChan := make(chan *Line) - lineBuffer := NewLineBuffer(outputChan) + lineChan := make(chan []byte) + lineBuffer := NewLineBuffer() flushTimer := time.NewTimer(flushTimeout) lineHandler := MultiLineLineHandler{ lineChan: lineChan, + outputChan: outputChan, lineBuffer: lineBuffer, newContentRe: newContentRe, flushTimer: flushTimer, @@ -133,7 +123,7 @@ func NewMultiLineLineHandler(outputChan chan *Output, newContentRe *regexp.Regex // Handle forward lines to lineChan to process them func (lh *MultiLineLineHandler) Handle(content []byte) { - lh.lineChan <- newLine(content) + lh.lineChan <- content } // Stop stops the lineHandler from processing lines @@ -170,35 +160,47 @@ func (lh *MultiLineLineHandler) run() { func (lh *MultiLineLineHandler) handleExpiration() { for range lh.flushTimer.C { lh.mu.Lock() - lh.lineBuffer.Flush() + lh.sendContent() lh.mu.Unlock() if lh.shouldStop { break } } - lh.lineBuffer.Stop() + lh.outputChan <- newStopOutput() } // process accumulates lines in lineBuffer and flushes lineBuffer when a new line matches with newContentRe // When lines are too long, they are truncated -func (lh *MultiLineLineHandler) process(line *Line) { - if lh.newContentRe.Match(line.content) { - // send content in lineBuffer - lh.lineBuffer.Flush() +func (lh *MultiLineLineHandler) process(line []byte) { + if lh.newContentRe.Match(line) { + // send content from lineBuffer + lh.sendContent() } if !lh.lineBuffer.IsEmpty() { // add '\n' to content in lineBuffer lh.lineBuffer.AddEndOfLine() } - if len(line.content)+lh.lineBuffer.Length() < contentLenLimit { + if len(line)+lh.lineBuffer.Length() < contentLenLimit { // add line to content in lineBuffer lh.lineBuffer.Add(line) } else { // add line and truncate and flush content in lineBuffer lh.lineBuffer.AddIncompleteLine(line) lh.lineBuffer.AddTruncate(line) - lh.lineBuffer.Flush() + // send content from lineBuffer + lh.sendContent() // truncate next content lh.lineBuffer.AddTruncate(line) } } + +// sendContent forwards the content from lineBuffer to outputChan +func (lh *MultiLineLineHandler) sendContent() { + defer lh.lineBuffer.Reset() + content, rawDataLen := lh.lineBuffer.Content() + content = bytes.TrimSpace(content) + if len(content) > 0 { + output := NewOutput(content, rawDataLen) + lh.outputChan <- output + } +} diff --git a/pkg/logs/decoder/line_handler_test.go b/pkg/logs/decoder/line_handler_test.go index f25845e7c5d45..4da2d2deb3402 100644 --- a/pkg/logs/decoder/line_handler_test.go +++ b/pkg/logs/decoder/line_handler_test.go @@ -6,19 +6,33 @@ package decoder import ( + "regexp" "testing" "github.com/stretchr/testify/assert" ) +// All valid whitespace characters +const whitespace = "\t\n\v\f\r\u0085\u00a0 " + func TestTrimSingleLine(t *testing.T) { outChan := make(chan *Output, 10) h := NewSingleLineHandler(outChan) var out *Output - // All valid whitespace characters - whitespace := "\t\n\v\f\r\u0085\u00a0 " + // All leading and trailing whitespace characters should be trimmed + h.Handle([]byte(whitespace + "foo" + whitespace + "bar" + whitespace)) + out = <-outChan + assert.Equal(t, "foo"+whitespace+"bar", string(out.Content)) +} + +func TestTrimMultiLine(t *testing.T) { + re := regexp.MustCompile("[0-9]+\\.") + outChan := make(chan *Output, 10) + h := NewMultiLineLineHandler(outChan, re) + + var out *Output // All leading and trailing whitespace characters should be trimmed h.Handle([]byte(whitespace + "foo" + whitespace + "bar" + whitespace)) @@ -26,8 +40,8 @@ func TestTrimSingleLine(t *testing.T) { assert.Equal(t, "foo"+whitespace+"bar", string(out.Content)) // With line break - h.Handle([]byte(" foo \n bar ")) + h.Handle([]byte(whitespace + "foo" + whitespace)) + h.Handle([]byte("bar" + whitespace)) out = <-outChan - assert.Equal(t, "foo \n bar", string(out.Content)) - + assert.Equal(t, "foo"+whitespace+"\\n"+"bar", string(out.Content)) } diff --git a/pkg/logs/processor/processor.go b/pkg/logs/processor/processor.go index d71a5f76386d6..05d3936e1d4dd 100644 --- a/pkg/logs/processor/processor.go +++ b/pkg/logs/processor/processor.go @@ -136,7 +136,7 @@ func (p *Processor) buildPayload(apikeyString, redactedMessage, extraContent []b payload = append(payload, extraContent...) } payload = append(payload, redactedMessage...) - payload = append(payload, '\n') // TODO: move this in decoder + payload = append(payload, '\n') return payload } From 6bea4681f1a142a8ef365b63bd7b1b51bc949dd0 Mon Sep 17 00:00:00 2001 From: Olivier Vielpeau Date: Tue, 9 Jan 2018 19:18:59 -0500 Subject: [PATCH 23/25] [flare][windows] Fix collection of log files (#1032) Use `path/filepath` instead of `path` for filepath handling. `path` is not meant to be used with file paths since it always uses forward slashes as the path separator (which doesn't work on windows). --- pkg/flare/archive.go | 5 ++--- pkg/flare/strip_test.go | 4 ++-- .../notes/fix-flare-windows-logs-2dd7edd39b6db96e.yaml | 4 ++++ 3 files changed, 8 insertions(+), 5 deletions(-) create mode 100644 releasenotes/notes/fix-flare-windows-logs-2dd7edd39b6db96e.yaml diff --git a/pkg/flare/archive.go b/pkg/flare/archive.go index 39b3ea70704e7..a7d6edb1e1044 100644 --- a/pkg/flare/archive.go +++ b/pkg/flare/archive.go @@ -11,7 +11,6 @@ import ( "encoding/json" "expvar" "os" - "path" "path/filepath" "strings" "time" @@ -109,7 +108,7 @@ func zipStatusFile(zipFile *archivex.ZipFile, hostname string) error { } func zipLogFiles(zipFile *archivex.ZipFile, hostname, logFilePath string) error { - logFileDir := path.Dir(logFilePath) + logFileDir := filepath.Dir(logFilePath) err := filepath.Walk(logFileDir, func(path string, f os.FileInfo, err error) error { if f == nil { return nil @@ -259,6 +258,6 @@ func mkFilePath() string { timeString := t.Format("2006-01-02-15-04-05") fileName := strings.Join([]string{"datadog", "agent", timeString}, "-") fileName = strings.Join([]string{fileName, "zip"}, ".") - filePath := path.Join(dir, fileName) + filePath := filepath.Join(dir, fileName) return filePath } diff --git a/pkg/flare/strip_test.go b/pkg/flare/strip_test.go index 5e6e94ab165c0..436b5a8171f5b 100644 --- a/pkg/flare/strip_test.go +++ b/pkg/flare/strip_test.go @@ -7,7 +7,7 @@ package flare import ( "os" - "path" + "path/filepath" "testing" "github.com/stretchr/testify/assert" @@ -47,7 +47,7 @@ log_level: info ` wd, _ := os.Getwd() - filePath := path.Join(wd, "test", "datadog.yaml") + filePath := filepath.Join(wd, "test", "datadog.yaml") cleaned, err := credentialsCleanerFile(filePath) assert.Nil(t, err) cleanedString := string(cleaned) diff --git a/releasenotes/notes/fix-flare-windows-logs-2dd7edd39b6db96e.yaml b/releasenotes/notes/fix-flare-windows-logs-2dd7edd39b6db96e.yaml new file mode 100644 index 0000000000000..0d06ff63b8c3d --- /dev/null +++ b/releasenotes/notes/fix-flare-windows-logs-2dd7edd39b6db96e.yaml @@ -0,0 +1,4 @@ +--- +fixes: + - | + Fix path of logs collected by flare on Windows, was breaking flare command From 7c7818ec594738adccc6b1ba64bd53c5e6c04877 Mon Sep 17 00:00:00 2001 From: Ofek Lev Date: Wed, 10 Jan 2018 10:29:21 -0500 Subject: [PATCH 24/25] [flare] Rename config file dumped from memory (#1028) --- pkg/flare/archive.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/flare/archive.go b/pkg/flare/archive.go index a7d6edb1e1044..3f7be0af8ff1b 100644 --- a/pkg/flare/archive.go +++ b/pkg/flare/archive.go @@ -166,7 +166,7 @@ func zipConfigFiles(zipFile *archivex.ZipFile, hostname string, confSearchPaths if err != nil { return err } - err = zipFile.Add(filepath.Join(hostname, "datadog.yaml"), cleaned) + err = zipFile.Add(filepath.Join(hostname, "runtime_config_dump.yaml"), cleaned) if err != nil { return err } From 5cccafa56cd77fe173988a5f0bb52cf9dbc6531f Mon Sep 17 00:00:00 2001 From: Olivier Vielpeau Date: Wed, 10 Jan 2018 16:30:05 -0500 Subject: [PATCH 25/25] [release notes] Catch up for beta.8 (#1038) Add all the notes of the `beta.8` PRs that didn't include notes. --- .../notes/beta-8-catchup-594571ea1a9ff021.yaml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 releasenotes/notes/beta-8-catchup-594571ea1a9ff021.yaml diff --git a/releasenotes/notes/beta-8-catchup-594571ea1a9ff021.yaml b/releasenotes/notes/beta-8-catchup-594571ea1a9ff021.yaml new file mode 100644 index 0000000000000..2c24460d673c4 --- /dev/null +++ b/releasenotes/notes/beta-8-catchup-594571ea1a9ff021.yaml @@ -0,0 +1,17 @@ +--- +features: + - Logs-agent now runs as a goroutine in the main agent process + - All docker event subscribers are multiplexed in one connection, reduces stress on the docker daemon + - The Agent can find relevant listeners on its host by using the "auto" listener, for now only docker is supported +fixes: + - "[logs] Fix an issue when the hostname was not provided in datadog.yaml: the logs-agent logic uses the same hostname as the main agent" + - "[logs] Trim spaces from single lines" + - Fix missing fields in forwarder logging entries + - Fix RancherOS cgroup mountpoint detection + - "[linux packaging] Fix missing dd-agent script after upgrade, the fix will take effect on a fresh install of '>= beta.8' or upgrade from '>= beta.8'" + - "[logs] Do not send empty logs with multilines" + - "[flare] Fix command on Windows by fixing path of collected log files" +other: + - Remove resversion handling from podwatcher, as it's unused + - Refactor corecheck boilerplate in CheckBase + - "[flare] Rename config file dumped from memory"