From 3368aae8292a3ebf2ec1dc9cac380c71fd7a660d Mon Sep 17 00:00:00 2001 From: Jay Clifford Date: Thu, 13 Apr 2023 17:32:58 +0100 Subject: [PATCH 01/37] added grafana --- .gitignore | 2 ++ demo/docker-compose.yml | 34 ++++++++++++++++++-------- demo/grafana/datasources/flightsql.yml | 20 +++++++++++++++ demo/otelcol-config.yml | 6 ++--- 4 files changed, 49 insertions(+), 13 deletions(-) create mode 100644 demo/grafana/datasources/flightsql.yml diff --git a/.gitignore b/.gitignore index 3c549bd2..aa875864 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,4 @@ local/ +plugins +.env \ No newline at end of file diff --git a/demo/docker-compose.yml b/demo/docker-compose.yml index 73aecc3a..bc951d12 100644 --- a/demo/docker-compose.yml +++ b/demo/docker-compose.yml @@ -26,17 +26,11 @@ services: image: jaeger-influxdb:local stop_grace_period: 10s environment: - LOG_LEVEL: info + LOG_LEVEL: debug LISTEN_ADDR: :17271 INFLUXDB_TIMEOUT: 30s - # required: hostname or hostname:port - INFLUXDB_ADDR: stag-us-east-1-4.aws.cloud2.influxdata.com - # required: bucket name - INFLUXDB_BUCKET: otel - # optional: bucket name for archived traces - INFLUXDB_BUCKET_ARCHIVE: - # required - INFLUXDB_TOKEN: 7s1xK6thz8r7YNVRk94JEKEFQVA7WDsOHaeSFBHVrPoxYsu1IfWee-vDZhj20O6qB_E2qAILz2cZ1QJlZIM3oA== + env_file: + - .env hotrod: build: @@ -57,8 +51,28 @@ services: context: . dockerfile: otelcol-influxdb/Dockerfile image: otelcol-influxdb:local -# image: otel/opentelemetry-collector-contrib:0.74.0 command: [ "--config", "/config.yml" ] stop_grace_period: 10s volumes: - ./demo/otelcol-config.yml:/config.yml:ro + env_file: + - .env + + grafana: + image: grafana/grafana:latest + ports: + - 3000:3000 + environment: + - GF_INSTALL_PLUGINS=grafana-clock-panel,grafana-simple-json-datasource + - GF_PLUGINS_ALLOW_LOADING_UNSIGNED_PLUGINS=influxdata-flightsql-datasource + - INFLUX_HOST=${INFLUXDB_ADDR} + - INFLUX_TOKEN=${INFLUXDB_TOKEN} + - INFLUX_ORG=${INFLUXDB_ORG} + - INFLUX_BUCKET=${INFLUXDB_BUCKET} + volumes: + - ./demo/grafana/plugins/influxdata-flightsql-datasource:/var/lib/grafana/plugins/influxdata-flightsql-datasource + - ./demo/grafana/datasources:/etc/grafana/provisioning/datasources + - grafana:/var/lib/grafana/ + restart: always +volumes: + grafana: \ No newline at end of file diff --git a/demo/grafana/datasources/flightsql.yml b/demo/grafana/datasources/flightsql.yml new file mode 100644 index 00000000..ce23bd58 --- /dev/null +++ b/demo/grafana/datasources/flightsql.yml @@ -0,0 +1,20 @@ +apiVersion: 1 + +datasources: + - name: FlightSQL + type: influxdata-flightsql-datasource + typeName: FlightSQL + access: proxy + url: '' + user: '' + database: '' + basicAuth: false + isDefault: true + jsonData: + host: ${INFLUX_HOST}:443 + metadata: + - bucket-name: ${INFLUX_BUCKET} + secure: true + token: ${INFLUX_TOKEN} + readOnly: false + diff --git a/demo/otelcol-config.yml b/demo/otelcol-config.yml index 12c4c0e2..c2d5aede 100644 --- a/demo/otelcol-config.yml +++ b/demo/otelcol-config.yml @@ -27,9 +27,9 @@ processors: exporters: influxdb: - endpoint: https://stag-us-east-1-4.aws.cloud2.influxdata.com/ - bucket: otel - token: 7s1xK6thz8r7YNVRk94JEKEFQVA7WDsOHaeSFBHVrPoxYsu1IfWee-vDZhj20O6qB_E2qAILz2cZ1QJlZIM3oA== + endpoint: https://${INFLUXDB_ADDR}/ + bucket: ${INFLUXDB_BUCKET} + token: ${INFLUXDB_TOKEN} metrics_schema: otel-v1 service: From 1bee6fde1aadcb6b24a56499f7e58e727cf96ea0 Mon Sep 17 00:00:00 2001 From: Jay Clifford Date: Fri, 14 Apr 2023 13:58:08 +0100 Subject: [PATCH 02/37] Added dashboard --- .../Open Telemetry-1681476507079.json | 501 ++++++++++++++++++ demo/grafana/dashboards/dashboards.yml | 24 + 2 files changed, 525 insertions(+) create mode 100644 demo/grafana/dashboards/Open Telemetry-1681476507079.json create mode 100644 demo/grafana/dashboards/dashboards.yml diff --git a/demo/grafana/dashboards/Open Telemetry-1681476507079.json b/demo/grafana/dashboards/Open Telemetry-1681476507079.json new file mode 100644 index 00000000..1d1cbeb8 --- /dev/null +++ b/demo/grafana/dashboards/Open Telemetry-1681476507079.json @@ -0,0 +1,501 @@ +{ + "__inputs": [ + { + "name": "FlightSQL", + "label": "FlightSQL", + "description": "", + "type": "datasource", + "pluginId": "influxdata-flightsql-datasource", + "pluginName": "FlightSQL" + }, + { + "name": "Jaeger", + "label": "Jaeger", + "description": "", + "type": "datasource", + "pluginId": "jaeger", + "pluginName": "Jaeger" + } + ], + "__elements": {}, + "__requires": [ + { + "type": "panel", + "id": "barchart", + "name": "Bar chart", + "version": "" + }, + { + "type": "grafana", + "id": "grafana", + "name": "Grafana", + "version": "9.4.3" + }, + { + "type": "datasource", + "id": "influxdata-flightsql-datasource", + "name": "FlightSQL", + "version": "0.1.9" + }, + { + "type": "datasource", + "id": "jaeger", + "name": "Jaeger", + "version": "1.0.0" + }, + { + "type": "panel", + "id": "nodeGraph", + "name": "Node Graph", + "version": "" + }, + { + "type": "panel", + "id": "table", + "name": "Table", + "version": "" + }, + { + "type": "panel", + "id": "traces", + "name": "Traces", + "version": "" + } + ], + "annotations": { + "list": [ + { + "builtIn": 1, + "datasource": { + "type": "grafana", + "uid": "-- Grafana --" + }, + "enable": true, + "hide": true, + "iconColor": "rgba(0, 211, 255, 1)", + "name": "Annotations & Alerts", + "target": { + "limit": 100, + "matchAny": false, + "tags": [], + "type": "dashboard" + }, + "type": "dashboard" + } + ] + }, + "editable": true, + "fiscalYearStartMonth": 0, + "graphTooltip": 0, + "id": null, + "links": [], + "liveNow": false, + "panels": [ + { + "datasource": { + "type": "influxdata-flightsql-datasource", + "uid": "${FlightSQL}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false + }, + "links": [ + { + "title": "", + "url": "/d/${__dashboard.uid}?var-Service=${__value.raw}&from=${__url_time_from}&to=${__url_time_to}" + } + ], + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 10, + "w": 5, + "x": 0, + "y": 0 + }, + "id": 2, + "options": { + "footer": { + "countRows": false, + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": true, + "sortBy": [ + { + "desc": true, + "displayName": "service.name" + } + ] + }, + "pluginVersion": "9.4.3", + "targets": [ + { + "datasource": { + "type": "influxdata-flightsql-datasource", + "uid": "${FlightSQL}" + }, + "format": "table", + "queryText": "SELECT DISTINCT(\"service.name\") FROM \"spans\" WHERE $__timeRange(time)", + "rawEditor": true, + "rawQuery": true, + "refId": "A" + } + ], + "title": "Services", + "type": "table" + }, + { + "datasource": { + "type": "influxdata-flightsql-datasource", + "uid": "${FlightSQL}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "axisCenteredZero": false, + "axisColorMode": "text", + "axisLabel": "", + "axisPlacement": "auto", + "axisSoftMax": 81776000, + "fillOpacity": 80, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineWidth": 1, + "scaleDistribution": { + "type": "linear" + }, + "thresholdsStyle": { + "mode": "dashed" + } + }, + "links": [], + "mappings": [], + "thresholds": { + "mode": "percentage", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "blue", + "value": 30 + }, + { + "color": "dark-orange", + "value": 50 + }, + { + "color": "dark-red", + "value": 70 + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 10, + "w": 19, + "x": 5, + "y": 0 + }, + "id": 5, + "options": { + "barRadius": 0, + "barWidth": 0.3, + "colorByField": "duration_nano (lastNotNull)", + "fullHighlight": false, + "groupWidth": 0.7, + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + }, + "orientation": "auto", + "showValue": "auto", + "stacking": "none", + "text": { + "valueSize": 5 + }, + "tooltip": { + "mode": "single", + "sort": "none" + }, + "xField": "time", + "xTickLabelRotation": 0, + "xTickLabelSpacing": 100 + }, + "pluginVersion": "9.4.3", + "targets": [ + { + "datasource": { + "type": "influxdata-flightsql-datasource", + "uid": "${FlightSQL}" + }, + "format": "table", + "queryText": "SELECT \"duration_nano\", \"span_id\" ,time FROM \"spans\" WHERE $__timeRange(time) AND \"service.name\" = '$Service' order by time", + "rawEditor": true, + "rawQuery": true, + "refId": "A" + } + ], + "title": "Duration", + "transformations": [ + { + "id": "groupBy", + "options": { + "fields": { + "duration_nano": { + "aggregations": [ + "lastNotNull" + ], + "operation": "aggregate" + }, + "span_id": { + "aggregations": [], + "operation": "groupby" + }, + "time": { + "aggregations": [], + "operation": "groupby" + } + } + } + } + ], + "type": "barchart" + }, + { + "datasource": { + "type": "jaeger", + "uid": "${Jaeger}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "align": "auto", + "cellOptions": { + "type": "auto" + }, + "inspect": false + }, + "links": [], + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + } + }, + "overrides": [ + { + "matcher": { + "id": "byName", + "options": "Trace ID" + }, + "properties": [ + { + "id": "links", + "value": [ + { + "title": "Show Details", + "url": "/d/${__dashboard.uid}?var-TraceID=${__value.raw}&var-Service=${Service}&from=${__url_time_from}&to=${__url_time_to}" + } + ] + } + ] + } + ] + }, + "gridPos": { + "h": 14, + "w": 10, + "x": 0, + "y": 10 + }, + "id": 7, + "options": { + "footer": { + "countRows": false, + "fields": "", + "reducer": [ + "sum" + ], + "show": false + }, + "showHeader": true + }, + "pluginVersion": "9.4.3", + "targets": [ + { + "datasource": { + "type": "jaeger", + "uid": "${Jaeger}" + }, + "queryType": "search", + "refId": "A", + "service": "$Service" + } + ], + "title": "Traces", + "type": "table" + }, + { + "datasource": { + "type": "jaeger", + "uid": "${Jaeger}" + }, + "gridPos": { + "h": 14, + "w": 14, + "x": 10, + "y": 10 + }, + "id": 11, + "targets": [ + { + "datasource": { + "type": "jaeger", + "uid": "${Jaeger}" + }, + "query": "$TraceID", + "refId": "A" + } + ], + "title": "Relationships ", + "type": "nodeGraph" + }, + { + "datasource": { + "type": "jaeger", + "uid": "${Jaeger}" + }, + "gridPos": { + "h": 16, + "w": 24, + "x": 0, + "y": 24 + }, + "id": 9, + "targets": [ + { + "datasource": { + "type": "jaeger", + "uid": "${Jaeger}" + }, + "query": "$TraceID", + "refId": "A" + } + ], + "title": "Trace", + "type": "traces" + } + ], + "refresh": false, + "revision": 1, + "schemaVersion": 38, + "style": "dark", + "tags": [], + "templating": { + "list": [ + { + "current": { + "selected": false, + "text": "redis", + "value": "redis" + }, + "hide": 0, + "label": "Service", + "name": "Service", + "options": [ + { + "selected": true, + "text": "redis", + "value": "redis" + } + ], + "query": "redis", + "skipUrlSync": false, + "type": "textbox" + }, + { + "current": { + "selected": false, + "text": "", + "value": "" + }, + "hide": 0, + "label": "TraceID", + "name": "TraceID", + "options": [ + { + "selected": true, + "text": "", + "value": "" + } + ], + "query": "", + "skipUrlSync": false, + "type": "textbox" + } + ] + }, + "time": { + "from": "now-6h", + "to": "now" + }, + "timepicker": {}, + "timezone": "", + "title": "Open Telemetry", + "uid": "jJwDAiE4z", + "version": 25, + "weekStart": "" +} \ No newline at end of file diff --git a/demo/grafana/dashboards/dashboards.yml b/demo/grafana/dashboards/dashboards.yml new file mode 100644 index 00000000..5bb23170 --- /dev/null +++ b/demo/grafana/dashboards/dashboards.yml @@ -0,0 +1,24 @@ +apiVersion: 1 + +providers: + # an unique provider name. Required + - name: 'Open Telemetry' + # Org id. Default to 1 + orgId: 1 + # name of the dashboard folder. + folder: 'general' + # folder UID. will be automatically generated if not specified + folderUid: '' + # provider type. Default to 'file' + type: file + # disable dashboard deletion + disableDeletion: false + # how often Grafana will scan for changed dashboards + updateIntervalSeconds: 10 + # allow updating provisioned dashboards from the UI + allowUiUpdates: true + options: + # path to dashboard files on disk. Required when using the 'file' type + path: /etc/grafana/provisioning/dashboards + # use folder names from filesystem to create folders in Grafana + foldersFromFilesStructure: true \ No newline at end of file From b0f5b8230bfeab176df16c1c104bb400949843a8 Mon Sep 17 00:00:00 2001 From: Jay Clifford Date: Tue, 18 Apr 2023 12:07:24 +0100 Subject: [PATCH 03/37] Updated Readme --- README.md | 29 ++-- demo/docker-compose.yml | 1 - ...json => Open Telemetry-1681814438598.json} | 136 ++++++++++++++---- demo/grafana/dashboards/dashboards.yml | 24 ---- demo/grafana/datasources/flightsql.yml | 1 + demo/grafana/datasources/jaeger.yml | 19 +++ 6 files changed, 148 insertions(+), 62 deletions(-) rename demo/grafana/dashboards/{Open Telemetry-1681476507079.json => Open Telemetry-1681814438598.json} (80%) delete mode 100644 demo/grafana/dashboards/dashboards.yml create mode 100644 demo/grafana/datasources/jaeger.yml diff --git a/README.md b/README.md index 13086682..a70808c3 100644 --- a/README.md +++ b/README.md @@ -12,20 +12,20 @@ In demo/docker-compose.yml, set values for these keys. The key `INFLUXDB_BUCKET_ARCHIVE` is optional; if set, it should point to an InfluxDB bucket with longer retention policy than `INFLUXDB_BUCKET`, so that the "Archive Trace" button in Jaeger works properly: -```yaml -INFLUXDB_ADDR: -INFLUXDB_BUCKET: otel -INFLUXDB_BUCKET_ARCHIVE: otel-archive -INFLUXDB_TOKEN: -``` -In demo/otelcol-config.yml, set the similar values for these keys: -```yaml -endpoint: https://< region specific URL - https://region.csp.cloud2.influxdata.com/ > -bucket: otel -token: +The community addition focuses on the useability of the demo with Grafana. With this being said to improve demo setup we have introduced a `.env` file that will allow you to set the following variables: + +```bash +export INFLUXDB_ADDR=eu-central-1-1.aws.cloud2.influxdata.com +export INFLUXDB_TOKEN= +export INFLUXDB_ORG=Jay-IOx +export INFLUXDB_BUCKET=otel +export INFLUXDB_BUCKET_ARCHIVE=otel-archive ``` +Make sure this file exists in the root of the project. Then also make sure you run the below commands in the root of the project aswell. + + Build the needed docker images: ```console $ docker compose --file demo/docker-compose.yml --project-directory . build @@ -47,6 +47,13 @@ Click any trace. View the dependency graph. Click "System Architecture". +Grafana is available at http://localhost:3000. The default username and password are both `admin`. The default datasource of flightSQL is already confgiured. + +**Note: You can find a dashboard to import under `demo/grafana/dashboards/Open Telemetry-1681814438598.json`** + +If you would like to access the Trace node tree. Then Make sure to enable it within the Jaeger datasource. Head to data sources and click on the Jaeger datasource. Then enable `Enable Node Graph`. Then click save and test. + + The images `otelcol-influxdb` and `jaeger-influxdb` are automatically built and pushed to Docker at https://hub.docker.com/r/jacobmarble/otelcol-influxdb and https://hub.docker.com/r/jacobmarble/jaeger-influxdb . ## Schema Reference diff --git a/demo/docker-compose.yml b/demo/docker-compose.yml index 17de9cf8..e27b15b2 100644 --- a/demo/docker-compose.yml +++ b/demo/docker-compose.yml @@ -62,7 +62,6 @@ services: ports: - 3000:3000 environment: - - GF_INSTALL_PLUGINS=grafana-clock-panel,grafana-simple-json-datasource - GF_PLUGINS_ALLOW_LOADING_UNSIGNED_PLUGINS=influxdata-flightsql-datasource - INFLUX_HOST=${INFLUXDB_ADDR} - INFLUX_TOKEN=${INFLUXDB_TOKEN} diff --git a/demo/grafana/dashboards/Open Telemetry-1681476507079.json b/demo/grafana/dashboards/Open Telemetry-1681814438598.json similarity index 80% rename from demo/grafana/dashboards/Open Telemetry-1681476507079.json rename to demo/grafana/dashboards/Open Telemetry-1681814438598.json index 1d1cbeb8..32fe8d09 100644 --- a/demo/grafana/dashboards/Open Telemetry-1681476507079.json +++ b/demo/grafana/dashboards/Open Telemetry-1681814438598.json @@ -1,7 +1,7 @@ { "__inputs": [ { - "name": "FlightSQL", + "name": "DS_FLIGHTSQL", "label": "FlightSQL", "description": "", "type": "datasource", @@ -9,7 +9,7 @@ "pluginName": "FlightSQL" }, { - "name": "Jaeger", + "name": "DS_JAEGER", "label": "Jaeger", "description": "", "type": "datasource", @@ -29,7 +29,13 @@ "type": "grafana", "id": "grafana", "name": "Grafana", - "version": "9.4.3" + "version": "9.4.7" + }, + { + "type": "panel", + "id": "histogram", + "name": "Histogram", + "version": "" }, { "type": "datasource", @@ -94,7 +100,7 @@ { "datasource": { "type": "influxdata-flightsql-datasource", - "uid": "${FlightSQL}" + "uid": "${DS_FLIGHTSQL}" }, "fieldConfig": { "defaults": { @@ -132,7 +138,7 @@ "overrides": [] }, "gridPos": { - "h": 10, + "h": 17, "w": 5, "x": 0, "y": 0 @@ -155,12 +161,12 @@ } ] }, - "pluginVersion": "9.4.3", + "pluginVersion": "9.4.7", "targets": [ { "datasource": { "type": "influxdata-flightsql-datasource", - "uid": "${FlightSQL}" + "uid": "${DS_FLIGHTSQL}" }, "format": "table", "queryText": "SELECT DISTINCT(\"service.name\") FROM \"spans\" WHERE $__timeRange(time)", @@ -175,7 +181,7 @@ { "datasource": { "type": "influxdata-flightsql-datasource", - "uid": "${FlightSQL}" + "uid": "${DS_FLIGHTSQL}" }, "fieldConfig": { "defaults": { @@ -230,7 +236,7 @@ "overrides": [] }, "gridPos": { - "h": 10, + "h": 7, "w": 19, "x": 5, "y": 0 @@ -267,7 +273,7 @@ { "datasource": { "type": "influxdata-flightsql-datasource", - "uid": "${FlightSQL}" + "uid": "${DS_FLIGHTSQL}" }, "format": "table", "queryText": "SELECT \"duration_nano\", \"span_id\" ,time FROM \"spans\" WHERE $__timeRange(time) AND \"service.name\" = '$Service' order by time", @@ -305,7 +311,85 @@ { "datasource": { "type": "jaeger", - "uid": "${Jaeger}" + "uid": "${DS_JAEGER}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "custom": { + "fillOpacity": 80, + "gradientMode": "none", + "hideFrom": { + "legend": false, + "tooltip": false, + "viz": false + }, + "lineWidth": 1 + }, + "mappings": [], + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "red", + "value": 80 + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 10, + "w": 19, + "x": 5, + "y": 7 + }, + "id": 13, + "options": { + "bucketOffset": 0, + "combine": true, + "legend": { + "calcs": [], + "displayMode": "list", + "placement": "bottom", + "showLegend": true + } + }, + "targets": [ + { + "datasource": { + "type": "jaeger", + "uid": "${DS_JAEGER}" + }, + "queryType": "search", + "refId": "A", + "service": "$Service" + } + ], + "title": "Service Latency Histogram", + "transformations": [ + { + "id": "partitionByValues", + "options": { + "fields": [ + "Trace ID" + ] + } + } + ], + "type": "histogram" + }, + { + "datasource": { + "type": "jaeger", + "uid": "${DS_JAEGER}" }, "fieldConfig": { "defaults": { @@ -359,7 +443,7 @@ "h": 14, "w": 10, "x": 0, - "y": 10 + "y": 17 }, "id": 7, "options": { @@ -373,12 +457,12 @@ }, "showHeader": true }, - "pluginVersion": "9.4.3", + "pluginVersion": "9.4.7", "targets": [ { "datasource": { "type": "jaeger", - "uid": "${Jaeger}" + "uid": "${DS_JAEGER}" }, "queryType": "search", "refId": "A", @@ -391,20 +475,20 @@ { "datasource": { "type": "jaeger", - "uid": "${Jaeger}" + "uid": "${DS_JAEGER}" }, "gridPos": { "h": 14, "w": 14, "x": 10, - "y": 10 + "y": 17 }, "id": 11, "targets": [ { "datasource": { "type": "jaeger", - "uid": "${Jaeger}" + "uid": "${DS_JAEGER}" }, "query": "$TraceID", "refId": "A" @@ -416,20 +500,20 @@ { "datasource": { "type": "jaeger", - "uid": "${Jaeger}" + "uid": "${DS_JAEGER}" }, "gridPos": { "h": 16, "w": 24, "x": 0, - "y": 24 + "y": 31 }, "id": 9, "targets": [ { "datasource": { "type": "jaeger", - "uid": "${Jaeger}" + "uid": "${DS_JAEGER}" }, "query": "$TraceID", "refId": "A" @@ -469,33 +553,33 @@ { "current": { "selected": false, - "text": "", - "value": "" + "text": "120011cb7f5fefbd", + "value": "120011cb7f5fefbd" }, "hide": 0, "label": "TraceID", "name": "TraceID", "options": [ { - "selected": true, + "selected": false, "text": "", "value": "" } ], - "query": "", + "query": "120011cb7f5fefbd", "skipUrlSync": false, "type": "textbox" } ] }, "time": { - "from": "now-6h", + "from": "now-24h", "to": "now" }, "timepicker": {}, "timezone": "", "title": "Open Telemetry", "uid": "jJwDAiE4z", - "version": 25, + "version": 5, "weekStart": "" } \ No newline at end of file diff --git a/demo/grafana/dashboards/dashboards.yml b/demo/grafana/dashboards/dashboards.yml deleted file mode 100644 index 5bb23170..00000000 --- a/demo/grafana/dashboards/dashboards.yml +++ /dev/null @@ -1,24 +0,0 @@ -apiVersion: 1 - -providers: - # an unique provider name. Required - - name: 'Open Telemetry' - # Org id. Default to 1 - orgId: 1 - # name of the dashboard folder. - folder: 'general' - # folder UID. will be automatically generated if not specified - folderUid: '' - # provider type. Default to 'file' - type: file - # disable dashboard deletion - disableDeletion: false - # how often Grafana will scan for changed dashboards - updateIntervalSeconds: 10 - # allow updating provisioned dashboards from the UI - allowUiUpdates: true - options: - # path to dashboard files on disk. Required when using the 'file' type - path: /etc/grafana/provisioning/dashboards - # use folder names from filesystem to create folders in Grafana - foldersFromFilesStructure: true \ No newline at end of file diff --git a/demo/grafana/datasources/flightsql.yml b/demo/grafana/datasources/flightsql.yml index ce23bd58..3ccf9e35 100644 --- a/demo/grafana/datasources/flightsql.yml +++ b/demo/grafana/datasources/flightsql.yml @@ -17,4 +17,5 @@ datasources: secure: true token: ${INFLUX_TOKEN} readOnly: false + editable: true diff --git a/demo/grafana/datasources/jaeger.yml b/demo/grafana/datasources/jaeger.yml new file mode 100644 index 00000000..2d36fac4 --- /dev/null +++ b/demo/grafana/datasources/jaeger.yml @@ -0,0 +1,19 @@ +apiVersion: 1 +datasources: + - name: Jaeger + type: jaeger + access: proxy + url: http://jaeger-query:16686 + readOnly: false + editable: true + jsonData: + tracesToLogs: + # Field with internal link pointing to a logs data source in Grafana. + # datasourceUid value must match the datasourceUid value of the logs data source. + datasourceUid: 'grafana' + filterByTraceID: true + filterBySpanID: false + nodeGraph: + enableNodeGraph: true + + From d35a50c77118df1a4400a40991b4c6c6c79dca0e Mon Sep 17 00:00:00 2001 From: Jay Clifford <45856600+Jayclifford345@users.noreply.github.com> Date: Wed, 19 Apr 2023 15:49:28 +0200 Subject: [PATCH 04/37] Added plugin setup script --- demo/grafana/plugins/setup.sh | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 demo/grafana/plugins/setup.sh diff --git a/demo/grafana/plugins/setup.sh b/demo/grafana/plugins/setup.sh new file mode 100644 index 00000000..bab36da1 --- /dev/null +++ b/demo/grafana/plugins/setup.sh @@ -0,0 +1,28 @@ +#!/bin/bash + +# Set repository information +REPO_OWNER="influxdata" +REPO_NAME="grafana-flightsql-datasource" +API_URL="https://api.github.com/repos/$REPO_OWNER/$REPO_NAME/releases" + +# Fetch all release information +ALL_RELEASES=$(curl -s $API_URL) + +# Check if a valid release list is found +if [[ $ALL_RELEASES == *"Not Found"* ]]; then + echo "Releases not found for the $REPO_NAME repository." + exit 1 +fi + +# Extract the latest pre-release tag from the release information +LATEST_RELEASE_TAG=$(echo "$ALL_RELEASES" | grep -Eo '"tag_name": "[^"]*' | sed -E 's/"tag_name": "//' | head -n 1) +VERSION=$(echo "$LATEST_RELEASE_TAG" | sed 's/^v//') +if [[ -z "$LATEST_RELEASE_TAG" ]]; then + echo "No pre-release found for the $REPO_NAME repository." + exit 1 +fi + +echo "The latest release tag of $REPO_NAME is: $LATEST_RELEASE_TAG" + +curl -L https://github.com/influxdata/grafana-flightsql-datasource/releases/download/$LATEST_RELEASE_TAG/influxdata-flightsql-datasource-$VERSION.zip --output influxdata-flightsql-datasource.zip +unzip influxdata-flightsql-datasource.zip -d . From 6b989076e9e32102f744cc8251bdec21ffc2a4ec Mon Sep 17 00:00:00 2001 From: Jay Clifford <45856600+Jayclifford345@users.noreply.github.com> Date: Wed, 19 Apr 2023 15:54:10 +0200 Subject: [PATCH 05/37] Update README.md --- README.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/README.md b/README.md index a70808c3..a96dc959 100644 --- a/README.md +++ b/README.md @@ -25,6 +25,16 @@ export INFLUXDB_BUCKET_ARCHIVE=otel-archive Make sure this file exists in the root of the project. Then also make sure you run the below commands in the root of the project aswell. +Install the `flight-sql-plugin` for Grafana. Since the plugin is currently experimental you will need to install it. This can be done by using the setup script. +``` +cd demo/grafana/plugins/ +chmod +x setup.sh +./setup.sh +``` +Once complete head back to the top directory of the repo: +```bash +cd ../../../ +``` Build the needed docker images: ```console From d6ae119106f33470be3ae29c67ea4e45fb86dfd9 Mon Sep 17 00:00:00 2001 From: Jay Clifford Date: Mon, 24 Apr 2023 16:30:22 +0100 Subject: [PATCH 06/37] added new dashboard --- demo/docker-compose.yml | 2 + ...json => Open Telemetry-1682350192146.json} | 108 +++++++++++++++--- demo/telegraf/telegraf.conf | 57 +++++++++ 3 files changed, 151 insertions(+), 16 deletions(-) rename demo/grafana/dashboards/{Open Telemetry-1681814438598.json => Open Telemetry-1682350192146.json} (85%) create mode 100644 demo/telegraf/telegraf.conf diff --git a/demo/docker-compose.yml b/demo/docker-compose.yml index e27b15b2..e8ec4dcc 100644 --- a/demo/docker-compose.yml +++ b/demo/docker-compose.yml @@ -39,11 +39,13 @@ services: stop_grace_period: 1s ports: - "8080:8080" # web UI + - "8083:8083" depends_on: - otelcol-influxdb environment: JAEGER_AGENT_HOST: otelcol-influxdb JAEGER_AGENT_PORT: 6831 + command: ["all", "-m", "prometheus"] otelcol-influxdb: build: diff --git a/demo/grafana/dashboards/Open Telemetry-1681814438598.json b/demo/grafana/dashboards/Open Telemetry-1682350192146.json similarity index 85% rename from demo/grafana/dashboards/Open Telemetry-1681814438598.json rename to demo/grafana/dashboards/Open Telemetry-1682350192146.json index 32fe8d09..39b6c391 100644 --- a/demo/grafana/dashboards/Open Telemetry-1681814438598.json +++ b/demo/grafana/dashboards/Open Telemetry-1682350192146.json @@ -25,6 +25,12 @@ "name": "Bar chart", "version": "" }, + { + "type": "panel", + "id": "gauge", + "name": "Gauge", + "version": "" + }, { "type": "grafana", "id": "grafana", @@ -138,7 +144,7 @@ "overrides": [] }, "gridPos": { - "h": 17, + "h": 13, "w": 5, "x": 0, "y": 0 @@ -236,8 +242,8 @@ "overrides": [] }, "gridPos": { - "h": 7, - "w": 19, + "h": 8, + "w": 14, "x": 5, "y": 0 }, @@ -308,6 +314,76 @@ ], "type": "barchart" }, + { + "datasource": { + "type": "influxdata-flightsql-datasource", + "uid": "${DS_FLIGHTSQL}" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "thresholds" + }, + "mappings": [], + "max": 100, + "min": 0, + "thresholds": { + "mode": "absolute", + "steps": [ + { + "color": "green", + "value": null + }, + { + "color": "#EAB839", + "value": 50 + }, + { + "color": "red", + "value": 75 + } + ] + } + }, + "overrides": [] + }, + "gridPos": { + "h": 8, + "w": 5, + "x": 19, + "y": 0 + }, + "id": 14, + "options": { + "orientation": "auto", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "/^error_percentage$/", + "values": false + }, + "showThresholdLabels": false, + "showThresholdMarkers": true + }, + "pluginVersion": "9.4.7", + "targets": [ + { + "datasource": { + "type": "influxdata-flightsql-datasource", + "uid": "${DS_FLIGHTSQL}" + }, + "format": "table", + "queryText": "SELECT\n (COUNT(CASE WHEN \"otel.status_code\" = 'Error' THEN 1 END) * 100.0) / COUNT(*) as error_percentage FROM spans\n WHERE $__timeRange(time) AND \"service.name\" = '$Service' ", + "rawEditor": true, + "rawQuery": true, + "refId": "A" + } + ], + "title": "Error Rate", + "transformations": [], + "type": "gauge" + }, { "datasource": { "type": "jaeger", @@ -346,10 +422,10 @@ "overrides": [] }, "gridPos": { - "h": 10, + "h": 5, "w": 19, "x": 5, - "y": 7 + "y": 8 }, "id": 13, "options": { @@ -440,10 +516,10 @@ ] }, "gridPos": { - "h": 14, + "h": 8, "w": 10, "x": 0, - "y": 17 + "y": 13 }, "id": 7, "options": { @@ -478,10 +554,10 @@ "uid": "${DS_JAEGER}" }, "gridPos": { - "h": 14, + "h": 8, "w": 14, "x": 10, - "y": 17 + "y": 13 }, "id": 11, "targets": [ @@ -506,7 +582,7 @@ "h": 16, "w": 24, "x": 0, - "y": 31 + "y": 21 }, "id": 9, "targets": [ @@ -523,7 +599,7 @@ "type": "traces" } ], - "refresh": false, + "refresh": "", "revision": 1, "schemaVersion": 38, "style": "dark", @@ -561,9 +637,9 @@ "name": "TraceID", "options": [ { - "selected": false, - "text": "", - "value": "" + "selected": true, + "text": "120011cb7f5fefbd", + "value": "120011cb7f5fefbd" } ], "query": "120011cb7f5fefbd", @@ -573,13 +649,13 @@ ] }, "time": { - "from": "now-24h", + "from": "now-1h", "to": "now" }, "timepicker": {}, "timezone": "", "title": "Open Telemetry", "uid": "jJwDAiE4z", - "version": 5, + "version": 6, "weekStart": "" } \ No newline at end of file diff --git a/demo/telegraf/telegraf.conf b/demo/telegraf/telegraf.conf new file mode 100644 index 00000000..e9e70abe --- /dev/null +++ b/demo/telegraf/telegraf.conf @@ -0,0 +1,57 @@ +[global_tags] + +[agent] + interval = "30s" + round_interval = true + metric_batch_size = 1000 + metric_buffer_limit = 10000 + collection_jitter = "0s" + flush_interval = "10s" + flush_jitter = "0s" + precision = "" + debug = false + quiet = false + omit_hostname = false + +[[outputs.influxdb_v2]] + urls = ["http://${INFLUXDB_ADDR}:8086"] # Replace with your InfluxDB v2 instance URL + token = "$[INFLUXDB_TOKEN}" # Replace with your InfluxDB v2 token + organization = "${INFLUXDB_ORG}" # Replace with your InfluxDB v2 organization name + bucket = "${INFLUXDB_BUCKET}" # Replace with your InfluxDB v2 bucket name + +[[inputs.prometheus]] + name_override = "metrics" + ## By specifying a "v2" string to the version, you can use the new v2 + ## metrics format. + metric_version = 2 + + ## An array of urls to scrape metrics from. + urls = ["http://localhost:8083/metrics"] # Replace with your Prometheus target URL + + ## An array of Kubernetes services to scrape metrics from. + # kubernetes_services = ["http://my-service-dns.my-namespace:9100/metrics"] + + ## Kubernetes config file to create client. + # kube_config = "/path/to/kubernetes.config" + + ## Scrape interval + # interval = "1m" + + ## Scrape metrics for kube-system services. + ## If set to true, it is recommended to limit your urls to avoid too much + ## data being scraped. + # monitor_kubernetes_pods = false + + [[processors.regex]] + namepass = ["metrics"] + + [[processors.regex.tags]] + key = "_measurement" + pattern = "(.*)_([^_]*)_([^_]*)_([^_]*)_([^_]*)" + replacement = "${1}_${2}_${3}_${4}" + result_key = "prefix" + [[processors.regex.tags]] + key = "_measurement" + pattern = "(.*)_([^_]*)_([^_]*)_([^_]*)_([^_]*)" + replacement = "${5}" + result_key = "suffix" \ No newline at end of file From 7b0dd7d5a8171910d42fe381f1c6b6ea02d0353c Mon Sep 17 00:00:00 2001 From: Jay Clifford Date: Mon, 24 Apr 2023 16:40:01 +0100 Subject: [PATCH 07/37] updated datasource --- README.md | 10 ---------- demo/docker-compose.yml | 2 -- demo/grafana/plugins/setup.sh | 28 ---------------------------- 3 files changed, 40 deletions(-) delete mode 100644 demo/grafana/plugins/setup.sh diff --git a/README.md b/README.md index a96dc959..a70808c3 100644 --- a/README.md +++ b/README.md @@ -25,16 +25,6 @@ export INFLUXDB_BUCKET_ARCHIVE=otel-archive Make sure this file exists in the root of the project. Then also make sure you run the below commands in the root of the project aswell. -Install the `flight-sql-plugin` for Grafana. Since the plugin is currently experimental you will need to install it. This can be done by using the setup script. -``` -cd demo/grafana/plugins/ -chmod +x setup.sh -./setup.sh -``` -Once complete head back to the top directory of the repo: -```bash -cd ../../../ -``` Build the needed docker images: ```console diff --git a/demo/docker-compose.yml b/demo/docker-compose.yml index e8ec4dcc..f9538924 100644 --- a/demo/docker-compose.yml +++ b/demo/docker-compose.yml @@ -64,13 +64,11 @@ services: ports: - 3000:3000 environment: - - GF_PLUGINS_ALLOW_LOADING_UNSIGNED_PLUGINS=influxdata-flightsql-datasource - INFLUX_HOST=${INFLUXDB_ADDR} - INFLUX_TOKEN=${INFLUXDB_TOKEN} - INFLUX_ORG=${INFLUXDB_ORG} - INFLUX_BUCKET=${INFLUXDB_BUCKET} volumes: - - ./demo/grafana/plugins/influxdata-flightsql-datasource:/var/lib/grafana/plugins/influxdata-flightsql-datasource - ./demo/grafana/datasources:/etc/grafana/provisioning/datasources - grafana:/var/lib/grafana/ restart: always diff --git a/demo/grafana/plugins/setup.sh b/demo/grafana/plugins/setup.sh deleted file mode 100644 index bab36da1..00000000 --- a/demo/grafana/plugins/setup.sh +++ /dev/null @@ -1,28 +0,0 @@ -#!/bin/bash - -# Set repository information -REPO_OWNER="influxdata" -REPO_NAME="grafana-flightsql-datasource" -API_URL="https://api.github.com/repos/$REPO_OWNER/$REPO_NAME/releases" - -# Fetch all release information -ALL_RELEASES=$(curl -s $API_URL) - -# Check if a valid release list is found -if [[ $ALL_RELEASES == *"Not Found"* ]]; then - echo "Releases not found for the $REPO_NAME repository." - exit 1 -fi - -# Extract the latest pre-release tag from the release information -LATEST_RELEASE_TAG=$(echo "$ALL_RELEASES" | grep -Eo '"tag_name": "[^"]*' | sed -E 's/"tag_name": "//' | head -n 1) -VERSION=$(echo "$LATEST_RELEASE_TAG" | sed 's/^v//') -if [[ -z "$LATEST_RELEASE_TAG" ]]; then - echo "No pre-release found for the $REPO_NAME repository." - exit 1 -fi - -echo "The latest release tag of $REPO_NAME is: $LATEST_RELEASE_TAG" - -curl -L https://github.com/influxdata/grafana-flightsql-datasource/releases/download/$LATEST_RELEASE_TAG/influxdata-flightsql-datasource-$VERSION.zip --output influxdata-flightsql-datasource.zip -unzip influxdata-flightsql-datasource.zip -d . From 4d2ddf7d0eb0d05867e2227560c61d6c8f02fbb5 Mon Sep 17 00:00:00 2001 From: Jay Clifford Date: Tue, 25 Apr 2023 16:54:25 +0100 Subject: [PATCH 08/37] added .env file template --- .env | 4 ++++ .gitignore | 1 - 2 files changed, 4 insertions(+), 1 deletion(-) create mode 100644 .env diff --git a/.env b/.env new file mode 100644 index 00000000..4132c7b0 --- /dev/null +++ b/.env @@ -0,0 +1,4 @@ +export INFLUXDB_ADDR=eu-central-1-1.aws.cloud2.influxdata.com +export INFLUXDB_TOKEN=xxxxxxxx +export INFLUXDB_ORG=xxxxxxx +export INFLUXDB_BUCKET=otel diff --git a/.gitignore b/.gitignore index aa875864..7142c86f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,3 @@ local/ plugins -.env \ No newline at end of file From cc2d3dfcbcf5382c939d694f69133d0d3596a8e8 Mon Sep 17 00:00:00 2001 From: Jay Clifford Date: Wed, 26 Apr 2023 13:03:42 +0100 Subject: [PATCH 09/37] updated version and env --- .env | 8 ++++---- README.md | 10 +++++----- demo/docker-compose.yml | 2 +- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.env b/.env index 4132c7b0..a1119bbc 100644 --- a/.env +++ b/.env @@ -1,4 +1,4 @@ -export INFLUXDB_ADDR=eu-central-1-1.aws.cloud2.influxdata.com -export INFLUXDB_TOKEN=xxxxxxxx -export INFLUXDB_ORG=xxxxxxx -export INFLUXDB_BUCKET=otel +INFLUXDB_ADDR=eu-central-1-1.aws.cloud2.influxdata.com +INFLUXDB_TOKEN=xxxxxxxx +INFLUXDB_ORG=xxxxxxx +INFLUXDB_BUCKET=otel diff --git a/README.md b/README.md index a70808c3..daff1003 100644 --- a/README.md +++ b/README.md @@ -16,11 +16,11 @@ so that the "Archive Trace" button in Jaeger works properly: The community addition focuses on the useability of the demo with Grafana. With this being said to improve demo setup we have introduced a `.env` file that will allow you to set the following variables: ```bash -export INFLUXDB_ADDR=eu-central-1-1.aws.cloud2.influxdata.com -export INFLUXDB_TOKEN= -export INFLUXDB_ORG=Jay-IOx -export INFLUXDB_BUCKET=otel -export INFLUXDB_BUCKET_ARCHIVE=otel-archive +INFLUXDB_ADDR=eu-central-1-1.aws.cloud2.influxdata.com +INFLUXDB_TOKEN=xxxxxxx +INFLUXDB_ORG=xxxxxxxx +INFLUXDB_BUCKET=otel +INFLUXDB_BUCKET_ARCHIVE=otel-archive ``` Make sure this file exists in the root of the project. Then also make sure you run the below commands in the root of the project aswell. diff --git a/demo/docker-compose.yml b/demo/docker-compose.yml index f9538924..f0e269be 100644 --- a/demo/docker-compose.yml +++ b/demo/docker-compose.yml @@ -1,5 +1,5 @@ +version: '3' services: - jaeger-query: image: jaegertracing/jaeger-query:1.43 stop_grace_period: 10s From cbebe59669c3ebfd6a4c54ad315234f325cd1f89 Mon Sep 17 00:00:00 2001 From: Jay Clifford Date: Wed, 26 Apr 2023 13:33:43 +0100 Subject: [PATCH 10/37] updated grafana --- README.md | 4 ++-- demo/docker-compose.yml | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index daff1003..0c815f02 100644 --- a/README.md +++ b/README.md @@ -28,12 +28,12 @@ Make sure this file exists in the root of the project. Then also make sure you r Build the needed docker images: ```console -$ docker compose --file demo/docker-compose.yml --project-directory . build +$ docker-compose --file demo/docker-compose.yml --project-directory . build ``` Run the docker compose: ```console -$ docker compose --file demo/docker-compose.yml --project-directory . up --abort-on-container-exit --remove-orphans +$ docker-compose --file demo/docker-compose.yml --project-directory . up --abort-on-container-exit --remove-orphans ``` Traces are generated by "HotRod", an application designed to demonstrate tracing. diff --git a/demo/docker-compose.yml b/demo/docker-compose.yml index f0e269be..f8d3ab05 100644 --- a/demo/docker-compose.yml +++ b/demo/docker-compose.yml @@ -68,6 +68,7 @@ services: - INFLUX_TOKEN=${INFLUXDB_TOKEN} - INFLUX_ORG=${INFLUXDB_ORG} - INFLUX_BUCKET=${INFLUXDB_BUCKET} + - GF_INSTALL_PLUGINS=influxdata-flightsql-datasource volumes: - ./demo/grafana/datasources:/etc/grafana/provisioning/datasources - grafana:/var/lib/grafana/ From c6a29b7cbea5a6bd32b6a24a5ac740d487c3522a Mon Sep 17 00:00:00 2001 From: Jay Clifford Date: Wed, 26 Apr 2023 13:40:07 +0100 Subject: [PATCH 11/37] modified: demo/docker-compose.yml --- demo/docker-compose.yml | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/demo/docker-compose.yml b/demo/docker-compose.yml index f8d3ab05..05be9428 100644 --- a/demo/docker-compose.yml +++ b/demo/docker-compose.yml @@ -20,10 +20,7 @@ services: - ./demo/jaeger-ui-config.json:/jaeger-ui-config.json:ro jaeger-influxdb: - build: - context: . - dockerfile: jaeger-influxdb/Dockerfile - image: jaeger-influxdb:local + image: jacobmarble/jaeger-influxdb:latest stop_grace_period: 10s environment: LOG_LEVEL: debug @@ -32,10 +29,7 @@ services: env_file: - .env hotrod: - build: - context: . - dockerfile: demo/Dockerfile.hotrod - image: hotrod:local + image: jaegertracing/example-hotrod:1.41.0 stop_grace_period: 1s ports: - "8080:8080" # web UI @@ -48,10 +42,7 @@ services: command: ["all", "-m", "prometheus"] otelcol-influxdb: - build: - context: . - dockerfile: otelcol-influxdb/Dockerfile - image: otelcol-influxdb:local + image: jacobmarble/otelcol-influxdb:latest command: [ "--config", "/config.yml" ] stop_grace_period: 10s volumes: From 3d1de419d5fb3c44fbd87c98641b60642aef7447 Mon Sep 17 00:00:00 2001 From: Jay Clifford Date: Wed, 26 Apr 2023 13:47:54 +0100 Subject: [PATCH 12/37] updated docker-compose --- demo/grafana/datasources/jaeger.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/demo/grafana/datasources/jaeger.yml b/demo/grafana/datasources/jaeger.yml index 2d36fac4..d320a95f 100644 --- a/demo/grafana/datasources/jaeger.yml +++ b/demo/grafana/datasources/jaeger.yml @@ -6,6 +6,7 @@ datasources: url: http://jaeger-query:16686 readOnly: false editable: true + isDefault: true jsonData: tracesToLogs: # Field with internal link pointing to a logs data source in Grafana. @@ -14,6 +15,6 @@ datasources: filterByTraceID: true filterBySpanID: false nodeGraph: - enableNodeGraph: true + show: true From 6f8109456af61271a6c816a1aa4d077db6f76b4b Mon Sep 17 00:00:00 2001 From: Jay Clifford Date: Wed, 26 Apr 2023 14:07:28 +0100 Subject: [PATCH 13/37] updated grafana config --- demo/docker-compose.yml | 1 + .../Open Telemetry-1682350192146.json | 46 ++++++------------- demo/grafana/dashboards/dashboards.yml | 24 ++++++++++ demo/grafana/datasources/jaeger.yml | 5 +- 4 files changed, 41 insertions(+), 35 deletions(-) create mode 100644 demo/grafana/dashboards/dashboards.yml diff --git a/demo/docker-compose.yml b/demo/docker-compose.yml index 05be9428..978f6bd2 100644 --- a/demo/docker-compose.yml +++ b/demo/docker-compose.yml @@ -62,6 +62,7 @@ services: - GF_INSTALL_PLUGINS=influxdata-flightsql-datasource volumes: - ./demo/grafana/datasources:/etc/grafana/provisioning/datasources + - ./demo/grafana/dashboards:/etc/grafana/provisioning/dashboards - grafana:/var/lib/grafana/ restart: always volumes: diff --git a/demo/grafana/dashboards/Open Telemetry-1682350192146.json b/demo/grafana/dashboards/Open Telemetry-1682350192146.json index 39b6c391..f85169ed 100644 --- a/demo/grafana/dashboards/Open Telemetry-1682350192146.json +++ b/demo/grafana/dashboards/Open Telemetry-1682350192146.json @@ -1,22 +1,4 @@ { - "__inputs": [ - { - "name": "DS_FLIGHTSQL", - "label": "FlightSQL", - "description": "", - "type": "datasource", - "pluginId": "influxdata-flightsql-datasource", - "pluginName": "FlightSQL" - }, - { - "name": "DS_JAEGER", - "label": "Jaeger", - "description": "", - "type": "datasource", - "pluginId": "jaeger", - "pluginName": "Jaeger" - } - ], "__elements": {}, "__requires": [ { @@ -106,7 +88,7 @@ { "datasource": { "type": "influxdata-flightsql-datasource", - "uid": "${DS_FLIGHTSQL}" + "uid": "FlightSQL" }, "fieldConfig": { "defaults": { @@ -172,7 +154,7 @@ { "datasource": { "type": "influxdata-flightsql-datasource", - "uid": "${DS_FLIGHTSQL}" + "uid": "FlightSQL" }, "format": "table", "queryText": "SELECT DISTINCT(\"service.name\") FROM \"spans\" WHERE $__timeRange(time)", @@ -187,7 +169,7 @@ { "datasource": { "type": "influxdata-flightsql-datasource", - "uid": "${DS_FLIGHTSQL}" + "uid": "FlightSQL" }, "fieldConfig": { "defaults": { @@ -279,7 +261,7 @@ { "datasource": { "type": "influxdata-flightsql-datasource", - "uid": "${DS_FLIGHTSQL}" + "uid": "FlightSQL" }, "format": "table", "queryText": "SELECT \"duration_nano\", \"span_id\" ,time FROM \"spans\" WHERE $__timeRange(time) AND \"service.name\" = '$Service' order by time", @@ -317,7 +299,7 @@ { "datasource": { "type": "influxdata-flightsql-datasource", - "uid": "${DS_FLIGHTSQL}" + "uid": "FlightSQL" }, "fieldConfig": { "defaults": { @@ -371,7 +353,7 @@ { "datasource": { "type": "influxdata-flightsql-datasource", - "uid": "${DS_FLIGHTSQL}" + "uid": "FlightSQL" }, "format": "table", "queryText": "SELECT\n (COUNT(CASE WHEN \"otel.status_code\" = 'Error' THEN 1 END) * 100.0) / COUNT(*) as error_percentage FROM spans\n WHERE $__timeRange(time) AND \"service.name\" = '$Service' ", @@ -387,7 +369,7 @@ { "datasource": { "type": "jaeger", - "uid": "${DS_JAEGER}" + "uid": "Jaeger" }, "fieldConfig": { "defaults": { @@ -442,7 +424,7 @@ { "datasource": { "type": "jaeger", - "uid": "${DS_JAEGER}" + "uid": "Jaeger" }, "queryType": "search", "refId": "A", @@ -465,7 +447,7 @@ { "datasource": { "type": "jaeger", - "uid": "${DS_JAEGER}" + "uid": "Jaeger" }, "fieldConfig": { "defaults": { @@ -538,7 +520,7 @@ { "datasource": { "type": "jaeger", - "uid": "${DS_JAEGER}" + "uid": "Jaeger" }, "queryType": "search", "refId": "A", @@ -551,7 +533,7 @@ { "datasource": { "type": "jaeger", - "uid": "${DS_JAEGER}" + "uid": "Jaeger" }, "gridPos": { "h": 8, @@ -564,7 +546,7 @@ { "datasource": { "type": "jaeger", - "uid": "${DS_JAEGER}" + "uid": "Jaeger" }, "query": "$TraceID", "refId": "A" @@ -576,7 +558,7 @@ { "datasource": { "type": "jaeger", - "uid": "${DS_JAEGER}" + "uid": "Jaeger" }, "gridPos": { "h": 16, @@ -589,7 +571,7 @@ { "datasource": { "type": "jaeger", - "uid": "${DS_JAEGER}" + "uid": "Jaeger" }, "query": "$TraceID", "refId": "A" diff --git a/demo/grafana/dashboards/dashboards.yml b/demo/grafana/dashboards/dashboards.yml new file mode 100644 index 00000000..adaf1d93 --- /dev/null +++ b/demo/grafana/dashboards/dashboards.yml @@ -0,0 +1,24 @@ +apiVersion: 1 + +providers: + # an unique provider name. Required + - name: 'OpenTelemetry Demo' + # Org id. Default to 1 + orgId: 1 + # name of the dashboard folder. + folder: 'general' + # folder UID. will be automatically generated if not specified + folderUid: '' + # provider type. Default to 'file' + type: file + # disable dashboard deletion + disableDeletion: false + # how often Grafana will scan for changed dashboards + updateIntervalSeconds: 10 + # allow updating provisioned dashboards from the UI + allowUiUpdates: true + options: + # path to dashboard files on disk. Required when using the 'file' type + path: /etc/grafana/provisioning/dashboards + # use folder names from filesystem to create folders in Grafana + foldersFromFilesStructure: true \ No newline at end of file diff --git a/demo/grafana/datasources/jaeger.yml b/demo/grafana/datasources/jaeger.yml index d320a95f..1f41fccc 100644 --- a/demo/grafana/datasources/jaeger.yml +++ b/demo/grafana/datasources/jaeger.yml @@ -6,7 +6,7 @@ datasources: url: http://jaeger-query:16686 readOnly: false editable: true - isDefault: true + isDefault: false jsonData: tracesToLogs: # Field with internal link pointing to a logs data source in Grafana. @@ -15,6 +15,5 @@ datasources: filterByTraceID: true filterBySpanID: false nodeGraph: - show: true - + enabled: true From 958b7436d6385672f9142b8974dc9947b0737cc4 Mon Sep 17 00:00:00 2001 From: Jay Clifford Date: Fri, 28 Apr 2023 10:00:11 +0100 Subject: [PATCH 14/37] updated chart to seconds --- .gitignore | 2 +- ...json => Open Telemetry-1682672178148.json} | 38 +++++++++---------- 2 files changed, 19 insertions(+), 21 deletions(-) rename demo/grafana/dashboards/{Open Telemetry-1682350192146.json => Open Telemetry-1682672178148.json} (95%) diff --git a/.gitignore b/.gitignore index 7142c86f..e404c37e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,3 @@ local/ - +.env-old plugins diff --git a/demo/grafana/dashboards/Open Telemetry-1682350192146.json b/demo/grafana/dashboards/Open Telemetry-1682672178148.json similarity index 95% rename from demo/grafana/dashboards/Open Telemetry-1682350192146.json rename to demo/grafana/dashboards/Open Telemetry-1682672178148.json index f85169ed..2f345b14 100644 --- a/demo/grafana/dashboards/Open Telemetry-1682350192146.json +++ b/demo/grafana/dashboards/Open Telemetry-1682672178148.json @@ -17,7 +17,7 @@ "type": "grafana", "id": "grafana", "name": "Grafana", - "version": "9.4.7" + "version": "9.5.1" }, { "type": "panel", @@ -29,7 +29,7 @@ "type": "datasource", "id": "influxdata-flightsql-datasource", "name": "FlightSQL", - "version": "0.1.9" + "version": "1.0.1" }, { "type": "datasource", @@ -133,6 +133,7 @@ }, "id": 2, "options": { + "cellHeight": "sm", "footer": { "countRows": false, "fields": "", @@ -149,7 +150,7 @@ } ] }, - "pluginVersion": "9.4.7", + "pluginVersion": "9.5.1", "targets": [ { "datasource": { @@ -181,7 +182,6 @@ "axisColorMode": "text", "axisLabel": "", "axisPlacement": "auto", - "axisSoftMax": 81776000, "fillOpacity": 80, "gradientMode": "none", "hideFrom": { @@ -233,7 +233,7 @@ "options": { "barRadius": 0, "barWidth": 0.3, - "colorByField": "duration_nano (lastNotNull)", + "colorByField": "duration (lastNotNull)", "fullHighlight": false, "groupWidth": 0.7, "legend": { @@ -264,7 +264,7 @@ "uid": "FlightSQL" }, "format": "table", - "queryText": "SELECT \"duration_nano\", \"span_id\" ,time FROM \"spans\" WHERE $__timeRange(time) AND \"service.name\" = '$Service' order by time", + "queryText": "SELECT \"duration_nano\"/ 1000000 as \"duration\", \"span_id\" ,time FROM \"spans\" WHERE $__timeRange(time) AND \"service.name\" = '$Service' order by time", "rawEditor": true, "rawQuery": true, "refId": "A" @@ -276,6 +276,12 @@ "id": "groupBy", "options": { "fields": { + "duration": { + "aggregations": [ + "lastNotNull" + ], + "operation": "aggregate" + }, "duration_nano": { "aggregations": [ "lastNotNull" @@ -348,7 +354,7 @@ "showThresholdLabels": false, "showThresholdMarkers": true }, - "pluginVersion": "9.4.7", + "pluginVersion": "9.5.1", "targets": [ { "datasource": { @@ -432,16 +438,7 @@ } ], "title": "Service Latency Histogram", - "transformations": [ - { - "id": "partitionByValues", - "options": { - "fields": [ - "Trace ID" - ] - } - } - ], + "transformations": [], "type": "histogram" }, { @@ -505,6 +502,7 @@ }, "id": 7, "options": { + "cellHeight": "sm", "footer": { "countRows": false, "fields": "", @@ -515,7 +513,7 @@ }, "showHeader": true }, - "pluginVersion": "9.4.7", + "pluginVersion": "9.5.1", "targets": [ { "datasource": { @@ -631,13 +629,13 @@ ] }, "time": { - "from": "now-1h", + "from": "now-24h", "to": "now" }, "timepicker": {}, "timezone": "", "title": "Open Telemetry", "uid": "jJwDAiE4z", - "version": 6, + "version": 3, "weekStart": "" } \ No newline at end of file From 1235b3b6ef6f0b09b673f97129138f9965de3805 Mon Sep 17 00:00:00 2001 From: Jay Clifford Date: Fri, 28 Apr 2023 10:24:15 +0100 Subject: [PATCH 15/37] updated docker-compose to build --- demo/docker-compose.yml | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/demo/docker-compose.yml b/demo/docker-compose.yml index 978f6bd2..c41e9652 100644 --- a/demo/docker-compose.yml +++ b/demo/docker-compose.yml @@ -20,7 +20,10 @@ services: - ./demo/jaeger-ui-config.json:/jaeger-ui-config.json:ro jaeger-influxdb: - image: jacobmarble/jaeger-influxdb:latest + build: + context: . + dockerfile: jaeger-influxdb/Dockerfile + image: jaeger-influxdb:local stop_grace_period: 10s environment: LOG_LEVEL: debug @@ -29,7 +32,10 @@ services: env_file: - .env hotrod: - image: jaegertracing/example-hotrod:1.41.0 + build: + context: . + dockerfile: demo/Dockerfile.hotrod + image: hotrod:local stop_grace_period: 1s ports: - "8080:8080" # web UI @@ -42,7 +48,10 @@ services: command: ["all", "-m", "prometheus"] otelcol-influxdb: - image: jacobmarble/otelcol-influxdb:latest + build: + context: . + dockerfile: otelcol-influxdb/Dockerfile + image: otelcol-influxdb:local command: [ "--config", "/config.yml" ] stop_grace_period: 10s volumes: From cd4686db547607edbe11d3694f82ffa58c34604c Mon Sep 17 00:00:00 2001 From: Jay Clifford Date: Wed, 17 May 2023 10:59:29 -0700 Subject: [PATCH 16/37] updated otel config --- demo/otelcol-config.yml | 22 ---------------------- 1 file changed, 22 deletions(-) diff --git a/demo/otelcol-config.yml b/demo/otelcol-config.yml index c2d5aede..f24a8913 100644 --- a/demo/otelcol-config.yml +++ b/demo/otelcol-config.yml @@ -9,28 +9,11 @@ receivers: grpc: http: - otlp/noop: - protocols: - grpc: - endpoint: localhost:9999 - -processors: - spanmetrics: - metrics_exporter: influxdb - latency_histogram_buckets: [10ms, 25ms, 50ms, 100ms, 250ms, 500ms, 1000ms, 2500ms, 5000s, 10000s] - dimensions: - - name: http.method - default: GET - - name: http.status_code - dimensions_cache_size: 1000 - aggregation_temporality: "AGGREGATION_TEMPORALITY_DELTA" - exporters: influxdb: endpoint: https://${INFLUXDB_ADDR}/ bucket: ${INFLUXDB_BUCKET} token: ${INFLUXDB_TOKEN} - metrics_schema: otel-v1 service: telemetry: @@ -41,9 +24,4 @@ service: pipelines: traces: receivers: [otlp, jaeger] - processors: [spanmetrics] - exporters: [influxdb] - - metrics: - receivers: [otlp/noop] exporters: [influxdb] From 7c07583fdcd1d03e2621f1e93bc5b404c2a055c6 Mon Sep 17 00:00:00 2001 From: Jay Clifford Date: Wed, 17 May 2023 12:42:32 -0700 Subject: [PATCH 17/37] updated config --- demo/otelcol-config.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/demo/otelcol-config.yml b/demo/otelcol-config.yml index f24a8913..51a629dc 100644 --- a/demo/otelcol-config.yml +++ b/demo/otelcol-config.yml @@ -14,6 +14,7 @@ exporters: endpoint: https://${INFLUXDB_ADDR}/ bucket: ${INFLUXDB_BUCKET} token: ${INFLUXDB_TOKEN} + metrics_schema: otel-v1 service: telemetry: From 2d6f22a3c48abf864863c6825ea5ed706ec258b4 Mon Sep 17 00:00:00 2001 From: Jacob Marble Date: Wed, 17 May 2023 09:14:34 -0700 Subject: [PATCH 18/37] chore: drop span metrics from demo config --- demo/otelcol-config.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/demo/otelcol-config.yml b/demo/otelcol-config.yml index 51a629dc..c68c07a1 100644 --- a/demo/otelcol-config.yml +++ b/demo/otelcol-config.yml @@ -25,4 +25,5 @@ service: pipelines: traces: receivers: [otlp, jaeger] + processors: [spanmetrics] exporters: [influxdb] From e635e1907d45f7d264481a9cb59fc0439529e675 Mon Sep 17 00:00:00 2001 From: Jacob Marble Date: Wed, 17 May 2023 09:28:30 -0700 Subject: [PATCH 19/37] chore: drop span metrics from demo config --- demo/otelcol-config.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/demo/otelcol-config.yml b/demo/otelcol-config.yml index c68c07a1..51a629dc 100644 --- a/demo/otelcol-config.yml +++ b/demo/otelcol-config.yml @@ -25,5 +25,4 @@ service: pipelines: traces: receivers: [otlp, jaeger] - processors: [spanmetrics] exporters: [influxdb] From ea412219417580484322b147b653bbcb984d8592 Mon Sep 17 00:00:00 2001 From: Jacob Marble Date: Thu, 18 May 2023 09:23:42 -0700 Subject: [PATCH 20/37] chore: revert "chore: drop span metrics from demo config" --- demo/otelcol-config.yml | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/demo/otelcol-config.yml b/demo/otelcol-config.yml index 51a629dc..c2d5aede 100644 --- a/demo/otelcol-config.yml +++ b/demo/otelcol-config.yml @@ -9,6 +9,22 @@ receivers: grpc: http: + otlp/noop: + protocols: + grpc: + endpoint: localhost:9999 + +processors: + spanmetrics: + metrics_exporter: influxdb + latency_histogram_buckets: [10ms, 25ms, 50ms, 100ms, 250ms, 500ms, 1000ms, 2500ms, 5000s, 10000s] + dimensions: + - name: http.method + default: GET + - name: http.status_code + dimensions_cache_size: 1000 + aggregation_temporality: "AGGREGATION_TEMPORALITY_DELTA" + exporters: influxdb: endpoint: https://${INFLUXDB_ADDR}/ @@ -25,4 +41,9 @@ service: pipelines: traces: receivers: [otlp, jaeger] + processors: [spanmetrics] + exporters: [influxdb] + + metrics: + receivers: [otlp/noop] exporters: [influxdb] From 534a36e43be29b19458b15565fbb7d8a8c4070ee Mon Sep 17 00:00:00 2001 From: Jacob Marble Date: Tue, 23 May 2023 12:31:25 -0700 Subject: [PATCH 21/37] chore: update OpenTelemetry Collector to v0.78.2 Tested with demo build/run. --- common/go.mod | 2 +- common/go.sum | 4 +- influx2otel/go.mod | 18 +++--- influx2otel/go.sum | 34 +++++------ jaeger-influxdb/go.mod | 14 ++--- jaeger-influxdb/go.sum | 24 ++++---- otel2influx/go.mod | 26 ++++---- otel2influx/go.sum | 52 ++++++++-------- tests-integration/go.mod | 51 ++++++++-------- tests-integration/go.sum | 129 +++++++++++++++++++++------------------ 10 files changed, 181 insertions(+), 173 deletions(-) diff --git a/common/go.mod b/common/go.mod index 42456b01..4c01d8ae 100644 --- a/common/go.mod +++ b/common/go.mod @@ -4,7 +4,7 @@ go 1.19 require ( github.com/stretchr/testify v1.8.2 - go.opentelemetry.io/collector/semconv v0.77.0 + go.opentelemetry.io/collector/semconv v0.78.2 ) require ( diff --git a/common/go.sum b/common/go.sum index a3a37a65..9049c150 100644 --- a/common/go.sum +++ b/common/go.sum @@ -15,8 +15,8 @@ github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/ github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.2 h1:+h33VjcLVPDHtOdpUCuF+7gSuG3yGIftsP1YvFihtJ8= github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -go.opentelemetry.io/collector/semconv v0.77.0 h1:dPG7wjN5x6CNH9ojRgHX6ONvx6DIgXO3st+WXR6KAnw= -go.opentelemetry.io/collector/semconv v0.77.0/go.mod h1:lazBA42nqZPNPWDMiqWfr5eIVeNgRmoLDbQmjXKcm70= +go.opentelemetry.io/collector/semconv v0.78.2 h1:o1tymN831Lqc+7sPxq2FW/2E8fehqLDKMyEELtiYquU= +go.opentelemetry.io/collector/semconv v0.78.2/go.mod h1:lazBA42nqZPNPWDMiqWfr5eIVeNgRmoLDbQmjXKcm70= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/influx2otel/go.mod b/influx2otel/go.mod index 953a2a8e..8b502ebb 100644 --- a/influx2otel/go.mod +++ b/influx2otel/go.mod @@ -3,12 +3,12 @@ module github.com/influxdata/influxdb-observability/influx2otel go 1.19 require ( - github.com/influxdata/influxdb-observability/common v0.3.8 - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest v0.77.0 - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.77.0 + github.com/influxdata/influxdb-observability/common v0.3.14 + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest v0.78.0 + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.78.0 github.com/stretchr/testify v1.8.2 - go.opentelemetry.io/collector/pdata v1.0.0-rcv0011 - go.opentelemetry.io/collector/semconv v0.77.0 + go.opentelemetry.io/collector/pdata v1.0.0-rcv0012 + go.opentelemetry.io/collector/semconv v0.78.2 ) require ( @@ -21,11 +21,11 @@ require ( github.com/modern-go/reflect2 v1.0.2 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/net v0.9.0 // indirect - golang.org/x/sys v0.7.0 // indirect + golang.org/x/net v0.10.0 // indirect + golang.org/x/sys v0.8.0 // indirect golang.org/x/text v0.9.0 // indirect - google.golang.org/genproto v0.0.0-20230110181048-76db0878b65f // indirect - google.golang.org/grpc v1.54.0 // indirect + google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 // indirect + google.golang.org/grpc v1.55.0 // indirect google.golang.org/protobuf v1.30.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/influx2otel/go.sum b/influx2otel/go.sum index e3e934c1..06d768f4 100644 --- a/influx2otel/go.sum +++ b/influx2otel/go.sum @@ -22,11 +22,11 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.77.0 h1:oD1N4IGyW2HRQj9VHDjc3+dwzlSdnzyQWYteRDBBCSE= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest v0.77.0 h1:odyOj5qjvg4ZWK0Na0k9maqoxJWvruKGLSZvVZmJcTw= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest v0.77.0/go.mod h1:r5qC3EuxRBvjOif76PTr0H3/32Kjj0rsIsEucl0IfwI= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.77.0 h1:RGAfZrjrJLVB2jRkYc3jZBgCWmZTZu3PdHgo9FKveog= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.77.0/go.mod h1:XpsgD3DSOt1vDSKt9lmVKobPgIM3rMvKATRjCJafrjg= +github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.78.0 h1:FYcWaMxq71hT96GvjtOHpowV2AW8N20GVSeKlphTYYk= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest v0.78.0 h1:qIDISxNXC2UreAOYffDv1YyinVhD3BFJVMe6dlT4emM= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest v0.78.0/go.mod h1:0bNC22k1POocgstpMflbMdmjc2N9WWUyNvNyNcXDwA4= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.78.0 h1:+VhkEnw8MVjMtoLeWniET++JFXAPeQiwvGRey7xEBxk= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.78.0/go.mod h1:nlfWj9H6G41pC+XVfitAK3gimivK8vlB8+Re2Kw3ouU= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= @@ -40,10 +40,10 @@ github.com/stretchr/testify v1.8.2 h1:+h33VjcLVPDHtOdpUCuF+7gSuG3yGIftsP1YvFihtJ github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.opentelemetry.io/collector/pdata v1.0.0-rcv0011 h1:7lT0vseP89mHtUpvgmWYRvQZ0eY+SHbVsnXY20xkoMg= -go.opentelemetry.io/collector/pdata v1.0.0-rcv0011/go.mod h1:9vrXSQBeMRrdfGt9oMgYweqERJ8adaiQjN6LSbqRMMA= -go.opentelemetry.io/collector/semconv v0.77.0 h1:dPG7wjN5x6CNH9ojRgHX6ONvx6DIgXO3st+WXR6KAnw= -go.opentelemetry.io/collector/semconv v0.77.0/go.mod h1:lazBA42nqZPNPWDMiqWfr5eIVeNgRmoLDbQmjXKcm70= +go.opentelemetry.io/collector/pdata v1.0.0-rcv0012 h1:R+cfEUMyLn9Q1QknyQ4QU77pbfc1aJKYEXFHtnwSbCg= +go.opentelemetry.io/collector/pdata v1.0.0-rcv0012/go.mod h1:rEAKFqc1L03lidKtra/2/dJtI0Hp+JsQxuPEIkj/2Vg= +go.opentelemetry.io/collector/semconv v0.78.2 h1:o1tymN831Lqc+7sPxq2FW/2E8fehqLDKMyEELtiYquU= +go.opentelemetry.io/collector/semconv v0.78.2/go.mod h1:lazBA42nqZPNPWDMiqWfr5eIVeNgRmoLDbQmjXKcm70= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= @@ -55,16 +55,16 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.9.0 h1:aWJ/m6xSmxWBx+V0XRHTlrYrPG56jKsLdTFmsSsCzOM= -golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns= +golang.org/x/net v0.10.0 h1:X2//UzNDwYmtCLn7To6G58Wr6f5ahEAQgKNzv9Y951M= +golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.7.0 h1:3jlCCIQZPdOYu1h8BkNvLz8Kgwtae2cagcG/VamtZRU= -golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.8.0 h1:EBmGv8NaZBZTWvrbjNoL6HVt+IVy3QDQpJs7VRIw3tU= +golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.9.0 h1:2sjJmO8cDvYveuX97RDLsxlyUxLl+GHoLxBiRdHllBE= @@ -77,10 +77,10 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/genproto v0.0.0-20230110181048-76db0878b65f h1:BWUVssLB0HVOSY78gIdvk1dTVYtT1y8SBWtPYuTJ/6w= -google.golang.org/genproto v0.0.0-20230110181048-76db0878b65f/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= -google.golang.org/grpc v1.54.0 h1:EhTqbhiYeixwWQtAEZAxmV9MGqcjEU2mFx52xCzNyag= -google.golang.org/grpc v1.54.0/go.mod h1:PUSEXI6iWghWaB6lXM4knEgpJNu2qUcKfDtNci3EC2g= +google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 h1:KpwkzHKEF7B9Zxg18WzOa7djJ+Ha5DzthMyZYQfEn2A= +google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1/go.mod h1:nKE/iIaLqn2bQwXBg8f1g2Ylh6r5MN5CmZvuzZCgsCU= +google.golang.org/grpc v1.55.0 h1:3Oj82/tFSCeUrRTg/5E/7d/W5A1tj6Ky1ABAuZuv5ag= +google.golang.org/grpc v1.55.0/go.mod h1:iYEXKGkEBhg1PjZQvoYEVPTDkHo1/bjTnfwTeGONTY8= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.30.0 h1:kPPoIgf3TsEvrm0PFe15JQ+570QVxYzEvvHqChK+cng= diff --git a/jaeger-influxdb/go.mod b/jaeger-influxdb/go.mod index 419efb48..375029f5 100644 --- a/jaeger-influxdb/go.mod +++ b/jaeger-influxdb/go.mod @@ -5,7 +5,7 @@ go 1.20 require ( github.com/apache/arrow-adbc/go/adbc v0.3.0 github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da - github.com/influxdata/influxdb-observability/common v0.3.8 + github.com/influxdata/influxdb-observability/common v0.3.14 github.com/influxdata/line-protocol/v2 v2.2.1 github.com/jaegertracing/jaeger v1.45.0 github.com/mattn/go-isatty v0.0.18 @@ -13,11 +13,11 @@ require ( github.com/spf13/cobra v1.7.0 github.com/spf13/viper v1.15.0 github.com/stretchr/testify v1.8.2 - go.opentelemetry.io/collector/pdata v1.0.0-rcv0011 - go.opentelemetry.io/collector/semconv v0.77.0 + go.opentelemetry.io/collector/pdata v1.0.0-rcv0012 + go.opentelemetry.io/collector/semconv v0.78.2 go.uber.org/multierr v1.11.0 go.uber.org/zap v1.24.0 - google.golang.org/grpc v1.54.0 + google.golang.org/grpc v1.55.0 ) require ( @@ -66,13 +66,13 @@ require ( go.uber.org/goleak v1.2.0 // indirect golang.org/x/exp v0.0.0-20230206171751-46f607a40771 // indirect golang.org/x/mod v0.8.0 // indirect - golang.org/x/net v0.9.0 // indirect + golang.org/x/net v0.10.0 // indirect golang.org/x/sync v0.1.0 // indirect - golang.org/x/sys v0.7.0 // indirect + golang.org/x/sys v0.8.0 // indirect golang.org/x/text v0.9.0 // indirect golang.org/x/tools v0.6.0 // indirect golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect - google.golang.org/genproto v0.0.0-20230209215440-0dfe4f8abfcc // indirect + google.golang.org/genproto v0.0.0-20230306155012-7f2fa6fef1f4 // indirect google.golang.org/protobuf v1.30.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect diff --git a/jaeger-influxdb/go.sum b/jaeger-influxdb/go.sum index 1157a55d..bd1aa96b 100644 --- a/jaeger-influxdb/go.sum +++ b/jaeger-influxdb/go.sum @@ -288,10 +288,10 @@ go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= -go.opentelemetry.io/collector/pdata v1.0.0-rcv0011 h1:7lT0vseP89mHtUpvgmWYRvQZ0eY+SHbVsnXY20xkoMg= -go.opentelemetry.io/collector/pdata v1.0.0-rcv0011/go.mod h1:9vrXSQBeMRrdfGt9oMgYweqERJ8adaiQjN6LSbqRMMA= -go.opentelemetry.io/collector/semconv v0.77.0 h1:dPG7wjN5x6CNH9ojRgHX6ONvx6DIgXO3st+WXR6KAnw= -go.opentelemetry.io/collector/semconv v0.77.0/go.mod h1:lazBA42nqZPNPWDMiqWfr5eIVeNgRmoLDbQmjXKcm70= +go.opentelemetry.io/collector/pdata v1.0.0-rcv0012 h1:R+cfEUMyLn9Q1QknyQ4QU77pbfc1aJKYEXFHtnwSbCg= +go.opentelemetry.io/collector/pdata v1.0.0-rcv0012/go.mod h1:rEAKFqc1L03lidKtra/2/dJtI0Hp+JsQxuPEIkj/2Vg= +go.opentelemetry.io/collector/semconv v0.78.2 h1:o1tymN831Lqc+7sPxq2FW/2E8fehqLDKMyEELtiYquU= +go.opentelemetry.io/collector/semconv v0.78.2/go.mod h1:lazBA42nqZPNPWDMiqWfr5eIVeNgRmoLDbQmjXKcm70= go.uber.org/atomic v1.10.0 h1:9qC72Qh0+3MqyJbAn8YU5xVq1frD8bn3JtD2oXtafVQ= go.uber.org/atomic v1.10.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= go.uber.org/goleak v1.2.0 h1:xqgm/S+aQvhWFTtR0XK3Jvg7z8kGV8P4X14IzwN3Eqk= @@ -375,8 +375,8 @@ golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwY golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.9.0 h1:aWJ/m6xSmxWBx+V0XRHTlrYrPG56jKsLdTFmsSsCzOM= -golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns= +golang.org/x/net v0.10.0 h1:X2//UzNDwYmtCLn7To6G58Wr6f5ahEAQgKNzv9Y951M= +golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -440,8 +440,8 @@ golang.org/x/sys v0.0.0-20220704084225-05e143d24a9e/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.7.0 h1:3jlCCIQZPdOYu1h8BkNvLz8Kgwtae2cagcG/VamtZRU= -golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.8.0 h1:EBmGv8NaZBZTWvrbjNoL6HVt+IVy3QDQpJs7VRIw3tU= +golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -574,8 +574,8 @@ google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6D google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210108203827-ffc7fda8c3d7/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210226172003-ab064af71705/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20230209215440-0dfe4f8abfcc h1:ijGwO+0vL2hJt5gaygqP2j6PfflOBrRot0IczKbmtio= -google.golang.org/genproto v0.0.0-20230209215440-0dfe4f8abfcc/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20230306155012-7f2fa6fef1f4 h1:DdoeryqhaXp1LtT/emMP1BRJPHHKFi5akj/nbx/zNTA= +google.golang.org/genproto v0.0.0-20230306155012-7f2fa6fef1f4/go.mod h1:NWraEVixdDnqcqQ30jipen1STv2r/n24Wb7twVTGR4s= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= @@ -592,8 +592,8 @@ google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8= google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.54.0 h1:EhTqbhiYeixwWQtAEZAxmV9MGqcjEU2mFx52xCzNyag= -google.golang.org/grpc v1.54.0/go.mod h1:PUSEXI6iWghWaB6lXM4knEgpJNu2qUcKfDtNci3EC2g= +google.golang.org/grpc v1.55.0 h1:3Oj82/tFSCeUrRTg/5E/7d/W5A1tj6Ky1ABAuZuv5ag= +google.golang.org/grpc v1.55.0/go.mod h1:iYEXKGkEBhg1PjZQvoYEVPTDkHo1/bjTnfwTeGONTY8= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= diff --git a/otel2influx/go.mod b/otel2influx/go.mod index f14bea02..963a9e40 100644 --- a/otel2influx/go.mod +++ b/otel2influx/go.mod @@ -4,12 +4,12 @@ go 1.19 require ( github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da - github.com/influxdata/influxdb-observability/common v0.3.8 - github.com/stretchr/testify v1.8.2 - go.opentelemetry.io/collector/component v0.77.0 - go.opentelemetry.io/collector/consumer v0.77.0 - go.opentelemetry.io/collector/pdata v1.0.0-rcv0011 - go.opentelemetry.io/collector/semconv v0.77.0 + github.com/influxdata/influxdb-observability/common v0.3.14 + github.com/stretchr/testify v1.8.3 + go.opentelemetry.io/collector/component v0.78.2 + go.opentelemetry.io/collector/consumer v0.78.2 + go.opentelemetry.io/collector/pdata v1.0.0-rcv0012 + go.opentelemetry.io/collector/semconv v0.78.2 go.opentelemetry.io/otel v1.15.1 go.opentelemetry.io/otel/metric v0.38.1 go.opentelemetry.io/otel/sdk v1.15.1 @@ -31,17 +31,17 @@ require ( github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - go.opentelemetry.io/collector v0.77.0 // indirect - go.opentelemetry.io/collector/confmap v0.77.0 // indirect - go.opentelemetry.io/collector/featuregate v0.77.0 // indirect + go.opentelemetry.io/collector v0.78.2 // indirect + go.opentelemetry.io/collector/confmap v0.78.2 // indirect + go.opentelemetry.io/collector/featuregate v1.0.0-rcv0012 // indirect go.opentelemetry.io/otel/trace v1.15.1 // indirect go.uber.org/atomic v1.10.0 // indirect go.uber.org/zap v1.24.0 // indirect - golang.org/x/net v0.9.0 // indirect - golang.org/x/sys v0.7.0 // indirect + golang.org/x/net v0.10.0 // indirect + golang.org/x/sys v0.8.0 // indirect golang.org/x/text v0.9.0 // indirect - google.golang.org/genproto v0.0.0-20230110181048-76db0878b65f // indirect - google.golang.org/grpc v1.54.0 // indirect + google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 // indirect + google.golang.org/grpc v1.55.0 // indirect google.golang.org/protobuf v1.30.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/otel2influx/go.sum b/otel2influx/go.sum index 50e3eac0..9c1ac6bd 100644 --- a/otel2influx/go.sum +++ b/otel2influx/go.sum @@ -243,37 +243,33 @@ github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= -github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/stretchr/testify v1.8.2 h1:+h33VjcLVPDHtOdpUCuF+7gSuG3yGIftsP1YvFihtJ8= -github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= +github.com/stretchr/testify v1.8.3 h1:RP3t2pwF7cMEbC1dqtB6poj3niw/9gnV4Cjg5oW5gtY= +github.com/stretchr/testify v1.8.3/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= go.etcd.io/etcd/api/v3 v3.5.4/go.mod h1:5GB2vv4A4AOn3yk7MftYGHkUfGtDHnEraIjym4dYz5A= go.etcd.io/etcd/client/pkg/v3 v3.5.4/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= go.etcd.io/etcd/client/v3 v3.5.4/go.mod h1:ZaRkVgBZC+L+dLCjTcF1hRXpgZXQPOvnA/Ak/gq3kiY= -go.opentelemetry.io/collector v0.77.0 h1:Ppvt+tpmev3bCCpsZqYXba0+p2GifOsXEb9T7vDVrb4= -go.opentelemetry.io/collector v0.77.0/go.mod h1:9Tm046QP2VvsKfPN7r5cjW9ufxK0U+cqqaVrYrCm6r8= -go.opentelemetry.io/collector/component v0.77.0 h1:JCj0qje2KGXI4fUuoK1wFbDnFny12eGUuEZxKebxt88= -go.opentelemetry.io/collector/component v0.77.0/go.mod h1:LryNtI4+dE3j3iyUa/rCELa8YFrDM7sF/wAGvhxs95A= -go.opentelemetry.io/collector/confmap v0.77.0 h1:5TxOQsqcT2vFcZCM0GPN+5nNcNSGKUElQnuKUXDxrKE= -go.opentelemetry.io/collector/confmap v0.77.0/go.mod h1:C5Nxd2CHsq6erIkuXDlSX0aFkaXc8zO5lQhrvh1sa9k= -go.opentelemetry.io/collector/consumer v0.77.0 h1:wexoEBUHl7mr50Zgu/mt/OLlCV7N8xLeBcUXrHUTTKQ= -go.opentelemetry.io/collector/consumer v0.77.0/go.mod h1:8BsEwVvG6qX/T5pqgo9rpD3XyW/3/a95Cg3Tgo9//kU= -go.opentelemetry.io/collector/featuregate v0.77.0 h1:m1/IzaXoQh6SgF6CM80vrBOCf5zSJ2GVISfA27fYzGU= -go.opentelemetry.io/collector/featuregate v0.77.0/go.mod h1:/kVAsGUCyJXIDSgHftCN63QiwAEVHRLX2Kh/S+dqgHY= -go.opentelemetry.io/collector/pdata v1.0.0-rcv0011 h1:7lT0vseP89mHtUpvgmWYRvQZ0eY+SHbVsnXY20xkoMg= -go.opentelemetry.io/collector/pdata v1.0.0-rcv0011/go.mod h1:9vrXSQBeMRrdfGt9oMgYweqERJ8adaiQjN6LSbqRMMA= -go.opentelemetry.io/collector/semconv v0.77.0 h1:dPG7wjN5x6CNH9ojRgHX6ONvx6DIgXO3st+WXR6KAnw= -go.opentelemetry.io/collector/semconv v0.77.0/go.mod h1:lazBA42nqZPNPWDMiqWfr5eIVeNgRmoLDbQmjXKcm70= +go.opentelemetry.io/collector v0.78.2 h1:q8RCyWeS/oXBBilAx4XaWwYSSU5omwkkD2lBrKBNaT0= +go.opentelemetry.io/collector v0.78.2/go.mod h1:MweYHkPHYIY4ncWmeFQH36XjlMLNej/5dB9nTRf1DUg= +go.opentelemetry.io/collector/component v0.78.2 h1:luDNrTiz5KvHgF6Dg7Tpmvgh3xFaOzqdOxB3evvwE34= +go.opentelemetry.io/collector/component v0.78.2/go.mod h1:AoRSBnuMw0O1f1ZhslW7fx1vrP/0/JNgC2RqPIbczW0= +go.opentelemetry.io/collector/confmap v0.78.2 h1:P3IRJ4OC585whSU7NNujK+I+JtJ6bC9DHmmOWiFdQZk= +go.opentelemetry.io/collector/confmap v0.78.2/go.mod h1:nudYcQJDF5zmAd2GKe5PetMF8/Lg1Mc/EjAKQBXHdyg= +go.opentelemetry.io/collector/consumer v0.78.2 h1:KrjSRMb4Qcb+kgQeDql4IQg4C7bLlZ4hV4s/FkXJeL8= +go.opentelemetry.io/collector/consumer v0.78.2/go.mod h1:9QT9HNwBuqLlO8znbXby+UJI04bv7wPw4rD9SrOxAoY= +go.opentelemetry.io/collector/featuregate v1.0.0-rcv0012 h1:pSO81lfikGEgRXHepmOGy2o6WWCly427UJCgMJC5c8g= +go.opentelemetry.io/collector/featuregate v1.0.0-rcv0012/go.mod h1:/kVAsGUCyJXIDSgHftCN63QiwAEVHRLX2Kh/S+dqgHY= +go.opentelemetry.io/collector/pdata v1.0.0-rcv0012 h1:R+cfEUMyLn9Q1QknyQ4QU77pbfc1aJKYEXFHtnwSbCg= +go.opentelemetry.io/collector/pdata v1.0.0-rcv0012/go.mod h1:rEAKFqc1L03lidKtra/2/dJtI0Hp+JsQxuPEIkj/2Vg= +go.opentelemetry.io/collector/semconv v0.78.2 h1:o1tymN831Lqc+7sPxq2FW/2E8fehqLDKMyEELtiYquU= +go.opentelemetry.io/collector/semconv v0.78.2/go.mod h1:lazBA42nqZPNPWDMiqWfr5eIVeNgRmoLDbQmjXKcm70= go.opentelemetry.io/otel v1.15.1 h1:3Iwq3lfRByPaws0f6bU3naAqOR1n5IeDWd9390kWHa8= go.opentelemetry.io/otel v1.15.1/go.mod h1:mHHGEHVDLal6YrKMmk9LqC4a3sF5g+fHfrttQIB1NTc= go.opentelemetry.io/otel/metric v0.38.1 h1:2MM7m6wPw9B8Qv8iHygoAgkbejed59uUR6ezR5T3X2s= @@ -325,8 +321,8 @@ golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwY golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= golang.org/x/net v0.0.0-20210410081132-afb366fc7cd1/go.mod h1:9tjilg8BloeKEkVJvy7fQ90B1CfIiPueXVOjqfkSzI8= -golang.org/x/net v0.9.0 h1:aWJ/m6xSmxWBx+V0XRHTlrYrPG56jKsLdTFmsSsCzOM= -golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns= +golang.org/x/net v0.10.0 h1:X2//UzNDwYmtCLn7To6G58Wr6f5ahEAQgKNzv9Y951M= +golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -369,8 +365,8 @@ golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.7.0 h1:3jlCCIQZPdOYu1h8BkNvLz8Kgwtae2cagcG/VamtZRU= -golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.8.0 h1:EBmGv8NaZBZTWvrbjNoL6HVt+IVy3QDQpJs7VRIw3tU= +golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20181227161524-e6919f6577db/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= @@ -404,8 +400,8 @@ google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98 google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto v0.0.0-20230110181048-76db0878b65f h1:BWUVssLB0HVOSY78gIdvk1dTVYtT1y8SBWtPYuTJ/6w= -google.golang.org/genproto v0.0.0-20230110181048-76db0878b65f/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 h1:KpwkzHKEF7B9Zxg18WzOa7djJ+Ha5DzthMyZYQfEn2A= +google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1/go.mod h1:nKE/iIaLqn2bQwXBg8f1g2Ylh6r5MN5CmZvuzZCgsCU= google.golang.org/grpc v1.14.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.22.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= @@ -414,8 +410,8 @@ google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQ google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.54.0 h1:EhTqbhiYeixwWQtAEZAxmV9MGqcjEU2mFx52xCzNyag= -google.golang.org/grpc v1.54.0/go.mod h1:PUSEXI6iWghWaB6lXM4knEgpJNu2qUcKfDtNci3EC2g= +google.golang.org/grpc v1.55.0 h1:3Oj82/tFSCeUrRTg/5E/7d/W5A1tj6Ky1ABAuZuv5ag= +google.golang.org/grpc v1.55.0/go.mod h1:iYEXKGkEBhg1PjZQvoYEVPTDkHo1/bjTnfwTeGONTY8= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= diff --git a/tests-integration/go.mod b/tests-integration/go.mod index 82ea8ff4..62dbebc0 100644 --- a/tests-integration/go.mod +++ b/tests-integration/go.mod @@ -8,24 +8,25 @@ require ( github.com/influxdata/telegraf v1.25.3 github.com/open-telemetry/opentelemetry-collector-contrib/exporter/influxdbexporter v0.77.0 github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckextension v0.77.0 - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest v0.77.0 + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest v0.78.0 github.com/open-telemetry/opentelemetry-collector-contrib/receiver/influxdbreceiver v0.77.0 - github.com/stretchr/testify v1.8.2 - go.opentelemetry.io/collector v0.77.0 - go.opentelemetry.io/collector/component v0.77.0 - go.opentelemetry.io/collector/confmap v0.77.0 - go.opentelemetry.io/collector/consumer v0.77.0 - go.opentelemetry.io/collector/exporter v0.77.0 - go.opentelemetry.io/collector/pdata v1.0.0-rcv0011 - go.opentelemetry.io/collector/receiver v0.77.0 + github.com/stretchr/testify v1.8.3 + go.opentelemetry.io/collector v0.78.2 + go.opentelemetry.io/collector/component v0.78.2 + go.opentelemetry.io/collector/confmap v0.78.2 + go.opentelemetry.io/collector/consumer v0.78.2 + go.opentelemetry.io/collector/exporter v0.78.2 + go.opentelemetry.io/collector/pdata v1.0.0-rcv0012 + go.opentelemetry.io/collector/receiver v0.78.2 go.uber.org/zap v1.24.0 - google.golang.org/grpc v1.54.0 + google.golang.org/grpc v1.55.0 ) require ( contrib.go.opencensus.io/exporter/prometheus v0.4.2 // indirect github.com/alecthomas/participle v0.4.1 // indirect github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137 // indirect + github.com/apache/arrow/go/v11 v11.0.0 // indirect github.com/awnumar/memcall v0.1.2 // indirect github.com/awnumar/memguard v0.22.3 // indirect github.com/benbjohnson/clock v1.3.0 // indirect @@ -51,7 +52,7 @@ require ( github.com/google/uuid v1.3.0 // indirect github.com/gosnmp/gosnmp v1.35.0 // indirect github.com/inconshreveable/mousetrap v1.1.0 // indirect - github.com/influxdata/influxdb-observability/common v0.3.8 // indirect + github.com/influxdata/influxdb-observability/common v0.3.14 // indirect github.com/influxdata/influxdb-observability/influx2otel v0.3.8 // indirect github.com/influxdata/influxdb-observability/otel2influx v0.3.8 // indirect github.com/influxdata/toml v0.0.0-20190415235208-270119a8ce65 // indirect @@ -70,19 +71,19 @@ require ( github.com/modern-go/reflect2 v1.0.2 // indirect github.com/naoina/go-stringutil v0.1.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.77.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.77.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.78.0 // indirect github.com/philhofer/fwd v1.1.1 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect github.com/power-devops/perfstat v0.0.0-20220216144756-c35f1ee13d7c // indirect - github.com/prometheus/client_golang v1.15.0 // indirect - github.com/prometheus/client_model v0.3.0 // indirect - github.com/prometheus/common v0.42.0 // indirect + github.com/prometheus/client_golang v1.15.1 // indirect + github.com/prometheus/client_model v0.4.0 // indirect + github.com/prometheus/common v0.43.0 // indirect github.com/prometheus/procfs v0.9.0 // indirect github.com/prometheus/prometheus v1.8.2-0.20210430082741-2a4b8e12bbf2 // indirect github.com/prometheus/statsd_exporter v0.22.7 // indirect github.com/rs/cors v1.9.0 // indirect - github.com/shirou/gopsutil/v3 v3.23.3 // indirect - github.com/shoenig/go-m1cpu v0.1.4 // indirect + github.com/shirou/gopsutil/v3 v3.23.4 // indirect + github.com/shoenig/go-m1cpu v0.1.5 // indirect github.com/sleepinggenius2/gosmi v0.4.4 // indirect github.com/spf13/cobra v1.7.0 // indirect github.com/spf13/pflag v1.0.5 // indirect @@ -91,12 +92,12 @@ require ( github.com/tklauser/numcpus v0.6.0 // indirect github.com/yusufpapurcu/wmi v1.2.2 // indirect go.opencensus.io v0.24.0 // indirect - go.opentelemetry.io/collector/featuregate v0.77.0 // indirect - go.opentelemetry.io/collector/semconv v0.77.0 // indirect + go.opentelemetry.io/collector/featuregate v1.0.0-rcv0012 // indirect + go.opentelemetry.io/collector/semconv v0.78.2 // indirect go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.41.1 // indirect - go.opentelemetry.io/contrib/propagators/b3 v1.15.0 // indirect + go.opentelemetry.io/contrib/propagators/b3 v1.16.1 // indirect go.opentelemetry.io/otel v1.15.1 // indirect - go.opentelemetry.io/otel/bridge/opencensus v0.38.0 // indirect + go.opentelemetry.io/otel/bridge/opencensus v0.38.1 // indirect go.opentelemetry.io/otel/exporters/prometheus v0.38.1 // indirect go.opentelemetry.io/otel/metric v0.38.1 // indirect go.opentelemetry.io/otel/sdk v1.15.1 // indirect @@ -105,11 +106,11 @@ require ( go.uber.org/atomic v1.10.0 // indirect go.uber.org/multierr v1.11.0 // indirect golang.org/x/crypto v0.5.0 // indirect - golang.org/x/net v0.9.0 // indirect - golang.org/x/sys v0.7.0 // indirect + golang.org/x/net v0.10.0 // indirect + golang.org/x/sys v0.8.0 // indirect golang.org/x/text v0.9.0 // indirect - gonum.org/v1/gonum v0.12.0 // indirect - google.golang.org/genproto v0.0.0-20230110181048-76db0878b65f // indirect + gonum.org/v1/gonum v0.13.0 // indirect + google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 // indirect google.golang.org/protobuf v1.30.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect diff --git a/tests-integration/go.sum b/tests-integration/go.sum index b574947e..718e23de 100644 --- a/tests-integration/go.sum +++ b/tests-integration/go.sum @@ -19,26 +19,26 @@ cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKP cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk= cloud.google.com/go v0.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECHg= cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb8= -cloud.google.com/go v0.107.0 h1:qkj22L7bgkl6vIeZDlOY2po43Mx/TIa2Wsa7VR+PEww= +cloud.google.com/go v0.110.0 h1:Zc8gqp3+a9/Eyph2KDmcGaPtbKRIoqq4YTlL4NMD0Ys= cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= -cloud.google.com/go/bigquery v1.45.0 h1:DdniQAaoQU7A/L9l6UrSBX/e0BUS2vmwC9Ll/LUQbUY= +cloud.google.com/go/bigquery v1.50.0 h1:RscMV6LbnAmhAzD893Lv9nXXy2WCaJmbxYPWDLbGqNQ= cloud.google.com/go/bigtable v1.2.0/go.mod h1:JcVAOl45lrTmQfLj7T6TxyMzIN/3FGGcFm+2xVAli2o= -cloud.google.com/go/compute v1.15.1 h1:7UGq3QknM33pw5xATlpzeoomNxsacIVvTqTTvbfajmE= +cloud.google.com/go/compute v1.19.0 h1:+9zda3WGgW1ZSTlVppLCYFIr48Pa35q1uG2N1itbCEQ= cloud.google.com/go/compute/metadata v0.2.3 h1:mg4jlk7mCAj6xXp9UJ4fjI9VUI5rubuGBW5aJ7UnBMY= cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= -cloud.google.com/go/iam v0.8.0 h1:E2osAkZzxI/+8pZcxVLcDtAQx/u+hZXVryUaYQ5O0Kk= -cloud.google.com/go/monitoring v1.8.0 h1:c9riaGSPQ4dUKWB+M1Fl0N+iLxstMbCktdEwYSPGDvA= +cloud.google.com/go/iam v0.13.0 h1:+CmB+K0J/33d0zSQ9SlFWUeCCEn5XJA0ZMZ3pHE9u8k= +cloud.google.com/go/monitoring v1.13.0 h1:2qsrgXGVoRXpP7otZ14eE1I568zAa92sJSDPyOJvwjM= cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= -cloud.google.com/go/pubsub v1.28.0 h1:XzabfdPx/+eNrsVVGLFgeUnQQKPGkMb8klRCeYK52is= +cloud.google.com/go/pubsub v1.30.0 h1:vCge8m7aUKBJYOgrZp7EsNDf6QMd2CAlXZqWTn3yq6s= cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= @@ -135,12 +135,15 @@ github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137/go.mod h1:OMCwj8V github.com/aliyun/alibaba-cloud-sdk-go v1.62.77 h1:qibzE6j4xrBUDXQ+VZGguqYKQSAkd7z2y3UQz/RNvcc= github.com/amir/raidman v0.0.0-20170415203553-1ccc43bfb9c9 h1:FXrPTd8Rdlc94dKccl7KPmdmIbVh/OjelJ8/vgMRzcQ= github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8= +github.com/andybalholm/brotli v1.0.4 h1:V7DdXeJtZscaqfNuAdSRuRFzuiKlHSC/Zh3zl9qY3JY= github.com/antchfx/jsonquery v1.3.1 h1:kh3599hMLpygvcxoENcj99eCvnS++JjRX10LjNYhK58= github.com/antchfx/xmlquery v1.3.15 h1:aJConNMi1sMha5G8YJoAIF5P+H+qG1L73bSItWHo8Tw= github.com/antchfx/xpath v1.2.3 h1:CCZWOzv5bAqjVv0offZ2LVgVYFbeldKQVuLNbViZdes= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= github.com/apache/arrow/go/arrow v0.0.0-20191024131854-af6fa24be0db/go.mod h1:VTxUBvSJ3s3eHAg65PNgrsn5BtqCRPdmyXh6rAfdxN0= github.com/apache/arrow/go/arrow v0.0.0-20211112161151-bc219186db40 h1:q4dksr6ICHXqG5hm0ZW5IHyeEJXoIJSOZeBLmWPNeIQ= +github.com/apache/arrow/go/v11 v11.0.0 h1:hqauxvFQxww+0mEU/2XHG6LT7eZternCZq+A5Yly2uM= +github.com/apache/arrow/go/v11 v11.0.0/go.mod h1:Eg5OsL5H+e299f7u5ssuXsuHQVEGC4xei5aX110hRiI= github.com/apache/iotdb-client-go v0.12.2-0.20220722111104-cd17da295b46 h1:28HyUQcr8ZCyCAatR0gkf9PuLr52U2T+66tx5Th0nxI= github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= github.com/apache/thrift v0.13.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= @@ -489,6 +492,7 @@ github.com/gobuffalo/packr/v2 v2.2.0/go.mod h1:CaAwI0GPIAv+5wKLtv8Afwl+Cm78K/I/V github.com/gobuffalo/syncx v0.0.0-20190224160051-33c29581e754/go.mod h1:HhnNqWY95UYwwW3uSASeV7vtgYkT2t16hJgV3AEPUpw= github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y= github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8= +github.com/goccy/go-json v0.9.11 h1:/pAaQDLHEoCq/5FFmSKBswWmK6H0e8g4159Kc/X/nqk= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/gofrs/uuid v3.3.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= github.com/gofrs/uuid v4.2.0+incompatible h1:yyYWMnhkhrKwwr8gAOcOCYxOOscHgDS9yZgBrnJfGa0= @@ -778,11 +782,14 @@ github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvW github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= +github.com/klauspost/asmfmt v1.3.2 h1:4Ri7ox3EwapiOjCki+hw14RyKk201CN4rzyCJRFLpK4= github.com/klauspost/compress v1.4.0/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= github.com/klauspost/compress v1.9.5/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= github.com/klauspost/compress v1.16.5 h1:IFV2oUNUzZaz+XyusxpLzpzS8Pt5rh0Z16For/djlyI= github.com/klauspost/compress v1.16.5/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= +github.com/klauspost/cpuid v0.0.0-20170728055534-ae7887de9fa5 h1:2U0HzY8BJ8hVwDKIzp7y4voR9CX/nvcfymLmg2UiOio= github.com/klauspost/cpuid v0.0.0-20170728055534-ae7887de9fa5/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek= +github.com/klauspost/cpuid/v2 v2.0.9 h1:lgaqFMSdTdQYdZ04uHyN2d/eKdOMyi2YLSvlQIBFYa4= github.com/klauspost/crc32 v0.0.0-20161016154125-cb6bfca970f6/go.mod h1:+ZoRqAPRLkC4NPOvfYeR5KNOrY6TD+/sAC3HXPZgDYg= github.com/klauspost/pgzip v1.0.2-0.20170402124221-0bf5dcad4ada/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQKQE9RUs= github.com/knadh/koanf v1.5.0 h1:q2TSd/3Pyc/5yP9ldIrSdIz26MCcyNQzW0pEAugLPNs= @@ -855,6 +862,8 @@ github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3N github.com/miekg/dns v1.1.26/go.mod h1:bPDLeHnStXmXAq1m/Ch/hvfNHr14JKNPMBo3VZKjuso= github.com/miekg/dns v1.1.41/go.mod h1:p6aan82bvRIyn+zDIv9xYNUpwa73JcSh9BKwknJysuI= github.com/miekg/dns v1.1.50 h1:DQUfb9uc6smULcREF09Uc+/Gd46YWqJd5DbpPE9xkcA= +github.com/minio/asm2plan9s v0.0.0-20200509001527-cdd76441f9d8 h1:AMFGa4R4MiIpspGNG7Z948v4n35fFGB3RR3G/ry4FWs= +github.com/minio/c2goasm v0.0.0-20190812172519-36a3d3bbc4f3 h1:+n/aFZefKZp7spd8DFdX7uMikMLXX4oubIzJF4kv/wI= github.com/minio/highwayhash v1.0.2 h1:Aak5U0nElisjDCfPSG79Tgzkn2gl66NxOMspRrKnA/g= github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= github.com/mitchellh/cli v1.1.0/go.mod h1:xcISNoH86gajksDmfB23e/pu+B+GeFRMYmoHXxx3xhI= @@ -944,11 +953,11 @@ github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthchecke github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckextension v0.77.0/go.mod h1:Ss6IhnOn9YGiGfi/Y3MevxUbs8CTIdcbrwIBZ9g1fZE= github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.77.0 h1:HPVUROsYrT7mhQmN7Uq5nBSHal2EBt1jMgSl4SaZwmk= github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.77.0/go.mod h1:1SVC7lnA0oBe04J8227vIyrWPoqAE34uf1v2hV6ZA4s= -github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.77.0 h1:oD1N4IGyW2HRQj9VHDjc3+dwzlSdnzyQWYteRDBBCSE= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest v0.77.0 h1:odyOj5qjvg4ZWK0Na0k9maqoxJWvruKGLSZvVZmJcTw= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest v0.77.0/go.mod h1:r5qC3EuxRBvjOif76PTr0H3/32Kjj0rsIsEucl0IfwI= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.77.0 h1:RGAfZrjrJLVB2jRkYc3jZBgCWmZTZu3PdHgo9FKveog= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.77.0/go.mod h1:XpsgD3DSOt1vDSKt9lmVKobPgIM3rMvKATRjCJafrjg= +github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.78.0 h1:FYcWaMxq71hT96GvjtOHpowV2AW8N20GVSeKlphTYYk= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest v0.78.0 h1:qIDISxNXC2UreAOYffDv1YyinVhD3BFJVMe6dlT4emM= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest v0.78.0/go.mod h1:0bNC22k1POocgstpMflbMdmjc2N9WWUyNvNyNcXDwA4= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.78.0 h1:+VhkEnw8MVjMtoLeWniET++JFXAPeQiwvGRey7xEBxk= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.78.0/go.mod h1:nlfWj9H6G41pC+XVfitAK3gimivK8vlB8+Re2Kw3ouU= github.com/open-telemetry/opentelemetry-collector-contrib/receiver/influxdbreceiver v0.77.0 h1:7atn73nXDxR59rpVJbihQ+v7KIg6RAhim4SRzozrTFc= github.com/open-telemetry/opentelemetry-collector-contrib/receiver/influxdbreceiver v0.77.0/go.mod h1:TTZl/UvlpA+PRXRKA7XX0mEcpZ8IrcPf32xhVGPQU5w= github.com/openconfig/gnmi v0.0.0-20220920173703-480bf53a74d2 h1:3YLlQFLDsFTvruKoYBbuYqhCgsXMtNewSrLjNXcF/Sg= @@ -1020,16 +1029,16 @@ github.com/prometheus/client_golang v1.11.1/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqr github.com/prometheus/client_golang v1.12.1/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= github.com/prometheus/client_golang v1.12.2/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= github.com/prometheus/client_golang v1.13.0/go.mod h1:vTeo+zgvILHsnnj/39Ou/1fPN5nJFOEMgftOUOmlvYQ= -github.com/prometheus/client_golang v1.15.0 h1:5fCgGYogn0hFdhyhLbw7hEsWxufKtY9klyvdNfFlFhM= -github.com/prometheus/client_golang v1.15.0/go.mod h1:e9yaBhRPU2pPNsZwE+JdQl0KEt1N9XgF6zxWmaC0xOk= +github.com/prometheus/client_golang v1.15.1 h1:8tXpTmJbyH5lydzFPoxSIJ0J46jdh3tylbvM1xCv0LI= +github.com/prometheus/client_golang v1.15.1/go.mod h1:e9yaBhRPU2pPNsZwE+JdQl0KEt1N9XgF6zxWmaC0xOk= github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20190115171406-56726106282f/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.1.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.3.0 h1:UBgGFHqYdG/TPFD1B1ogZywDqEkwp3fBMvqdiQ7Xew4= -github.com/prometheus/client_model v0.3.0/go.mod h1:LDGWKZIo7rky3hgvBe+caln+Dr3dPggB5dvjtD7w9+w= +github.com/prometheus/client_model v0.4.0 h1:5lQXD3cAg1OXBf4Wq03gTrXHeaV0TQvGfUooCfx1yqY= +github.com/prometheus/client_model v0.4.0/go.mod h1:oMQmHW1/JoDwqLtg57MGgP/Fb1CJEYF2imWWhWtMkYU= github.com/prometheus/common v0.2.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.6.0/go.mod h1:eBmuwkDJBwy6iBfxCBob6t6dR6ENT/y+J+Zk0j9GMYc= @@ -1043,8 +1052,8 @@ github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9 github.com/prometheus/common v0.32.1/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= github.com/prometheus/common v0.35.0/go.mod h1:phzohg0JFMnBEFGxTDbfu3QyL5GI8gTQJFhYO5B3mfA= github.com/prometheus/common v0.37.0/go.mod h1:phzohg0JFMnBEFGxTDbfu3QyL5GI8gTQJFhYO5B3mfA= -github.com/prometheus/common v0.42.0 h1:EKsfXEYo4JpWMHH5cg+KOUWeuJSov1Id8zGR8eeI1YM= -github.com/prometheus/common v0.42.0/go.mod h1:xBwqVerjNdUDjgODMpudtOMwlOwf2SaTr1yjz4b7Zbc= +github.com/prometheus/common v0.43.0 h1:iq+BVjvYLei5f27wiuNiB1DN6DYQkp1c8Bx0Vykh5us= +github.com/prometheus/common v0.43.0/go.mod h1:NCvr5cQIh3Y/gy73/RdVtC9r8xxrxwJnB+2lB3BxrFc= github.com/prometheus/exporter-toolkit v0.5.1/go.mod h1:OCkM4805mmisBhLmVFw858QYi3v0wKdY6/UxrT0pZVg= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20190117184657-bf6a532e95b1/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= @@ -1092,10 +1101,10 @@ github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg github.com/segmentio/kafka-go v0.1.0/go.mod h1:X6itGqS9L4jDletMsxZ7Dz+JFWxM6JHfPOCvTvk+EJo= github.com/segmentio/kafka-go v0.2.0/go.mod h1:X6itGqS9L4jDletMsxZ7Dz+JFWxM6JHfPOCvTvk+EJo= github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo= -github.com/shirou/gopsutil/v3 v3.23.3 h1:Syt5vVZXUDXPEXpIBt5ziWsJ4LdSAAxF4l/xZeQgSEE= -github.com/shirou/gopsutil/v3 v3.23.3/go.mod h1:lSBNN6t3+D6W5e5nXTxc8KIMMVxAcS+6IJlffjRRlMU= -github.com/shoenig/go-m1cpu v0.1.4 h1:SZPIgRM2sEF9NJy50mRHu9PKGwxyyTTJIWvCtgVbozs= -github.com/shoenig/go-m1cpu v0.1.4/go.mod h1:Wwvst4LR89UxjeFtLRMrpgRiyY4xPsejnVZym39dbAQ= +github.com/shirou/gopsutil/v3 v3.23.4 h1:hZwmDxZs7Ewt75DV81r4pFMqbq+di2cbt9FsQBqLD2o= +github.com/shirou/gopsutil/v3 v3.23.4/go.mod h1:ZcGxyfzAMRevhUR2+cfhXDH6gQdFYE/t8j1nsU4mPI8= +github.com/shoenig/go-m1cpu v0.1.5 h1:LF57Z/Fpb/WdGLjt2HZilNnmZOxg/q2bSKTQhgbrLrQ= +github.com/shoenig/go-m1cpu v0.1.5/go.mod h1:Wwvst4LR89UxjeFtLRMrpgRiyY4xPsejnVZym39dbAQ= github.com/shoenig/test v0.6.3 h1:GVXWJFk9PiOjN0KoJ7VrJGH6uLPnqxR7/fe3HUPfE0c= github.com/shoenig/test v0.6.3/go.mod h1:byHiCGXqrVaflBLAMq/srcZIHynQPQgeyvkvXnjqq0k= github.com/showwin/speedtest-go v1.2.1 h1:5GrQFGn5N4YRBCaiph6ay6Py9yL2k7Ja10bbUZl9HPE= @@ -1150,8 +1159,9 @@ github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/ github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.8.2 h1:+h33VjcLVPDHtOdpUCuF+7gSuG3yGIftsP1YvFihtJ8= github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= +github.com/stretchr/testify v1.8.3 h1:RP3t2pwF7cMEbC1dqtB6poj3niw/9gnV4Cjg5oW5gtY= +github.com/stretchr/testify v1.8.3/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/stvp/go-udp-testing v0.0.0-20201019212854-469649b16807/go.mod h1:7jxmlfBCDBXRzr0eAQJ48XC1hBu1np4CS5+cHEYfwpc= github.com/testcontainers/testcontainers-go v0.18.0 h1:8RXrcIQv5xX/uBOSmZd297gzvA7F0yuRA37/918o7Yg= github.com/thomasklein94/packer-plugin-libvirt v0.3.4 h1:K+NkHFcZuiUTp4ZiDdBhWRMZiSMdsXwGuzyg4THKDAU= @@ -1203,6 +1213,7 @@ github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1 github.com/yuin/gopher-lua v0.0.0-20200816102855-ee81675732da h1:NimzV1aGyq29m5ukMK0AMWEhFaL/lrEOaephfuoiARg= github.com/yusufpapurcu/wmi v1.2.2 h1:KBNDSne4vP5mbSWnJbO+51IMOXJB67QiYCSBrubbPRg= github.com/yusufpapurcu/wmi v1.2.2/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= +github.com/zeebo/xxh3 v1.0.2 h1:xZmwmqxHZA8AI603jOQ0tMqmBr9lPeFwGg6d+xy9DC0= go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg= go.etcd.io/etcd/api/v3 v3.5.4/go.mod h1:5GB2vv4A4AOn3yk7MftYGHkUfGtDHnEraIjym4dYz5A= @@ -1228,34 +1239,34 @@ go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= -go.opentelemetry.io/collector v0.77.0 h1:Ppvt+tpmev3bCCpsZqYXba0+p2GifOsXEb9T7vDVrb4= -go.opentelemetry.io/collector v0.77.0/go.mod h1:9Tm046QP2VvsKfPN7r5cjW9ufxK0U+cqqaVrYrCm6r8= -go.opentelemetry.io/collector/component v0.77.0 h1:JCj0qje2KGXI4fUuoK1wFbDnFny12eGUuEZxKebxt88= -go.opentelemetry.io/collector/component v0.77.0/go.mod h1:LryNtI4+dE3j3iyUa/rCELa8YFrDM7sF/wAGvhxs95A= -go.opentelemetry.io/collector/confmap v0.77.0 h1:5TxOQsqcT2vFcZCM0GPN+5nNcNSGKUElQnuKUXDxrKE= -go.opentelemetry.io/collector/confmap v0.77.0/go.mod h1:C5Nxd2CHsq6erIkuXDlSX0aFkaXc8zO5lQhrvh1sa9k= -go.opentelemetry.io/collector/consumer v0.77.0 h1:wexoEBUHl7mr50Zgu/mt/OLlCV7N8xLeBcUXrHUTTKQ= -go.opentelemetry.io/collector/consumer v0.77.0/go.mod h1:8BsEwVvG6qX/T5pqgo9rpD3XyW/3/a95Cg3Tgo9//kU= -go.opentelemetry.io/collector/exporter v0.77.0 h1:C1JYVhEWTt9o81tvbpC3QLTwlkY38RXHc80ho3vvCMI= -go.opentelemetry.io/collector/exporter v0.77.0/go.mod h1:Hb2hm9hHjEgQt7obAiLX+Bz5/yvDzNNp2W5mDhAkhow= -go.opentelemetry.io/collector/extension/zpagesextension v0.77.0 h1:NyRkWZjFOR9GepPSI5HV+vGZXeeGUsu5YGuTuIlglvI= -go.opentelemetry.io/collector/featuregate v0.77.0 h1:m1/IzaXoQh6SgF6CM80vrBOCf5zSJ2GVISfA27fYzGU= -go.opentelemetry.io/collector/featuregate v0.77.0/go.mod h1:/kVAsGUCyJXIDSgHftCN63QiwAEVHRLX2Kh/S+dqgHY= -go.opentelemetry.io/collector/pdata v1.0.0-rcv0011 h1:7lT0vseP89mHtUpvgmWYRvQZ0eY+SHbVsnXY20xkoMg= -go.opentelemetry.io/collector/pdata v1.0.0-rcv0011/go.mod h1:9vrXSQBeMRrdfGt9oMgYweqERJ8adaiQjN6LSbqRMMA= -go.opentelemetry.io/collector/receiver v0.77.0 h1:Bvq5i3asAYREd2HyZnGobAX4KWPp8UzWBxLi5cKBEPI= -go.opentelemetry.io/collector/receiver v0.77.0/go.mod h1:6+/X2Mix4n5sxSfJr9FEzsvFoo1ESPTuq0VRY3bk+UE= -go.opentelemetry.io/collector/semconv v0.77.0 h1:dPG7wjN5x6CNH9ojRgHX6ONvx6DIgXO3st+WXR6KAnw= -go.opentelemetry.io/collector/semconv v0.77.0/go.mod h1:lazBA42nqZPNPWDMiqWfr5eIVeNgRmoLDbQmjXKcm70= +go.opentelemetry.io/collector v0.78.2 h1:q8RCyWeS/oXBBilAx4XaWwYSSU5omwkkD2lBrKBNaT0= +go.opentelemetry.io/collector v0.78.2/go.mod h1:MweYHkPHYIY4ncWmeFQH36XjlMLNej/5dB9nTRf1DUg= +go.opentelemetry.io/collector/component v0.78.2 h1:luDNrTiz5KvHgF6Dg7Tpmvgh3xFaOzqdOxB3evvwE34= +go.opentelemetry.io/collector/component v0.78.2/go.mod h1:AoRSBnuMw0O1f1ZhslW7fx1vrP/0/JNgC2RqPIbczW0= +go.opentelemetry.io/collector/confmap v0.78.2 h1:P3IRJ4OC585whSU7NNujK+I+JtJ6bC9DHmmOWiFdQZk= +go.opentelemetry.io/collector/confmap v0.78.2/go.mod h1:nudYcQJDF5zmAd2GKe5PetMF8/Lg1Mc/EjAKQBXHdyg= +go.opentelemetry.io/collector/consumer v0.78.2 h1:KrjSRMb4Qcb+kgQeDql4IQg4C7bLlZ4hV4s/FkXJeL8= +go.opentelemetry.io/collector/consumer v0.78.2/go.mod h1:9QT9HNwBuqLlO8znbXby+UJI04bv7wPw4rD9SrOxAoY= +go.opentelemetry.io/collector/exporter v0.78.2 h1:77HMkPFXAxys+WWpVdmezq2+LZpgTVaBLFecYOiqFH8= +go.opentelemetry.io/collector/exporter v0.78.2/go.mod h1:X+J2XrNPFLq9P6mTJojmX2BCcZvQdTxfAaGrrTiTBfc= +go.opentelemetry.io/collector/extension/zpagesextension v0.78.2 h1:h1ANMncTIrKhKM0zbdMhHRlZsTfY7qrhwZeHnjI4Du0= +go.opentelemetry.io/collector/featuregate v1.0.0-rcv0012 h1:pSO81lfikGEgRXHepmOGy2o6WWCly427UJCgMJC5c8g= +go.opentelemetry.io/collector/featuregate v1.0.0-rcv0012/go.mod h1:/kVAsGUCyJXIDSgHftCN63QiwAEVHRLX2Kh/S+dqgHY= +go.opentelemetry.io/collector/pdata v1.0.0-rcv0012 h1:R+cfEUMyLn9Q1QknyQ4QU77pbfc1aJKYEXFHtnwSbCg= +go.opentelemetry.io/collector/pdata v1.0.0-rcv0012/go.mod h1:rEAKFqc1L03lidKtra/2/dJtI0Hp+JsQxuPEIkj/2Vg= +go.opentelemetry.io/collector/receiver v0.78.2 h1:nTaGoVoN1FqA8nIJOZi/Ww4cx32MsTwA4BjyN6VQII4= +go.opentelemetry.io/collector/receiver v0.78.2/go.mod h1:NUedvs1RRvVVvCnfMBnS2SG2m/s91niUQJuNjc2aASM= +go.opentelemetry.io/collector/semconv v0.78.2 h1:o1tymN831Lqc+7sPxq2FW/2E8fehqLDKMyEELtiYquU= +go.opentelemetry.io/collector/semconv v0.78.2/go.mod h1:lazBA42nqZPNPWDMiqWfr5eIVeNgRmoLDbQmjXKcm70= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.41.1 h1:pX+lppB8PArapyhS6nBStyQmkaDUPWdQf0UmEGRCQ54= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.41.1/go.mod h1:2FmkXne0k9nkp27LD/m+uoh8dNlstsiCJ7PLc/S72aI= -go.opentelemetry.io/contrib/propagators/b3 v1.15.0 h1:bMaonPyFcAvZ4EVzkUNkfnUHP5Zi63CIDlA3dRsEg8Q= -go.opentelemetry.io/contrib/propagators/b3 v1.15.0/go.mod h1:VjU0g2v6HSQ+NwfifambSLAeBgevjIcqmceaKWEzl0c= +go.opentelemetry.io/contrib/propagators/b3 v1.16.1 h1:Y9Dk1kR93eSHadRTkqnm+QyQVhHthCcvTkoP/Afh7+4= +go.opentelemetry.io/contrib/propagators/b3 v1.16.1/go.mod h1:IR0G6txqoetQrjjdoDGe+udhFegxnQQd0dOJfFS8Jg0= go.opentelemetry.io/contrib/zpages v0.41.1 h1:FReY8OWFNtYm4mWleTRxTUyD3r02uGcwS6ZeElahs00= go.opentelemetry.io/otel v1.15.1 h1:3Iwq3lfRByPaws0f6bU3naAqOR1n5IeDWd9390kWHa8= go.opentelemetry.io/otel v1.15.1/go.mod h1:mHHGEHVDLal6YrKMmk9LqC4a3sF5g+fHfrttQIB1NTc= -go.opentelemetry.io/otel/bridge/opencensus v0.38.0 h1:yGnkIB31eQn4uQWwEZnuHTWH1pSlAYbiwI/xg5MmY9o= -go.opentelemetry.io/otel/bridge/opencensus v0.38.0/go.mod h1:s2li+tvxGuoY+IQD8qL9kQlpKSn2miH8eG+SgVfmAgQ= +go.opentelemetry.io/otel/bridge/opencensus v0.38.1 h1:LQgPKIZXkaQgesDm39WG1+ikhh1BhKF0NZ2HpPsVrKM= +go.opentelemetry.io/otel/bridge/opencensus v0.38.1/go.mod h1:LCRCnb4WESU7/1qj/FcVPuRa9S8C+Cetk863qoMn0wA= go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.12.0 h1:UfDENi+LTcLjQ/JhaXimjlIgn7wWjwbEMmdREm2Gyng= go.opentelemetry.io/otel/exporters/otlp/otlpmetric v0.35.0 h1:KPV7w2qbszG6XnudnWDffM4CI+KjCYajryGrhoReBR4= go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v0.35.0 h1:QgnDVvLLDiLloTGHyP8wIyWtDXMx/ZHg9qNQaofry2s= @@ -1322,7 +1333,7 @@ golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u0 golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= -golang.org/x/exp v0.0.0-20230202163644-54bba9f4231b h1:EqBVA+nNsObCwQoBEHy4wLU0pi7i8a4AL3pbItPdPkE= +golang.org/x/exp v0.0.0-20230321023759-10a507213a29 h1:ooxPy7fPvB4kwsA2h+iBNHkAbp/4JxTSwCmvdjEYmug= golang.org/x/exp/typeparams v0.0.0-20220218215828-6cf2b201936e h1:qyrTQ++p1afMkO4DPEeLGq/3oTsdlvdH4vqZUBWzUKM= golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= @@ -1405,8 +1416,8 @@ golang.org/x/net v0.0.0-20210410081132-afb366fc7cd1/go.mod h1:9tjilg8BloeKEkVJvy golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.9.0 h1:aWJ/m6xSmxWBx+V0XRHTlrYrPG56jKsLdTFmsSsCzOM= -golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns= +golang.org/x/net v0.10.0 h1:X2//UzNDwYmtCLn7To6G58Wr6f5ahEAQgKNzv9Y951M= +golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -1421,7 +1432,7 @@ golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ golang.org/x/oauth2 v0.0.0-20210323180902-22b0adad7558/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= -golang.org/x/oauth2 v0.5.0 h1:HuArIo48skDwlrvM3sEdHXElYslAMsf3KwRkkW4MC4s= +golang.org/x/oauth2 v0.7.0 h1:qe6s0zUXlPX80/dITx3440hWZ7GwMwgDDyrSGTPJG/g= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -1522,14 +1533,14 @@ golang.org/x/sys v0.0.0-20220708085239-5a0f0661e09d/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.7.0 h1:3jlCCIQZPdOYu1h8BkNvLz8Kgwtae2cagcG/VamtZRU= golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.8.0 h1:EBmGv8NaZBZTWvrbjNoL6HVt+IVy3QDQpJs7VRIw3tU= +golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.7.0 h1:BEvjmm5fURWqcfbSKTdpkDXYBrUS1c0m8agp14W48vQ= +golang.org/x/term v0.8.0 h1:n5xxQn2i3PC0yLAbjTpNT85q/Kgzcr2gIoX9OrJUols= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -1619,7 +1630,7 @@ golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4f golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.6.0 h1:BOw41kyTf3PuCW1pVQf8+Cyg8pMlkYB1oo9iJ6D/lKM= +golang.org/x/tools v0.7.0 h1:W4OVu8VVOaIO0yzWMNdepAulS7YfoS3Zabrm8DOXXU4= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -1630,8 +1641,8 @@ golang.zx2c4.com/wireguard/wgctrl v0.0.0-20211230205640-daad0b7ba671 h1:tJAYx7pB gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo= gonum.org/v1/gonum v0.0.0-20181121035319-3f7ecaa7e8ca/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo= gonum.org/v1/gonum v0.6.0/go.mod h1:9mxDZsDKxgMAuccQkewq682L+0eCu4dCN2yonUJTCLU= -gonum.org/v1/gonum v0.12.0 h1:xKuo6hzt+gMav00meVPUlXwSdoEJP46BR+wdxQEFK2o= -gonum.org/v1/gonum v0.12.0/go.mod h1:73TDxJfAAHeA8Mk9mf8NlIppyhQNo5GLTcYeqgo2lvY= +gonum.org/v1/gonum v0.13.0 h1:a0T3bh+7fhRyqeNbiC3qVHYmkiQgit3wnNan/2c0HMM= +gonum.org/v1/gonum v0.13.0/go.mod h1:/WPYRckkfWrhWefxyYTfrTtQR0KH4iyHNuzxqXAKyAU= gonum.org/v1/netlib v0.0.0-20181029234149-ec6d1f5cefe6/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw= gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw= gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod h1:Wt8AAjI+ypCyYX3nZBvf6cAIx93T+c/OS2HFAYskSZc= @@ -1711,8 +1722,8 @@ google.golang.org/genproto v0.0.0-20210303154014-9728d6b83eeb/go.mod h1:FWY/as6D google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210312152112-fc591d9ea70f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto v0.0.0-20230110181048-76db0878b65f h1:BWUVssLB0HVOSY78gIdvk1dTVYtT1y8SBWtPYuTJ/6w= -google.golang.org/genproto v0.0.0-20230110181048-76db0878b65f/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 h1:KpwkzHKEF7B9Zxg18WzOa7djJ+Ha5DzthMyZYQfEn2A= +google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1/go.mod h1:nKE/iIaLqn2bQwXBg8f1g2Ylh6r5MN5CmZvuzZCgsCU= google.golang.org/grpc v1.14.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= @@ -1739,8 +1750,8 @@ google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA5 google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.54.0 h1:EhTqbhiYeixwWQtAEZAxmV9MGqcjEU2mFx52xCzNyag= -google.golang.org/grpc v1.54.0/go.mod h1:PUSEXI6iWghWaB6lXM4knEgpJNu2qUcKfDtNci3EC2g= +google.golang.org/grpc v1.55.0 h1:3Oj82/tFSCeUrRTg/5E/7d/W5A1tj6Ky1ABAuZuv5ag= +google.golang.org/grpc v1.55.0/go.mod h1:iYEXKGkEBhg1PjZQvoYEVPTDkHo1/bjTnfwTeGONTY8= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= From ccae8d5bd841e48056bc63c4882baad362453fd8 Mon Sep 17 00:00:00 2001 From: Povilas Versockas Date: Thu, 25 May 2023 14:48:53 +0300 Subject: [PATCH 22/37] chore: update otel go sdk --- otel2influx/go.mod | 8 ++++---- otel2influx/go.sum | 8 ++++++++ tests-integration/go.mod | 20 ++++++++++---------- tests-integration/go.sum | 36 ++++++++++++++++++------------------ 4 files changed, 40 insertions(+), 32 deletions(-) diff --git a/otel2influx/go.mod b/otel2influx/go.mod index 963a9e40..9e961774 100644 --- a/otel2influx/go.mod +++ b/otel2influx/go.mod @@ -10,9 +10,9 @@ require ( go.opentelemetry.io/collector/consumer v0.78.2 go.opentelemetry.io/collector/pdata v1.0.0-rcv0012 go.opentelemetry.io/collector/semconv v0.78.2 - go.opentelemetry.io/otel v1.15.1 - go.opentelemetry.io/otel/metric v0.38.1 - go.opentelemetry.io/otel/sdk v1.15.1 + go.opentelemetry.io/otel v1.16.0 + go.opentelemetry.io/otel/metric v1.16.0 + go.opentelemetry.io/otel/sdk v1.16.0 go.opentelemetry.io/otel/sdk/metric v0.38.1 go.uber.org/multierr v1.11.0 ) @@ -34,7 +34,7 @@ require ( go.opentelemetry.io/collector v0.78.2 // indirect go.opentelemetry.io/collector/confmap v0.78.2 // indirect go.opentelemetry.io/collector/featuregate v1.0.0-rcv0012 // indirect - go.opentelemetry.io/otel/trace v1.15.1 // indirect + go.opentelemetry.io/otel/trace v1.16.0 // indirect go.uber.org/atomic v1.10.0 // indirect go.uber.org/zap v1.24.0 // indirect golang.org/x/net v0.10.0 // indirect diff --git a/otel2influx/go.sum b/otel2influx/go.sum index 9c1ac6bd..ab12ce18 100644 --- a/otel2influx/go.sum +++ b/otel2influx/go.sum @@ -272,14 +272,22 @@ go.opentelemetry.io/collector/semconv v0.78.2 h1:o1tymN831Lqc+7sPxq2FW/2E8fehqLD go.opentelemetry.io/collector/semconv v0.78.2/go.mod h1:lazBA42nqZPNPWDMiqWfr5eIVeNgRmoLDbQmjXKcm70= go.opentelemetry.io/otel v1.15.1 h1:3Iwq3lfRByPaws0f6bU3naAqOR1n5IeDWd9390kWHa8= go.opentelemetry.io/otel v1.15.1/go.mod h1:mHHGEHVDLal6YrKMmk9LqC4a3sF5g+fHfrttQIB1NTc= +go.opentelemetry.io/otel v1.16.0 h1:Z7GVAX/UkAXPKsy94IU+i6thsQS4nb7LviLpnaNeW8s= +go.opentelemetry.io/otel v1.16.0/go.mod h1:vl0h9NUa1D5s1nv3A5vZOYWn8av4K8Ml6JDeHrT/bx4= go.opentelemetry.io/otel/metric v0.38.1 h1:2MM7m6wPw9B8Qv8iHygoAgkbejed59uUR6ezR5T3X2s= go.opentelemetry.io/otel/metric v0.38.1/go.mod h1:FwqNHD3I/5iX9pfrRGZIlYICrJv0rHEUl2Ln5vdIVnQ= +go.opentelemetry.io/otel/metric v1.16.0 h1:RbrpwVG1Hfv85LgnZ7+txXioPDoh6EdbZHo26Q3hqOo= +go.opentelemetry.io/otel/metric v1.16.0/go.mod h1:QE47cpOmkwipPiefDwo2wDzwJrlfxxNYodqc4xnGCo4= go.opentelemetry.io/otel/sdk v1.15.1 h1:5FKR+skgpzvhPQHIEfcwMYjCBr14LWzs3uSqKiQzETI= go.opentelemetry.io/otel/sdk v1.15.1/go.mod h1:8rVtxQfrbmbHKfqzpQkT5EzZMcbMBwTzNAggbEAM0KA= +go.opentelemetry.io/otel/sdk v1.16.0 h1:Z1Ok1YsijYL0CSJpHt4cS3wDDh7p572grzNrBMiMWgE= +go.opentelemetry.io/otel/sdk v1.16.0/go.mod h1:tMsIuKXuuIWPBAOrH+eHtvhTL+SntFtXF9QD68aP6p4= go.opentelemetry.io/otel/sdk/metric v0.38.1 h1:EkO5wI4NT/fUaoPMGc0fKV28JaWe7q4vfVpEVasGb+8= go.opentelemetry.io/otel/sdk/metric v0.38.1/go.mod h1:Rn4kSXFF9ZQZ5lL1pxQjCbK4seiO+U7s0ncmIFJaj34= go.opentelemetry.io/otel/trace v1.15.1 h1:uXLo6iHJEzDfrNC0L0mNjItIp06SyaBQxu5t3xMlngY= go.opentelemetry.io/otel/trace v1.15.1/go.mod h1:IWdQG/5N1x7f6YUlmdLeJvH9yxtuJAfc4VW5Agv9r/8= +go.opentelemetry.io/otel/trace v1.16.0 h1:8JRpaObFoW0pxuVPapkgH8UhHQj+bJW8jJsCZEu5MQs= +go.opentelemetry.io/otel/trace v1.16.0/go.mod h1:Yt9vYq1SdNz3xdjZZK7wcXv1qv2pwLkqr2QVwea0ef0= go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/atomic v1.10.0 h1:9qC72Qh0+3MqyJbAn8YU5xVq1frD8bn3JtD2oXtafVQ= go.uber.org/atomic v1.10.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= diff --git a/tests-integration/go.mod b/tests-integration/go.mod index 62dbebc0..0804ad1e 100644 --- a/tests-integration/go.mod +++ b/tests-integration/go.mod @@ -6,7 +6,7 @@ require ( github.com/influxdata/influxdb/v2 v2.6.1 github.com/influxdata/line-protocol/v2 v2.2.1 github.com/influxdata/telegraf v1.25.3 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/influxdbexporter v0.77.0 + github.com/open-telemetry/opentelemetry-collector-contrib/exporter/influxdbexporter v0.78.0 github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckextension v0.77.0 github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest v0.78.0 github.com/open-telemetry/opentelemetry-collector-contrib/receiver/influxdbreceiver v0.77.0 @@ -54,7 +54,7 @@ require ( github.com/inconshreveable/mousetrap v1.1.0 // indirect github.com/influxdata/influxdb-observability/common v0.3.14 // indirect github.com/influxdata/influxdb-observability/influx2otel v0.3.8 // indirect - github.com/influxdata/influxdb-observability/otel2influx v0.3.8 // indirect + github.com/influxdata/influxdb-observability/otel2influx v0.3.14 // indirect github.com/influxdata/toml v0.0.0-20190415235208-270119a8ce65 // indirect github.com/jaegertracing/jaeger v1.41.0 // indirect github.com/json-iterator/go v1.1.12 // indirect @@ -94,23 +94,23 @@ require ( go.opencensus.io v0.24.0 // indirect go.opentelemetry.io/collector/featuregate v1.0.0-rcv0012 // indirect go.opentelemetry.io/collector/semconv v0.78.2 // indirect - go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.41.1 // indirect + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.42.0 // indirect go.opentelemetry.io/contrib/propagators/b3 v1.16.1 // indirect - go.opentelemetry.io/otel v1.15.1 // indirect + go.opentelemetry.io/otel v1.16.0 // indirect go.opentelemetry.io/otel/bridge/opencensus v0.38.1 // indirect go.opentelemetry.io/otel/exporters/prometheus v0.38.1 // indirect - go.opentelemetry.io/otel/metric v0.38.1 // indirect - go.opentelemetry.io/otel/sdk v1.15.1 // indirect - go.opentelemetry.io/otel/sdk/metric v0.38.1 // indirect - go.opentelemetry.io/otel/trace v1.15.1 // indirect - go.uber.org/atomic v1.10.0 // indirect + go.opentelemetry.io/otel/metric v1.16.0 // indirect + go.opentelemetry.io/otel/sdk v1.16.0 // indirect + go.opentelemetry.io/otel/sdk/metric v0.39.0 // indirect + go.opentelemetry.io/otel/trace v1.16.0 // indirect + go.uber.org/atomic v1.11.0 // indirect go.uber.org/multierr v1.11.0 // indirect golang.org/x/crypto v0.5.0 // indirect golang.org/x/net v0.10.0 // indirect golang.org/x/sys v0.8.0 // indirect golang.org/x/text v0.9.0 // indirect gonum.org/v1/gonum v0.13.0 // indirect - google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 // indirect + google.golang.org/genproto v0.0.0-20230524185152-1884fd1fac28 // indirect google.golang.org/protobuf v1.30.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect diff --git a/tests-integration/go.sum b/tests-integration/go.sum index 718e23de..010a8d27 100644 --- a/tests-integration/go.sum +++ b/tests-integration/go.sum @@ -947,8 +947,8 @@ github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGV github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/influxdbexporter v0.77.0 h1:wwHVSr2CoRw5frgNbEb5TPwG98oHA4JnNLxcARmTN6Q= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/influxdbexporter v0.77.0/go.mod h1:6D46lJm3Hu04w98vFItKgVTEnXvpEcm4qqQuQ1xYHC4= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/influxdbexporter v0.78.0 h1:TbbUd4rdhOziYmMiNzhoUBDPX/bZ1jT7OFcqtKuhl2s= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/influxdbexporter v0.78.0/go.mod h1:/orPYWTTqjaikhc9mFjV8GRqlGMeSrHYpzza2a5Djn8= github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckextension v0.77.0 h1:2qr3w7mEJ5EQ191tK4B8ewLhaKFYHgRJ/IcGvGGfULk= github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckextension v0.77.0/go.mod h1:Ss6IhnOn9YGiGfi/Y3MevxUbs8CTIdcbrwIBZ9g1fZE= github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.77.0 h1:HPVUROsYrT7mhQmN7Uq5nBSHal2EBt1jMgSl4SaZwmk= @@ -1258,13 +1258,13 @@ go.opentelemetry.io/collector/receiver v0.78.2 h1:nTaGoVoN1FqA8nIJOZi/Ww4cx32MsT go.opentelemetry.io/collector/receiver v0.78.2/go.mod h1:NUedvs1RRvVVvCnfMBnS2SG2m/s91niUQJuNjc2aASM= go.opentelemetry.io/collector/semconv v0.78.2 h1:o1tymN831Lqc+7sPxq2FW/2E8fehqLDKMyEELtiYquU= go.opentelemetry.io/collector/semconv v0.78.2/go.mod h1:lazBA42nqZPNPWDMiqWfr5eIVeNgRmoLDbQmjXKcm70= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.41.1 h1:pX+lppB8PArapyhS6nBStyQmkaDUPWdQf0UmEGRCQ54= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.41.1/go.mod h1:2FmkXne0k9nkp27LD/m+uoh8dNlstsiCJ7PLc/S72aI= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.42.0 h1:pginetY7+onl4qN1vl0xW/V/v6OBZ0vVdH+esuJgvmM= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.42.0/go.mod h1:XiYsayHc36K3EByOO6nbAXnAWbrUxdjUROCEeeROOH8= go.opentelemetry.io/contrib/propagators/b3 v1.16.1 h1:Y9Dk1kR93eSHadRTkqnm+QyQVhHthCcvTkoP/Afh7+4= go.opentelemetry.io/contrib/propagators/b3 v1.16.1/go.mod h1:IR0G6txqoetQrjjdoDGe+udhFegxnQQd0dOJfFS8Jg0= go.opentelemetry.io/contrib/zpages v0.41.1 h1:FReY8OWFNtYm4mWleTRxTUyD3r02uGcwS6ZeElahs00= -go.opentelemetry.io/otel v1.15.1 h1:3Iwq3lfRByPaws0f6bU3naAqOR1n5IeDWd9390kWHa8= -go.opentelemetry.io/otel v1.15.1/go.mod h1:mHHGEHVDLal6YrKMmk9LqC4a3sF5g+fHfrttQIB1NTc= +go.opentelemetry.io/otel v1.16.0 h1:Z7GVAX/UkAXPKsy94IU+i6thsQS4nb7LviLpnaNeW8s= +go.opentelemetry.io/otel v1.16.0/go.mod h1:vl0h9NUa1D5s1nv3A5vZOYWn8av4K8Ml6JDeHrT/bx4= go.opentelemetry.io/otel/bridge/opencensus v0.38.1 h1:LQgPKIZXkaQgesDm39WG1+ikhh1BhKF0NZ2HpPsVrKM= go.opentelemetry.io/otel/bridge/opencensus v0.38.1/go.mod h1:LCRCnb4WESU7/1qj/FcVPuRa9S8C+Cetk863qoMn0wA= go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.12.0 h1:UfDENi+LTcLjQ/JhaXimjlIgn7wWjwbEMmdREm2Gyng= @@ -1272,20 +1272,20 @@ go.opentelemetry.io/otel/exporters/otlp/otlpmetric v0.35.0 h1:KPV7w2qbszG6XnudnW go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v0.35.0 h1:QgnDVvLLDiLloTGHyP8wIyWtDXMx/ZHg9qNQaofry2s= go.opentelemetry.io/otel/exporters/prometheus v0.38.1 h1:GwalIvFIx91qIA8qyAyqYj9lql5Ba2Oxj/jDG6+3UoU= go.opentelemetry.io/otel/exporters/prometheus v0.38.1/go.mod h1:6K7aBvWHXRUcNYFSj6Hi5hHwzA1jYflG/T8snrX4dYM= -go.opentelemetry.io/otel/metric v0.38.1 h1:2MM7m6wPw9B8Qv8iHygoAgkbejed59uUR6ezR5T3X2s= -go.opentelemetry.io/otel/metric v0.38.1/go.mod h1:FwqNHD3I/5iX9pfrRGZIlYICrJv0rHEUl2Ln5vdIVnQ= -go.opentelemetry.io/otel/sdk v1.15.1 h1:5FKR+skgpzvhPQHIEfcwMYjCBr14LWzs3uSqKiQzETI= -go.opentelemetry.io/otel/sdk v1.15.1/go.mod h1:8rVtxQfrbmbHKfqzpQkT5EzZMcbMBwTzNAggbEAM0KA= -go.opentelemetry.io/otel/sdk/metric v0.38.1 h1:EkO5wI4NT/fUaoPMGc0fKV28JaWe7q4vfVpEVasGb+8= -go.opentelemetry.io/otel/sdk/metric v0.38.1/go.mod h1:Rn4kSXFF9ZQZ5lL1pxQjCbK4seiO+U7s0ncmIFJaj34= -go.opentelemetry.io/otel/trace v1.15.1 h1:uXLo6iHJEzDfrNC0L0mNjItIp06SyaBQxu5t3xMlngY= -go.opentelemetry.io/otel/trace v1.15.1/go.mod h1:IWdQG/5N1x7f6YUlmdLeJvH9yxtuJAfc4VW5Agv9r/8= +go.opentelemetry.io/otel/metric v1.16.0 h1:RbrpwVG1Hfv85LgnZ7+txXioPDoh6EdbZHo26Q3hqOo= +go.opentelemetry.io/otel/metric v1.16.0/go.mod h1:QE47cpOmkwipPiefDwo2wDzwJrlfxxNYodqc4xnGCo4= +go.opentelemetry.io/otel/sdk v1.16.0 h1:Z1Ok1YsijYL0CSJpHt4cS3wDDh7p572grzNrBMiMWgE= +go.opentelemetry.io/otel/sdk v1.16.0/go.mod h1:tMsIuKXuuIWPBAOrH+eHtvhTL+SntFtXF9QD68aP6p4= +go.opentelemetry.io/otel/sdk/metric v0.39.0 h1:Kun8i1eYf48kHH83RucG93ffz0zGV1sh46FAScOTuDI= +go.opentelemetry.io/otel/sdk/metric v0.39.0/go.mod h1:piDIRgjcK7u0HCL5pCA4e74qpK/jk3NiUoAHATVAmiI= +go.opentelemetry.io/otel/trace v1.16.0 h1:8JRpaObFoW0pxuVPapkgH8UhHQj+bJW8jJsCZEu5MQs= +go.opentelemetry.io/otel/trace v1.16.0/go.mod h1:Yt9vYq1SdNz3xdjZZK7wcXv1qv2pwLkqr2QVwea0ef0= go.opentelemetry.io/proto/otlp v0.19.0 h1:IVN6GR+mhC4s5yfcTbmzHYODqvWAp3ZedA2SJPI1Nnw= go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= -go.uber.org/atomic v1.10.0 h1:9qC72Qh0+3MqyJbAn8YU5xVq1frD8bn3JtD2oXtafVQ= -go.uber.org/atomic v1.10.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= +go.uber.org/atomic v1.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE= +go.uber.org/atomic v1.11.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A= go.uber.org/goleak v1.1.11 h1:wy28qYRKZgnJTxGxvye5/wgWr1EKjmUDGYox5mGlRlI= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= @@ -1722,8 +1722,8 @@ google.golang.org/genproto v0.0.0-20210303154014-9728d6b83eeb/go.mod h1:FWY/as6D google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210312152112-fc591d9ea70f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 h1:KpwkzHKEF7B9Zxg18WzOa7djJ+Ha5DzthMyZYQfEn2A= -google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1/go.mod h1:nKE/iIaLqn2bQwXBg8f1g2Ylh6r5MN5CmZvuzZCgsCU= +google.golang.org/genproto v0.0.0-20230524185152-1884fd1fac28 h1:+55/MuGJORMxCrkAgo2595fMAnN/4rweCuwibbqrvpc= +google.golang.org/genproto v0.0.0-20230524185152-1884fd1fac28/go.mod h1:nKE/iIaLqn2bQwXBg8f1g2Ylh6r5MN5CmZvuzZCgsCU= google.golang.org/grpc v1.14.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= From 1e3100f6b3e615f46d8873888b99c2b823cc6572 Mon Sep 17 00:00:00 2001 From: Jacob Marble Date: Thu, 1 Jun 2023 09:14:48 -0700 Subject: [PATCH 23/37] chore: update OpenTelemetry Collector Contrib to v0.78.0 --- influx2otel/go.mod | 2 +- jaeger-influxdb/go.mod | 2 +- otel2influx/go.mod | 4 ++-- otel2influx/go.sum | 12 ++-------- otelcol-influxdb/Dockerfile | 2 +- otelcol-influxdb/build.yml | 44 +++++++++++++++++++------------------ tests-integration/go.mod | 12 +++++----- tests-integration/go.sum | 12 +++++----- 8 files changed, 42 insertions(+), 48 deletions(-) diff --git a/influx2otel/go.mod b/influx2otel/go.mod index 8b502ebb..e960a53b 100644 --- a/influx2otel/go.mod +++ b/influx2otel/go.mod @@ -3,7 +3,7 @@ module github.com/influxdata/influxdb-observability/influx2otel go 1.19 require ( - github.com/influxdata/influxdb-observability/common v0.3.14 + github.com/influxdata/influxdb-observability/common v0.3.15 github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest v0.78.0 github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.78.0 github.com/stretchr/testify v1.8.2 diff --git a/jaeger-influxdb/go.mod b/jaeger-influxdb/go.mod index 375029f5..0eb39c4a 100644 --- a/jaeger-influxdb/go.mod +++ b/jaeger-influxdb/go.mod @@ -5,7 +5,7 @@ go 1.20 require ( github.com/apache/arrow-adbc/go/adbc v0.3.0 github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da - github.com/influxdata/influxdb-observability/common v0.3.14 + github.com/influxdata/influxdb-observability/common v0.3.15 github.com/influxdata/line-protocol/v2 v2.2.1 github.com/jaegertracing/jaeger v1.45.0 github.com/mattn/go-isatty v0.0.18 diff --git a/otel2influx/go.mod b/otel2influx/go.mod index 9e961774..39b52ba7 100644 --- a/otel2influx/go.mod +++ b/otel2influx/go.mod @@ -4,7 +4,7 @@ go 1.19 require ( github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da - github.com/influxdata/influxdb-observability/common v0.3.14 + github.com/influxdata/influxdb-observability/common v0.3.15 github.com/stretchr/testify v1.8.3 go.opentelemetry.io/collector/component v0.78.2 go.opentelemetry.io/collector/consumer v0.78.2 @@ -13,7 +13,7 @@ require ( go.opentelemetry.io/otel v1.16.0 go.opentelemetry.io/otel/metric v1.16.0 go.opentelemetry.io/otel/sdk v1.16.0 - go.opentelemetry.io/otel/sdk/metric v0.38.1 + go.opentelemetry.io/otel/sdk/metric v0.39.0 go.uber.org/multierr v1.11.0 ) diff --git a/otel2influx/go.sum b/otel2influx/go.sum index ab12ce18..8274e2b4 100644 --- a/otel2influx/go.sum +++ b/otel2influx/go.sum @@ -270,22 +270,14 @@ go.opentelemetry.io/collector/pdata v1.0.0-rcv0012 h1:R+cfEUMyLn9Q1QknyQ4QU77pbf go.opentelemetry.io/collector/pdata v1.0.0-rcv0012/go.mod h1:rEAKFqc1L03lidKtra/2/dJtI0Hp+JsQxuPEIkj/2Vg= go.opentelemetry.io/collector/semconv v0.78.2 h1:o1tymN831Lqc+7sPxq2FW/2E8fehqLDKMyEELtiYquU= go.opentelemetry.io/collector/semconv v0.78.2/go.mod h1:lazBA42nqZPNPWDMiqWfr5eIVeNgRmoLDbQmjXKcm70= -go.opentelemetry.io/otel v1.15.1 h1:3Iwq3lfRByPaws0f6bU3naAqOR1n5IeDWd9390kWHa8= -go.opentelemetry.io/otel v1.15.1/go.mod h1:mHHGEHVDLal6YrKMmk9LqC4a3sF5g+fHfrttQIB1NTc= go.opentelemetry.io/otel v1.16.0 h1:Z7GVAX/UkAXPKsy94IU+i6thsQS4nb7LviLpnaNeW8s= go.opentelemetry.io/otel v1.16.0/go.mod h1:vl0h9NUa1D5s1nv3A5vZOYWn8av4K8Ml6JDeHrT/bx4= -go.opentelemetry.io/otel/metric v0.38.1 h1:2MM7m6wPw9B8Qv8iHygoAgkbejed59uUR6ezR5T3X2s= -go.opentelemetry.io/otel/metric v0.38.1/go.mod h1:FwqNHD3I/5iX9pfrRGZIlYICrJv0rHEUl2Ln5vdIVnQ= go.opentelemetry.io/otel/metric v1.16.0 h1:RbrpwVG1Hfv85LgnZ7+txXioPDoh6EdbZHo26Q3hqOo= go.opentelemetry.io/otel/metric v1.16.0/go.mod h1:QE47cpOmkwipPiefDwo2wDzwJrlfxxNYodqc4xnGCo4= -go.opentelemetry.io/otel/sdk v1.15.1 h1:5FKR+skgpzvhPQHIEfcwMYjCBr14LWzs3uSqKiQzETI= -go.opentelemetry.io/otel/sdk v1.15.1/go.mod h1:8rVtxQfrbmbHKfqzpQkT5EzZMcbMBwTzNAggbEAM0KA= go.opentelemetry.io/otel/sdk v1.16.0 h1:Z1Ok1YsijYL0CSJpHt4cS3wDDh7p572grzNrBMiMWgE= go.opentelemetry.io/otel/sdk v1.16.0/go.mod h1:tMsIuKXuuIWPBAOrH+eHtvhTL+SntFtXF9QD68aP6p4= -go.opentelemetry.io/otel/sdk/metric v0.38.1 h1:EkO5wI4NT/fUaoPMGc0fKV28JaWe7q4vfVpEVasGb+8= -go.opentelemetry.io/otel/sdk/metric v0.38.1/go.mod h1:Rn4kSXFF9ZQZ5lL1pxQjCbK4seiO+U7s0ncmIFJaj34= -go.opentelemetry.io/otel/trace v1.15.1 h1:uXLo6iHJEzDfrNC0L0mNjItIp06SyaBQxu5t3xMlngY= -go.opentelemetry.io/otel/trace v1.15.1/go.mod h1:IWdQG/5N1x7f6YUlmdLeJvH9yxtuJAfc4VW5Agv9r/8= +go.opentelemetry.io/otel/sdk/metric v0.39.0 h1:Kun8i1eYf48kHH83RucG93ffz0zGV1sh46FAScOTuDI= +go.opentelemetry.io/otel/sdk/metric v0.39.0/go.mod h1:piDIRgjcK7u0HCL5pCA4e74qpK/jk3NiUoAHATVAmiI= go.opentelemetry.io/otel/trace v1.16.0 h1:8JRpaObFoW0pxuVPapkgH8UhHQj+bJW8jJsCZEu5MQs= go.opentelemetry.io/otel/trace v1.16.0/go.mod h1:Yt9vYq1SdNz3xdjZZK7wcXv1qv2pwLkqr2QVwea0ef0= go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= diff --git a/otelcol-influxdb/Dockerfile b/otelcol-influxdb/Dockerfile index 05ca147b..1fb02a80 100644 --- a/otelcol-influxdb/Dockerfile +++ b/otelcol-influxdb/Dockerfile @@ -7,7 +7,7 @@ RUN \ --mount=type=cache,id=influxdb-observability-gocache,sharing=locked,target=/root/.cache/go-build \ --mount=type=cache,id=influxdb-observability-gomodcache,sharing=locked,target=/go/pkg/mod \ du -cshx /root/.cache/go-build /go/pkg/mod && \ - go install go.opentelemetry.io/collector/cmd/builder@v0.77.0 && \ + go install go.opentelemetry.io/collector/cmd/builder@v0.78.2 && \ du -cshx /root/.cache/go-build /go/pkg/mod COPY . /project diff --git a/otelcol-influxdb/build.yml b/otelcol-influxdb/build.yml index 678728f6..80e8bb52 100644 --- a/otelcol-influxdb/build.yml +++ b/otelcol-influxdb/build.yml @@ -2,38 +2,40 @@ dist: name: otelcol-influxdb module: github.com/influxdata/influxdb-observability/otelcol-influxdb description: OpenTelemetry Collector Distribution built for InfluxDB - version: 0.77.0-0.0.0-beta.0 - otelcol_version: 0.77.0 + version: 0.78.0-0.0.0-beta.0 + otelcol_version: 0.78.2 output_path: ./build receivers: -- gomod: go.opentelemetry.io/collector/receiver/otlpreceiver v0.77.0 -- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/jaegerreceiver v0.77.0 -- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/hostmetricsreceiver v0.77.0 -- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kafkametricsreceiver v0.77.0 -- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kafkareceiver v0.77.0 +- gomod: go.opentelemetry.io/collector/receiver/otlpreceiver v0.78.2 +- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/jaegerreceiver v0.78.0 +- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/hostmetricsreceiver v0.78.0 +- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kafkametricsreceiver v0.78.0 +- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kafkareceiver v0.78.0 exporters: -- gomod: go.opentelemetry.io/collector/exporter/otlpexporter v0.77.0 -- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/influxdbexporter v0.77.0 +- gomod: go.opentelemetry.io/collector/exporter/otlpexporter v0.78.2 +- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/influxdbexporter v0.78.0 extensions: -- gomod: go.opentelemetry.io/collector/extension/ballastextension v0.77.0 -- gomod: go.opentelemetry.io/collector/extension/zpagesextension v0.77.0 -- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/bearertokenauthextension v0.77.0 -- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/headerssetterextension v0.77.0 -- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckextension v0.77.0 -- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/pprofextension v0.77.0 +- gomod: go.opentelemetry.io/collector/extension/ballastextension v0.78.2 +- gomod: go.opentelemetry.io/collector/extension/zpagesextension v0.78.2 +- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/bearertokenauthextension v0.78.0 +- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/headerssetterextension v0.78.0 +- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckextension v0.78.0 +- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/pprofextension v0.78.0 processors: -- gomod: go.opentelemetry.io/collector/processor/batchprocessor v0.77.0 -- gomod: go.opentelemetry.io/collector/processor/memorylimiterprocessor v0.77.0 -- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/probabilisticsamplerprocessor v0.77.0 -- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/routingprocessor v0.77.0 -- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/spanmetricsprocessor v0.77.0 -- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/tailsamplingprocessor v0.77.0 +- gomod: go.opentelemetry.io/collector/processor/batchprocessor v0.78.2 +- gomod: go.opentelemetry.io/collector/processor/memorylimiterprocessor v0.78.2 +- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/probabilisticsamplerprocessor v0.78.0 +- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/routingprocessor v0.78.0 +- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/spanmetricsprocessor v0.78.0 +- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/tailsamplingprocessor v0.78.0 replaces: - github.com/influxdata/influxdb-observability/common => ../../common - github.com/influxdata/influxdb-observability/influx2otel => ../../influx2otel - github.com/influxdata/influxdb-observability/otel2influx => ../../otel2influx +- go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc => go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.42.0 +- go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp => go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.42.0 diff --git a/tests-integration/go.mod b/tests-integration/go.mod index 0804ad1e..afbd6dff 100644 --- a/tests-integration/go.mod +++ b/tests-integration/go.mod @@ -7,9 +7,9 @@ require ( github.com/influxdata/line-protocol/v2 v2.2.1 github.com/influxdata/telegraf v1.25.3 github.com/open-telemetry/opentelemetry-collector-contrib/exporter/influxdbexporter v0.78.0 - github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckextension v0.77.0 + github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckextension v0.78.0 github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest v0.78.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/influxdbreceiver v0.77.0 + github.com/open-telemetry/opentelemetry-collector-contrib/receiver/influxdbreceiver v0.78.0 github.com/stretchr/testify v1.8.3 go.opentelemetry.io/collector v0.78.2 go.opentelemetry.io/collector/component v0.78.2 @@ -52,9 +52,9 @@ require ( github.com/google/uuid v1.3.0 // indirect github.com/gosnmp/gosnmp v1.35.0 // indirect github.com/inconshreveable/mousetrap v1.1.0 // indirect - github.com/influxdata/influxdb-observability/common v0.3.14 // indirect - github.com/influxdata/influxdb-observability/influx2otel v0.3.8 // indirect - github.com/influxdata/influxdb-observability/otel2influx v0.3.14 // indirect + github.com/influxdata/influxdb-observability/common v0.3.15 // indirect + github.com/influxdata/influxdb-observability/influx2otel v0.3.15 // indirect + github.com/influxdata/influxdb-observability/otel2influx v0.3.15 // indirect github.com/influxdata/toml v0.0.0-20190415235208-270119a8ce65 // indirect github.com/jaegertracing/jaeger v1.41.0 // indirect github.com/json-iterator/go v1.1.12 // indirect @@ -70,7 +70,7 @@ require ( github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect github.com/naoina/go-stringutil v0.1.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.77.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.78.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.78.0 // indirect github.com/philhofer/fwd v1.1.1 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect diff --git a/tests-integration/go.sum b/tests-integration/go.sum index 010a8d27..53bbda22 100644 --- a/tests-integration/go.sum +++ b/tests-integration/go.sum @@ -949,17 +949,17 @@ github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1Cpa github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk= github.com/open-telemetry/opentelemetry-collector-contrib/exporter/influxdbexporter v0.78.0 h1:TbbUd4rdhOziYmMiNzhoUBDPX/bZ1jT7OFcqtKuhl2s= github.com/open-telemetry/opentelemetry-collector-contrib/exporter/influxdbexporter v0.78.0/go.mod h1:/orPYWTTqjaikhc9mFjV8GRqlGMeSrHYpzza2a5Djn8= -github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckextension v0.77.0 h1:2qr3w7mEJ5EQ191tK4B8ewLhaKFYHgRJ/IcGvGGfULk= -github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckextension v0.77.0/go.mod h1:Ss6IhnOn9YGiGfi/Y3MevxUbs8CTIdcbrwIBZ9g1fZE= -github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.77.0 h1:HPVUROsYrT7mhQmN7Uq5nBSHal2EBt1jMgSl4SaZwmk= -github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.77.0/go.mod h1:1SVC7lnA0oBe04J8227vIyrWPoqAE34uf1v2hV6ZA4s= +github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckextension v0.78.0 h1:fzSsFHRe38qu6VYXeZme8t/oHaDKVQJt4XnipCb8Dno= +github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckextension v0.78.0/go.mod h1:XjAU3H8mERwKOXQYqxc43l5Hn18Wpe1KoBg6PC/05jg= +github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.78.0 h1:271p8AVf3znk2bP9ns4vuNl3KSqmUPhVXyoapWlFsM4= +github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.78.0/go.mod h1:rbylaENa2UMFsfvIy0gtyNDUyzrBEUtEyPynnzQPcq4= github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.78.0 h1:FYcWaMxq71hT96GvjtOHpowV2AW8N20GVSeKlphTYYk= github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest v0.78.0 h1:qIDISxNXC2UreAOYffDv1YyinVhD3BFJVMe6dlT4emM= github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest v0.78.0/go.mod h1:0bNC22k1POocgstpMflbMdmjc2N9WWUyNvNyNcXDwA4= github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.78.0 h1:+VhkEnw8MVjMtoLeWniET++JFXAPeQiwvGRey7xEBxk= github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.78.0/go.mod h1:nlfWj9H6G41pC+XVfitAK3gimivK8vlB8+Re2Kw3ouU= -github.com/open-telemetry/opentelemetry-collector-contrib/receiver/influxdbreceiver v0.77.0 h1:7atn73nXDxR59rpVJbihQ+v7KIg6RAhim4SRzozrTFc= -github.com/open-telemetry/opentelemetry-collector-contrib/receiver/influxdbreceiver v0.77.0/go.mod h1:TTZl/UvlpA+PRXRKA7XX0mEcpZ8IrcPf32xhVGPQU5w= +github.com/open-telemetry/opentelemetry-collector-contrib/receiver/influxdbreceiver v0.78.0 h1:H2pydkH93ErOZVPdl1bQAcHRjh5fdtO5BVcuaBZhlpw= +github.com/open-telemetry/opentelemetry-collector-contrib/receiver/influxdbreceiver v0.78.0/go.mod h1:X8loa9NykaPpd6u0y2m+XwV0E6UiTeG8w/kXgra0tZw= github.com/openconfig/gnmi v0.0.0-20220920173703-480bf53a74d2 h1:3YLlQFLDsFTvruKoYBbuYqhCgsXMtNewSrLjNXcF/Sg= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= From 7a0a27b1bdc5fa9c931bb90176b2ad757605a4a5 Mon Sep 17 00:00:00 2001 From: Jacob Marble Date: Thu, 1 Jun 2023 14:39:08 -0700 Subject: [PATCH 24/37] feat(servicegraph): drop internal dependency graph logic With this change, proper Jaeger functionality requires two specific otelcol-contrib connectors. These are documented in the demo config. --- common/common.go | 12 +- demo/otelcol-config.yml | 26 +- jaeger-influxdb/internal/common.go | 4 +- jaeger-influxdb/internal/influxdb.go | 20 +- jaeger-influxdb/internal/influxdb_reader.go | 19 +- jaeger-influxdb/internal/queries.go | 18 +- otel2influx/dependency_graph.go | 15 -- otel2influx/dependency_graph_jaeger.go | 279 -------------------- otel2influx/go.mod | 11 +- otel2influx/go.sum | 21 +- otel2influx/traces.go | 29 +- otelcol-influxdb/build.yml | 6 +- tests-integration/test_fodder.go | 8 +- 13 files changed, 72 insertions(+), 396 deletions(-) delete mode 100644 otel2influx/dependency_graph.go delete mode 100644 otel2influx/dependency_graph_jaeger.go diff --git a/common/common.go b/common/common.go index 040263a9..d392aa0f 100644 --- a/common/common.go +++ b/common/common.go @@ -1,9 +1,10 @@ package common import ( - semconv "go.opentelemetry.io/collector/semconv/v1.16.0" "regexp" "strings" + + semconv "go.opentelemetry.io/collector/semconv/v1.16.0" ) // https://github.com/open-telemetry/opentelemetry-specification/tree/v1.16.0/specification/resource/semantic_conventions @@ -53,13 +54,8 @@ const ( AttributeSpanID = "span_id" AttributeTraceState = "trace_state" AttributeParentSpanID = "parent_span_id" - AttributeParentServiceName = "parent_service_name" - AttributeChildServiceName = "child_service_name" - AttributeCallCount = "call_count" - AttributeSpansQueueDepth = "spans_queue_depth" - AttributeSpansDropped = "spans_dropped" - AttributeName = "name" - AttributeSpanKind = "kind" + AttributeSpanName = "span.name" // https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/v0.78.0/connector/spanmetricsconnector/connector.go#L30 + AttributeSpanKind = "span.kind" // https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/v0.78.0/connector/spanmetricsconnector/connector.go#L31 AttributeEndTimeUnixNano = "end_time_unix_nano" AttributeDurationNano = "duration_nano" AttributeDroppedAttributesCount = "dropped_attributes_count" diff --git a/demo/otelcol-config.yml b/demo/otelcol-config.yml index c2d5aede..ce91f50c 100644 --- a/demo/otelcol-config.yml +++ b/demo/otelcol-config.yml @@ -9,22 +9,6 @@ receivers: grpc: http: - otlp/noop: - protocols: - grpc: - endpoint: localhost:9999 - -processors: - spanmetrics: - metrics_exporter: influxdb - latency_histogram_buckets: [10ms, 25ms, 50ms, 100ms, 250ms, 500ms, 1000ms, 2500ms, 5000s, 10000s] - dimensions: - - name: http.method - default: GET - - name: http.status_code - dimensions_cache_size: 1000 - aggregation_temporality: "AGGREGATION_TEMPORALITY_DELTA" - exporters: influxdb: endpoint: https://${INFLUXDB_ADDR}/ @@ -32,6 +16,11 @@ exporters: token: ${INFLUXDB_TOKEN} metrics_schema: otel-v1 +connectors: + spanmetrics: + aggregation_temporality: "AGGREGATION_TEMPORALITY_DELTA" + servicegraph: + service: telemetry: logs: @@ -41,9 +30,8 @@ service: pipelines: traces: receivers: [otlp, jaeger] - processors: [spanmetrics] - exporters: [influxdb] + exporters: [influxdb, spanmetrics, servicegraph] metrics: - receivers: [otlp/noop] + receivers: [spanmetrics, servicegraph] exporters: [influxdb] diff --git a/jaeger-influxdb/internal/common.go b/jaeger-influxdb/internal/common.go index 29a8ce9c..9d006838 100644 --- a/jaeger-influxdb/internal/common.go +++ b/jaeger-influxdb/internal/common.go @@ -59,7 +59,7 @@ func recordToSpan(record map[string]interface{}) (*model.Span, error) { } else { span.Process.ServiceName = vv } - case common.AttributeName: + case common.AttributeSpanName: if vv, ok := v.(string); !ok { return nil, fmt.Errorf("operation name is type %T", v) } else { @@ -183,7 +183,7 @@ func recordToLog(record map[string]interface{}) (model.TraceID, model.SpanID, *m } else if spanID, err = model.SpanIDFromString(vv); err != nil { return model.TraceID{}, 0, nil, err } - case common.AttributeName: + case semconv.AttributeEventName: if vv, ok := v.(string); !ok { return model.TraceID{}, 0, nil, fmt.Errorf("log name is type %T", v) } else { diff --git a/jaeger-influxdb/internal/influxdb.go b/jaeger-influxdb/internal/influxdb.go index 3dbbc7c1..f68b4e01 100644 --- a/jaeger-influxdb/internal/influxdb.go +++ b/jaeger-influxdb/internal/influxdb.go @@ -27,10 +27,17 @@ var _ shared.StoragePlugin = (*InfluxdbStorage)(nil) var _ shared.ArchiveStoragePlugin = (*InfluxdbStorage)(nil) const ( - tableSpans = "spans" - tableLogs = "logs" - tableSpanLinks = "span-links" - tableJaegerDependencyLinks = "jaeger-dependencylinks" + tableSpans = "spans" + tableLogs = "logs" + tableSpanLinks = "span-links" + + tableSpanMetricsCalls = "calls__sum" // https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/v0.78.0/connector/spanmetricsconnector + tableSpanMetricsDuration = "duration_ms_histogram" // https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/v0.78.0/connector/spanmetricsconnector + tableServiceGraphRequestCount = "traces_service_graph_request_total__sum" // https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/v0.78.0/connector/servicegraphconnector + tableServiceGraphRequestDuration = "traces_service_graph_request_duration_seconds__histogram" // https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/v0.78.0/connector/servicegraphconnector + columnServiceGraphClient = "client" + columnServiceGraphServer = "server" + columnServiceGraphCount = "value_cumulative_monotonic_int" uriSchemeSecure = "grpc+tls" uriSchemeNotSecure = "grpc+tcp" @@ -105,9 +112,8 @@ func NewInfluxdbStorage(ctx context.Context, config *Config) (*InfluxdbStorage, tableSpanLinks: tableSpanLinks, } readerDependency := &influxdbDependencyReader{ - logger: logger.With(zap.String("influxdb", "reader-dependency")), - ir: reader, - tableDependencyLinks: tableJaegerDependencyLinks, + logger: logger.With(zap.String("influxdb", "reader-dependency")), + ir: reader, } writer := &influxdbWriterNoop{ logger: logger.With(zap.String("influxdb", "writer")), diff --git a/jaeger-influxdb/internal/influxdb_reader.go b/jaeger-influxdb/internal/influxdb_reader.go index b11b3bbc..11dc5321 100644 --- a/jaeger-influxdb/internal/influxdb_reader.go +++ b/jaeger-influxdb/internal/influxdb_reader.go @@ -100,7 +100,7 @@ func (ir *influxdbReader) GetServices(ctx context.Context) ([]string, error) { return nil } - err := ir.executeQuery(ctx, ir.db, queryGetServices(ir.tableSpans), f) + err := ir.executeQuery(ctx, ir.db, queryGetServices(), f) if err != nil && !isTableNotFound(err) { // ignore table not found (schema-on-write) return nil, err } @@ -110,7 +110,7 @@ func (ir *influxdbReader) GetServices(ctx context.Context) ([]string, error) { func (ir *influxdbReader) GetOperations(ctx context.Context, operationQueryParameters spanstore.OperationQueryParameters) ([]spanstore.Operation, error) { var operations []spanstore.Operation f := func(record map[string]interface{}) error { - if v, found := record[common.AttributeName]; found && v != nil { + if v, found := record[common.AttributeSpanName]; found && v != nil { operation := spanstore.Operation{Name: v.(string)} if spanKind, found := record[common.AttributeSpanKind]; found && spanKind != nil { operation.SpanKind = spanKind.(string) @@ -120,7 +120,7 @@ func (ir *influxdbReader) GetOperations(ctx context.Context, operationQueryParam return nil } - err := ir.executeQuery(ctx, ir.db, queryGetOperations(ir.tableSpans, operationQueryParameters.ServiceName), f) + err := ir.executeQuery(ctx, ir.db, queryGetOperations(operationQueryParameters.ServiceName), f) if err != nil && !isTableNotFound(err) { // ignore table not found (schema-on-write) return nil, err } @@ -223,9 +223,8 @@ func (ir *influxdbReader) FindTraceIDs(ctx context.Context, traceQueryParameters } type influxdbDependencyReader struct { - logger *zap.Logger - ir *influxdbReader - tableDependencyLinks string + logger *zap.Logger + ir *influxdbReader } func (idr *influxdbDependencyReader) GetDependencies(ctx context.Context, endTs time.Time, lookback time.Duration) ([]model.DependencyLink, error) { @@ -233,21 +232,21 @@ func (idr *influxdbDependencyReader) GetDependencies(ctx context.Context, endTs f := func(record map[string]interface{}) error { var parentService string - if v, found := record[common.AttributeParentServiceName]; !found || v == nil { + if v, found := record[columnServiceGraphClient]; !found || v == nil { idr.logger.Warn("parent service not found in dependency link") return nil } else { parentService = v.(string) } var childService string - if v, found := record[common.AttributeChildServiceName]; !found || v == nil { + if v, found := record[columnServiceGraphServer]; !found || v == nil { idr.logger.Warn("child service not found in dependency link") return nil } else { childService = v.(string) } var calls int64 - if v, found := record[common.AttributeCallCount]; !found || v == nil { + if v, found := record[columnServiceGraphCount]; !found || v == nil { idr.logger.Warn("calls not found in dependency link") return nil } else { @@ -263,7 +262,7 @@ func (idr *influxdbDependencyReader) GetDependencies(ctx context.Context, endTs return nil } - err := idr.ir.executeQuery(ctx, idr.ir.db, queryGetDependencies(idr.tableDependencyLinks, endTs, lookback), f) + err := idr.ir.executeQuery(ctx, idr.ir.db, queryGetDependencies(endTs, lookback), f) if err != nil && !isTableNotFound(err) { // ignore table not found (schema-on-write) return nil, err } diff --git a/jaeger-influxdb/internal/queries.go b/jaeger-influxdb/internal/queries.go index 214445fc..704c16bf 100644 --- a/jaeger-influxdb/internal/queries.go +++ b/jaeger-influxdb/internal/queries.go @@ -41,26 +41,26 @@ func queryGetTraceLinks(tableSpanLinks string, traceIDs ...model.TraceID) string return queryGetAllWhereTraceID(tableSpanLinks, traceIDs...) } -func queryGetServices(tableSpans string) string { +func queryGetServices() string { return fmt.Sprintf(`SELECT "%s" FROM '%s' GROUP BY "%s"`, - semconv.AttributeServiceName, tableSpans, semconv.AttributeServiceName) + semconv.AttributeServiceName, tableSpanMetricsCalls, semconv.AttributeServiceName) } -func queryGetOperations(tableSpans, serviceName string) string { +func queryGetOperations(serviceName string) string { return fmt.Sprintf(`SELECT "%s", "%s" FROM '%s' WHERE "%s" = '%s' GROUP BY "%s", "%s"`, - common.AttributeName, common.AttributeSpanKind, tableSpans, semconv.AttributeServiceName, serviceName, common.AttributeName, common.AttributeSpanKind) + common.AttributeSpanName, common.AttributeSpanKind, tableSpanMetricsCalls, semconv.AttributeServiceName, serviceName, common.AttributeSpanName, common.AttributeSpanKind) } -func queryGetDependencies(tableDependencyLinks string, endTs time.Time, lookback time.Duration) string { +func queryGetDependencies(endTs time.Time, lookback time.Duration) string { return fmt.Sprintf(` SELECT "%s", "%s", SUM("%s") AS "%s" FROM '%s' WHERE "%s" >= to_timestamp(%d) AND "%s" <= to_timestamp(%d) GROUP BY "%s", "%s"`, - common.AttributeParentServiceName, common.AttributeChildServiceName, common.AttributeCallCount, common.AttributeCallCount, - tableDependencyLinks, + columnServiceGraphClient, columnServiceGraphServer, columnServiceGraphCount, columnServiceGraphCount, + tableServiceGraphRequestCount, common.AttributeTime, endTs.Add(-lookback).UnixNano(), common.AttributeTime, endTs.UnixNano(), - common.AttributeParentServiceName, common.AttributeChildServiceName) + columnServiceGraphClient, columnServiceGraphServer) } func queryFindTraceIDs(tableSpans string, tqp *spanstore.TraceQueryParameters) string { @@ -72,7 +72,7 @@ func queryFindTraceIDs(tableSpans string, tqp *spanstore.TraceQueryParameters) s tags[semconv.AttributeServiceName] = tqp.ServiceName } if tqp.OperationName != "" { - tags[common.AttributeName] = tqp.OperationName + tags[common.AttributeSpanName] = tqp.OperationName } predicates := make([]string, 0, len(tags)+4) diff --git a/otel2influx/dependency_graph.go b/otel2influx/dependency_graph.go deleted file mode 100644 index 2d026642..00000000 --- a/otel2influx/dependency_graph.go +++ /dev/null @@ -1,15 +0,0 @@ -package otel2influx - -import ( - "context" - - "go.opentelemetry.io/collector/component" - "go.opentelemetry.io/collector/pdata/pcommon" - "go.opentelemetry.io/collector/pdata/ptrace" -) - -type DependencyGraph interface { - Start(ctx context.Context, host component.Host) error - ReportSpan(ctx context.Context, span ptrace.Span, resource pcommon.Resource) - Shutdown(ctx context.Context) error -} diff --git a/otel2influx/dependency_graph_jaeger.go b/otel2influx/dependency_graph_jaeger.go deleted file mode 100644 index 5b7e0f69..00000000 --- a/otel2influx/dependency_graph_jaeger.go +++ /dev/null @@ -1,279 +0,0 @@ -package otel2influx - -import ( - "context" - "fmt" - "time" - - "github.com/golang/groupcache/lru" - "go.opentelemetry.io/collector/component" - "go.opentelemetry.io/collector/pdata/pcommon" - "go.opentelemetry.io/collector/pdata/ptrace" - semconv "go.opentelemetry.io/collector/semconv/v1.16.0" - "go.opentelemetry.io/otel/attribute" - api "go.opentelemetry.io/otel/metric" - "go.opentelemetry.io/otel/sdk/metric" - "go.opentelemetry.io/otel/sdk/metric/metricdata" - "go.opentelemetry.io/otel/sdk/resource" - "go.uber.org/multierr" - - "github.com/influxdata/influxdb-observability/common" -) - -const ( - jdgMeasurementDependencyLinks = "jaeger-dependencylinks" - jdgMeasurementSpansQueueDepth = "jaeger-dependencylinks-spans-queuedepth" - jdgMeasurementSpansDropped = "jaeger-dependencylinks-spans-dropped" -) - -var jdgFieldKeys = map[string]string{ - jdgMeasurementDependencyLinks: common.AttributeCallCount, - jdgMeasurementSpansQueueDepth: common.AttributeSpansQueueDepth, - jdgMeasurementSpansDropped: common.AttributeSpansDropped, -} - -type jdgSpan struct { - serviceName string - childIDs []pcommon.SpanID -} - -type jdgSpanReport struct { - traceID pcommon.TraceID - spanID pcommon.SpanID - parentSpanID pcommon.SpanID - serviceName string -} - -type JaegerDependencyGraph struct { - logger common.Logger - - traceGraphByID *lru.Cache // trace ID -> trace graph - ch chan *jdgSpanReport - - backgroundCtx context.Context - backgroundCtxCancel func() - backgroundErrs chan error - - meterReader metric.Reader - meterProvider *metric.MeterProvider - counterDependencyLinks api.Int64Counter - gaugeSpansQueueDepth api.Int64ObservableGauge - gaugeSpansDropped api.Int64Counter - - w InfluxWriter -} - -func NewJaegerDependencyGraph(logger common.Logger, cacheMaxTrace, queueLength int, w InfluxWriter) (*JaegerDependencyGraph, error) { - meterReader := metric.NewManualReader( - metric.WithTemporalitySelector( - func(kind metric.InstrumentKind) metricdata.Temporality { - return metricdata.DeltaTemporality - })) - - meterProvider := metric.NewMeterProvider( - metric.WithReader(meterReader), - metric.WithResource(resource.Empty())) - - meter := meterProvider.Meter(jdgMeasurementDependencyLinks) - dependencyLinks, err := meter.Int64Counter(jdgMeasurementDependencyLinks) - if err != nil { - return nil, err - } - spansQueueDepth, err := meter.Int64ObservableGauge(jdgMeasurementSpansQueueDepth) - if err != nil { - return nil, err - } - spansDropped, err := meter.Int64Counter(jdgMeasurementSpansDropped) - if err != nil { - return nil, err - } - backgroundCtx, backgroundCtxCancel := context.WithCancel(context.Background()) - - g := &JaegerDependencyGraph{ - logger: logger, - - traceGraphByID: lru.New(cacheMaxTrace), - ch: make(chan *jdgSpanReport, queueLength), - backgroundCtx: backgroundCtx, - backgroundCtxCancel: backgroundCtxCancel, - backgroundErrs: make(chan error), - - meterReader: meterReader, - meterProvider: meterProvider, - counterDependencyLinks: dependencyLinks, - gaugeSpansQueueDepth: spansQueueDepth, - gaugeSpansDropped: spansDropped, - - w: w, - } - _, err = meter.RegisterCallback(func(ctx context.Context, o api.Observer) error { - o.ObserveInt64(spansQueueDepth, int64(len(g.ch))) - return nil - }, spansQueueDepth) - if err != nil { - return nil, err - } - - return g, nil -} - -func (g *JaegerDependencyGraph) Start(_ context.Context, _ component.Host) error { - go func() { - ticker := time.NewTicker(10 * time.Second) - for { - select { - case <-ticker.C: - resourceMetrics := metricdata.ResourceMetrics{} - err := g.meterReader.Collect(g.backgroundCtx, &resourceMetrics) - if err != nil { - g.logger.Debug("dependency graph reader failed to collect", err) - continue - } - err = g.export(g.backgroundCtx, resourceMetrics) - if err != nil { - g.logger.Debug("dependency graph failed to export", err) - continue - } - case <-g.backgroundCtx.Done(): - g.backgroundErrs <- g.backgroundCtx.Err() - return - } - } - }() - - go func() { - for { - select { - case s := <-g.ch: - g.handleReportedSpan(g.backgroundCtx, s) - case <-g.backgroundCtx.Done(): - g.backgroundErrs <- g.backgroundCtx.Err() - return - } - } - }() - - return nil -} - -func (g *JaegerDependencyGraph) Shutdown(ctx context.Context) error { - g.backgroundCtxCancel() - return multierr.Combine( - <-g.backgroundErrs, - <-g.backgroundErrs, - g.meterReader.Shutdown(ctx), - g.meterProvider.Shutdown(ctx), - ) -} - -func (g *JaegerDependencyGraph) export(ctx context.Context, resourceMetrics metricdata.ResourceMetrics) error { - resourceTags := make(map[string]string, resourceMetrics.Resource.Len()) - for _, kv := range resourceMetrics.Resource.Attributes() { - resourceTags[string(kv.Key)] = kv.Value.Emit() - } - batch := g.w.NewBatch() - for _, scopeMetrics := range resourceMetrics.ScopeMetrics { - for _, metrics := range scopeMetrics.Metrics { - tags := make(map[string]string, len(resourceTags)+2) - for k, v := range resourceTags { - tags[k] = v - } - var dataPoints []metricdata.DataPoint[int64] - switch data := metrics.Data.(type) { - case metricdata.Sum[int64]: - dataPoints = data.DataPoints - case metricdata.Gauge[int64]: - dataPoints = data.DataPoints - default: - g.logger.Debug("unsupported metric type", "type", fmt.Sprintf("%T", data)) - continue - } - for _, dp := range dataPoints { - for _, kv := range dp.Attributes.ToSlice() { - tags[string(kv.Key)] = kv.Value.Emit() - } - fields := map[string]interface{}{ - jdgFieldKeys[metrics.Name]: dp.Value, - } - err := batch.WritePoint(ctx, metrics.Name, tags, fields, dp.Time, common.InfluxMetricValueTypeUntyped) - if err != nil { - return err - } - } - } - } - return batch.FlushBatch(ctx) -} - -func (g *JaegerDependencyGraph) handleReportedSpan(ctx context.Context, report *jdgSpanReport) { - var traceGraph map[pcommon.SpanID]*jdgSpan - if v, ok := g.traceGraphByID.Get(report.traceID); ok { - traceGraph = v.(map[pcommon.SpanID]*jdgSpan) - } else { - traceGraph = make(map[pcommon.SpanID]*jdgSpan) - g.traceGraphByID.Add(report.traceID, traceGraph) - } - - // for each of this span's children... - this := traceGraph[report.spanID] - if this == nil { - this = &jdgSpan{} - traceGraph[report.spanID] = this - } else { - for _, childSpanID := range this.childIDs { - child := traceGraph[childSpanID] - if child.serviceName != "" && child.serviceName != report.serviceName { - g.counterDependencyLinks.Add(ctx, 1, api.WithAttributes( - attribute.String(common.AttributeParentServiceName, report.serviceName), - attribute.String(common.AttributeChildServiceName, child.serviceName))) - } - } - } - this.serviceName = report.serviceName - - // for each of this span's parents (0 or 1)... - if report.parentSpanID.IsEmpty() { - return - } - parent := traceGraph[report.parentSpanID] - if parent == nil { - parent = &jdgSpan{} - traceGraph[report.parentSpanID] = parent - } else if parent.serviceName != "" && parent.serviceName != report.serviceName { - g.counterDependencyLinks.Add(ctx, 1, api.WithAttributes( - attribute.String(common.AttributeParentServiceName, parent.serviceName), - attribute.String(common.AttributeChildServiceName, report.serviceName))) - } - parent.childIDs = append(parent.childIDs, report.spanID) -} - -func (g *JaegerDependencyGraph) ReportSpan(ctx context.Context, span ptrace.Span, resource pcommon.Resource) { - traceID := span.TraceID() - if traceID.IsEmpty() { - return - } - spanID := span.SpanID() - if spanID.IsEmpty() { - return - } - serviceNameValue, ok := resource.Attributes().Get(semconv.AttributeServiceName) - if !ok { - return - } - serviceName := serviceNameValue.Str() - if serviceName == "" { - return - } - - select { - case g.ch <- &jdgSpanReport{ - traceID: traceID, - spanID: spanID, - parentSpanID: span.ParentSpanID(), - serviceName: serviceName, - }: - default: - g.gaugeSpansDropped.Add(ctx, 1) - } - // TODO add span.links using span.kind? -} diff --git a/otel2influx/go.mod b/otel2influx/go.mod index 39b52ba7..f18cc166 100644 --- a/otel2influx/go.mod +++ b/otel2influx/go.mod @@ -3,24 +3,17 @@ module github.com/influxdata/influxdb-observability/otel2influx go 1.19 require ( - github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da github.com/influxdata/influxdb-observability/common v0.3.15 github.com/stretchr/testify v1.8.3 go.opentelemetry.io/collector/component v0.78.2 go.opentelemetry.io/collector/consumer v0.78.2 go.opentelemetry.io/collector/pdata v1.0.0-rcv0012 go.opentelemetry.io/collector/semconv v0.78.2 - go.opentelemetry.io/otel v1.16.0 - go.opentelemetry.io/otel/metric v1.16.0 - go.opentelemetry.io/otel/sdk v1.16.0 - go.opentelemetry.io/otel/sdk/metric v0.39.0 go.uber.org/multierr v1.11.0 ) require ( github.com/davecgh/go-spew v1.1.1 // indirect - github.com/go-logr/logr v1.2.4 // indirect - github.com/go-logr/stdr v1.2.2 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/golang/protobuf v1.5.3 // indirect github.com/json-iterator/go v1.1.12 // indirect @@ -34,7 +27,9 @@ require ( go.opentelemetry.io/collector v0.78.2 // indirect go.opentelemetry.io/collector/confmap v0.78.2 // indirect go.opentelemetry.io/collector/featuregate v1.0.0-rcv0012 // indirect - go.opentelemetry.io/otel/trace v1.16.0 // indirect + go.opentelemetry.io/otel v1.15.1 // indirect + go.opentelemetry.io/otel/metric v0.38.1 // indirect + go.opentelemetry.io/otel/trace v1.15.1 // indirect go.uber.org/atomic v1.10.0 // indirect go.uber.org/zap v1.24.0 // indirect golang.org/x/net v0.10.0 // indirect diff --git a/otel2influx/go.sum b/otel2influx/go.sum index 8274e2b4..cb1cddfe 100644 --- a/otel2influx/go.sum +++ b/otel2influx/go.sum @@ -55,11 +55,8 @@ github.com/go-ldap/ldap v3.0.2+incompatible/go.mod h1:qfd9rJvER9Q0/D/Sqn1DfHRoBp github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= -github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/logr v1.2.4 h1:g01GSCwiDw2xSZfjJ2/T9M+S6pFdcNtFYsp+Y43HYDQ= -github.com/go-logr/logr v1.2.4/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= -github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/go-test/deep v1.0.2-0.20181118220953-042da051cf31/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= @@ -67,8 +64,6 @@ github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7a github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= -github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= @@ -270,16 +265,12 @@ go.opentelemetry.io/collector/pdata v1.0.0-rcv0012 h1:R+cfEUMyLn9Q1QknyQ4QU77pbf go.opentelemetry.io/collector/pdata v1.0.0-rcv0012/go.mod h1:rEAKFqc1L03lidKtra/2/dJtI0Hp+JsQxuPEIkj/2Vg= go.opentelemetry.io/collector/semconv v0.78.2 h1:o1tymN831Lqc+7sPxq2FW/2E8fehqLDKMyEELtiYquU= go.opentelemetry.io/collector/semconv v0.78.2/go.mod h1:lazBA42nqZPNPWDMiqWfr5eIVeNgRmoLDbQmjXKcm70= -go.opentelemetry.io/otel v1.16.0 h1:Z7GVAX/UkAXPKsy94IU+i6thsQS4nb7LviLpnaNeW8s= -go.opentelemetry.io/otel v1.16.0/go.mod h1:vl0h9NUa1D5s1nv3A5vZOYWn8av4K8Ml6JDeHrT/bx4= -go.opentelemetry.io/otel/metric v1.16.0 h1:RbrpwVG1Hfv85LgnZ7+txXioPDoh6EdbZHo26Q3hqOo= -go.opentelemetry.io/otel/metric v1.16.0/go.mod h1:QE47cpOmkwipPiefDwo2wDzwJrlfxxNYodqc4xnGCo4= -go.opentelemetry.io/otel/sdk v1.16.0 h1:Z1Ok1YsijYL0CSJpHt4cS3wDDh7p572grzNrBMiMWgE= -go.opentelemetry.io/otel/sdk v1.16.0/go.mod h1:tMsIuKXuuIWPBAOrH+eHtvhTL+SntFtXF9QD68aP6p4= -go.opentelemetry.io/otel/sdk/metric v0.39.0 h1:Kun8i1eYf48kHH83RucG93ffz0zGV1sh46FAScOTuDI= -go.opentelemetry.io/otel/sdk/metric v0.39.0/go.mod h1:piDIRgjcK7u0HCL5pCA4e74qpK/jk3NiUoAHATVAmiI= -go.opentelemetry.io/otel/trace v1.16.0 h1:8JRpaObFoW0pxuVPapkgH8UhHQj+bJW8jJsCZEu5MQs= -go.opentelemetry.io/otel/trace v1.16.0/go.mod h1:Yt9vYq1SdNz3xdjZZK7wcXv1qv2pwLkqr2QVwea0ef0= +go.opentelemetry.io/otel v1.15.1 h1:3Iwq3lfRByPaws0f6bU3naAqOR1n5IeDWd9390kWHa8= +go.opentelemetry.io/otel v1.15.1/go.mod h1:mHHGEHVDLal6YrKMmk9LqC4a3sF5g+fHfrttQIB1NTc= +go.opentelemetry.io/otel/metric v0.38.1 h1:2MM7m6wPw9B8Qv8iHygoAgkbejed59uUR6ezR5T3X2s= +go.opentelemetry.io/otel/metric v0.38.1/go.mod h1:FwqNHD3I/5iX9pfrRGZIlYICrJv0rHEUl2Ln5vdIVnQ= +go.opentelemetry.io/otel/trace v1.15.1 h1:uXLo6iHJEzDfrNC0L0mNjItIp06SyaBQxu5t3xMlngY= +go.opentelemetry.io/otel/trace v1.15.1/go.mod h1:IWdQG/5N1x7f6YUlmdLeJvH9yxtuJAfc4VW5Agv9r/8= go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/atomic v1.10.0 h1:9qC72Qh0+3MqyJbAn8YU5xVq1frD8bn3JtD2oXtafVQ= go.uber.org/atomic v1.10.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= diff --git a/otel2influx/traces.go b/otel2influx/traces.go index 8d2b22b5..a79211c1 100644 --- a/otel2influx/traces.go +++ b/otel2influx/traces.go @@ -19,33 +19,25 @@ import ( ) type OtelTracesToLineProtocol struct { - logger common.Logger - dependencyGraph DependencyGraph - w InfluxWriter + logger common.Logger + w InfluxWriter } func NewOtelTracesToLineProtocol(logger common.Logger, w InfluxWriter) (*OtelTracesToLineProtocol, error) { - // TODO make dependency graph optional - // TODO add other dependency graph schema(ta) - dependencyGraph, err := NewJaegerDependencyGraph(logger, 1000, 100, w) - if err != nil { - return nil, err - } - return &OtelTracesToLineProtocol{ - logger: logger, - dependencyGraph: dependencyGraph, - w: w, + logger: logger, + w: w, }, nil } func (c *OtelTracesToLineProtocol) Start(ctx context.Context, host component.Host) error { - c.logger.Debug("starting otel traces to lp") - return c.dependencyGraph.Start(ctx, host) + // TODO remove this method + return nil } func (c *OtelTracesToLineProtocol) Shutdown(ctx context.Context) error { - return c.dependencyGraph.Shutdown(ctx) + // TODO remove this method + return nil } func (c *OtelTracesToLineProtocol) WriteTraces(ctx context.Context, td ptrace.Traces) error { @@ -61,7 +53,6 @@ func (c *OtelTracesToLineProtocol) WriteTraces(ctx context.Context, td ptrace.Tr } for k := 0; k < scopeSpans.Spans().Len(); k++ { span := scopeSpans.Spans().At(k) - c.dependencyGraph.ReportSpan(ctx, span, resourceSpans.Resource()) if err := c.writeSpan(ctx, span, scopeFields, batch); err != nil { return fmt.Errorf("failed to convert OTLP span to line protocol: %w", err) } @@ -118,7 +109,7 @@ func (c *OtelTracesToLineProtocol) writeSpan(ctx context.Context, span ptrace.Sp fields[common.AttributeParentSpanID] = hex.EncodeToString(parentSpanID[:]) } if name := span.Name(); name != "" { - fields[common.AttributeName] = name + fields[common.AttributeSpanName] = name } if kind := span.Kind(); kind != ptrace.SpanKindUnspecified { fields[common.AttributeSpanKind] = kind.String() @@ -192,7 +183,7 @@ func (c *OtelTracesToLineProtocol) writeSpan(ctx context.Context, span ptrace.Sp func (c *OtelTracesToLineProtocol) writeSpanEvent(ctx context.Context, traceID pcommon.TraceID, spanID pcommon.SpanID, spanEvent ptrace.SpanEvent, batch InfluxWriterBatch) error { fields := make(map[string]interface{}, 2) if name := spanEvent.Name(); name != "" { - fields[common.AttributeName] = name + fields[semconv.AttributeEventName] = name } droppedAttributesCount := uint64(spanEvent.DroppedAttributesCount()) diff --git a/otelcol-influxdb/build.yml b/otelcol-influxdb/build.yml index 80e8bb52..7f1bd125 100644 --- a/otelcol-influxdb/build.yml +++ b/otelcol-influxdb/build.yml @@ -17,6 +17,10 @@ exporters: - gomod: go.opentelemetry.io/collector/exporter/otlpexporter v0.78.2 - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/influxdbexporter v0.78.0 +connectors: +- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/connector/spanmetricsconnector v0.78.0 +- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/connector/servicegraphconnector v0.78.0 + extensions: - gomod: go.opentelemetry.io/collector/extension/ballastextension v0.78.2 - gomod: go.opentelemetry.io/collector/extension/zpagesextension v0.78.2 @@ -30,7 +34,6 @@ processors: - gomod: go.opentelemetry.io/collector/processor/memorylimiterprocessor v0.78.2 - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/probabilisticsamplerprocessor v0.78.0 - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/routingprocessor v0.78.0 -- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/spanmetricsprocessor v0.78.0 - gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/tailsamplingprocessor v0.78.0 replaces: @@ -39,3 +42,4 @@ replaces: - github.com/influxdata/influxdb-observability/otel2influx => ../../otel2influx - go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc => go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.42.0 - go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp => go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.42.0 +- go.opentelemetry.io/otel/sdk/metric => go.opentelemetry.io/otel/sdk/metric v0.39.0 diff --git a/tests-integration/test_fodder.go b/tests-integration/test_fodder.go index d6d032fe..0c53bca4 100644 --- a/tests-integration/test_fodder.go +++ b/tests-integration/test_fodder.go @@ -124,11 +124,11 @@ http_requests_total,code=400,method=post counter=3 1622848686000000000 }{ otel: traces, lp: ` -spans,span_id=0000000000000003,trace_id=00000000000000020000000000000001 duration_nano=100000000000i,end_time_unix_nano=1622848100000000000i,kind="Internal",attributes="{\"k\":true}",dropped_attributes_count=7u,dropped_events_count=13u,dropped_links_count=17u,name="cpu_temp" 1622848000000000000 -logs,span_id=0000000000000003,trace_id=00000000000000020000000000000001 attributes="{\"foo\":\"bar\"}",dropped_attributes_count=5u,name="yay-event" 1622848000000000001 +spans,span_id=0000000000000003,trace_id=00000000000000020000000000000001 duration_nano=100000000000i,end_time_unix_nano=1622848100000000000i,span.kind="Internal",attributes="{\"k\":true}",dropped_attributes_count=7u,dropped_events_count=13u,dropped_links_count=17u,span.name="cpu_temp" 1622848000000000000 +logs,span_id=0000000000000003,trace_id=00000000000000020000000000000001 attributes="{\"foo\":\"bar\"}",dropped_attributes_count=5u,event.name="yay-event" 1622848000000000001 span-links,linked_span_id=0000000000000003,linked_trace_id=00000000000000020000000000000002,span_id=0000000000000003,trace_id=00000000000000020000000000000001 dropped_attributes_count=19u,attributes="{\"yay-link\":123}" 1622848000000000000 -spans,span_id=0000000000000004,trace_id=00000000000000020000000000000001 duration_nano=3i,end_time_unix_nano=1622848000000000005i,kind="Client",parent_span_id="0000000000000003",name="http_request" 1622848000000000002 -spans,span_id=0000000000000005,trace_id=00000000000000020000000000000002 duration_nano=2i,end_time_unix_nano=1622848000000000012i,kind="Consumer",name="process_batch" 1622848000000000010 +spans,span_id=0000000000000004,trace_id=00000000000000020000000000000001 duration_nano=3i,end_time_unix_nano=1622848000000000005i,span.kind="Client",parent_span_id="0000000000000003",span.name="http_request" 1622848000000000002 +spans,span_id=0000000000000005,trace_id=00000000000000020000000000000002 duration_nano=2i,end_time_unix_nano=1622848000000000012i,span.kind="Consumer",span.name="process_batch" 1622848000000000010 `, }) } From 6a35f96e4b7eb10f2ed6eb2c0d2825c96f5f64cc Mon Sep 17 00:00:00 2001 From: Jacob Marble Date: Thu, 1 Jun 2023 15:22:16 -0700 Subject: [PATCH 25/37] chore: add arm64 build to CI Closes #243 --- .github/workflows/docker.yml | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index ac39d9a2..34a11895 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -9,6 +9,8 @@ jobs: docker: runs-on: ubuntu-latest steps: + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v2 - name: Login to Docker Hub @@ -26,11 +28,12 @@ jobs: tags: | type=semver,pattern={{version}} - name: Build and push jaeger-influxdb - uses: docker/build-push-action@v3 + uses: docker/build-push-action@v4 with: push: true file: jaeger-influxdb/Dockerfile tags: ${{ steps.meta-jaeger-influxdb.outputs.tags }} + platforms: linux/amd64,linux/arm64 - name: Docker meta, jaeger-influxdb-all-in-one id: meta-jaeger-influxdb-all-in-one @@ -41,11 +44,12 @@ jobs: tags: | type=semver,pattern={{version}} - name: Build and push jaeger-influxdb-all-in-one - uses: docker/build-push-action@v3 + uses: docker/build-push-action@v4 with: push: true file: jaeger-influxdb/Dockerfile.all-in-one tags: ${{ steps.meta-jaeger-influxdb-all-in-one.outputs.tags }} + platforms: linux/amd64,linux/arm64 - name: Docker meta, otelcol-influxdb id: meta-otelcol-influxdb @@ -56,8 +60,9 @@ jobs: tags: | type=semver,pattern={{version}} - name: Build and push otelcol-influxdb - uses: docker/build-push-action@v3 + uses: docker/build-push-action@v4 with: push: true file: otelcol-influxdb/Dockerfile tags: ${{ steps.meta-otelcol-influxdb.outputs.tags }} + platforms: linux/amd64,linux/arm64 From b6f4f9c9666dd9ccde7b073884314d012b0ccde2 Mon Sep 17 00:00:00 2001 From: Jacob Marble Date: Fri, 2 Jun 2023 12:22:18 -0700 Subject: [PATCH 26/37] chore(jaeger-influxdb): do not log context canceled --- jaeger-influxdb/cmd/jaeger-influxdb/main.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jaeger-influxdb/cmd/jaeger-influxdb/main.go b/jaeger-influxdb/cmd/jaeger-influxdb/main.go index 54930ca2..a0349555 100644 --- a/jaeger-influxdb/cmd/jaeger-influxdb/main.go +++ b/jaeger-influxdb/cmd/jaeger-influxdb/main.go @@ -106,7 +106,7 @@ func run(ctx context.Context, config *internal.Config) error { grpcServer := grpc.NewServer( grpc.UnaryInterceptor(func(ctx context.Context, req interface{}, _ *grpc.UnaryServerInfo, handler grpc.UnaryHandler) (interface{}, error) { res, err := handler(internal.LoggerWithContext(ctx, logger), req) - if err != nil { + if err != nil && err != context.Canceled { logger.Error("gRPC interceptor", zap.Error(err)) } return res, err @@ -118,7 +118,7 @@ func run(ctx context.Context, config *internal.Config) error { ctx: ctx, } err := handler(srv, stream) - if err != nil { + if err != nil && err != context.Canceled { logger.Error("gRPC interceptor", zap.Error(err)) } return err From bc758872d19d36076666e1ea95c61d27dfd24515 Mon Sep 17 00:00:00 2001 From: Jacob Marble Date: Tue, 6 Jun 2023 15:59:56 -0700 Subject: [PATCH 27/37] chore: update OpenTelemetry and Jaeger --- common/go.mod | 4 +- common/go.sum | 15 ++------ influx2otel/go.mod | 10 ++--- influx2otel/go.sum | 23 +++++------- jaeger-influxdb/go.mod | 20 +++++----- jaeger-influxdb/go.sum | 46 ++++++++++++----------- otel2influx/go.mod | 20 +++++----- otel2influx/go.sum | 36 +++++++++--------- tests-integration/go.mod | 38 +++++++++---------- tests-integration/go.sum | 80 ++++++++++++++++++++-------------------- 10 files changed, 142 insertions(+), 150 deletions(-) diff --git a/common/go.mod b/common/go.mod index 4c01d8ae..bf243753 100644 --- a/common/go.mod +++ b/common/go.mod @@ -3,8 +3,8 @@ module github.com/influxdata/influxdb-observability/common go 1.19 require ( - github.com/stretchr/testify v1.8.2 - go.opentelemetry.io/collector/semconv v0.78.2 + github.com/stretchr/testify v1.8.4 + go.opentelemetry.io/collector/semconv v0.79.0 ) require ( diff --git a/common/go.sum b/common/go.sum index 9049c150..f58c38af 100644 --- a/common/go.sum +++ b/common/go.sum @@ -1,5 +1,4 @@ github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= @@ -8,17 +7,11 @@ github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= -github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= -github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/stretchr/testify v1.8.2 h1:+h33VjcLVPDHtOdpUCuF+7gSuG3yGIftsP1YvFihtJ8= -github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -go.opentelemetry.io/collector/semconv v0.78.2 h1:o1tymN831Lqc+7sPxq2FW/2E8fehqLDKMyEELtiYquU= -go.opentelemetry.io/collector/semconv v0.78.2/go.mod h1:lazBA42nqZPNPWDMiqWfr5eIVeNgRmoLDbQmjXKcm70= +github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= +github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= +go.opentelemetry.io/collector/semconv v0.79.0 h1:74pzP4c7xWk9Eihs14kEQvE4m4hHgXrQ/YbWkdn1bVY= +go.opentelemetry.io/collector/semconv v0.79.0/go.mod h1:TlYPtzvsXyHOgr5eATi43qEMqwSmIziivJB2uctKswo= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/influx2otel/go.mod b/influx2otel/go.mod index e960a53b..5ea0f6cf 100644 --- a/influx2otel/go.mod +++ b/influx2otel/go.mod @@ -3,12 +3,12 @@ module github.com/influxdata/influxdb-observability/influx2otel go 1.19 require ( - github.com/influxdata/influxdb-observability/common v0.3.15 - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest v0.78.0 - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.78.0 - github.com/stretchr/testify v1.8.2 + github.com/influxdata/influxdb-observability/common v0.4.2 + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest v0.79.0 + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.79.0 + github.com/stretchr/testify v1.8.4 go.opentelemetry.io/collector/pdata v1.0.0-rcv0012 - go.opentelemetry.io/collector/semconv v0.78.2 + go.opentelemetry.io/collector/semconv v0.79.0 ) require ( diff --git a/influx2otel/go.sum b/influx2otel/go.sum index 06d768f4..40ce4e87 100644 --- a/influx2otel/go.sum +++ b/influx2otel/go.sum @@ -22,28 +22,24 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.78.0 h1:FYcWaMxq71hT96GvjtOHpowV2AW8N20GVSeKlphTYYk= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest v0.78.0 h1:qIDISxNXC2UreAOYffDv1YyinVhD3BFJVMe6dlT4emM= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest v0.78.0/go.mod h1:0bNC22k1POocgstpMflbMdmjc2N9WWUyNvNyNcXDwA4= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.78.0 h1:+VhkEnw8MVjMtoLeWniET++JFXAPeQiwvGRey7xEBxk= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.78.0/go.mod h1:nlfWj9H6G41pC+XVfitAK3gimivK8vlB8+Re2Kw3ouU= +github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.79.0 h1:OZPeakqoSZ1yRlmGBlWi9kISx/9PJzlNLGLutFPOQY0= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest v0.79.0 h1:YtkbJjknfMJ4UKXdaUBTw37QLxYXuVMmozqPFTM0XPI= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest v0.79.0/go.mod h1:BFqnTfM5Neh5A5gYtsxh2615yp/t39vUj7oRUcjevFU= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.79.0 h1:Cao5mD7NFJsMLM40lisqJ4Iy3+v+JOq+8cR79/Uki94= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.79.0/go.mod h1:/wfeJfzu3oAkC2boitFR3dZcnwNtwzryI/SW1LIhDLo= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= -github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/stretchr/testify v1.8.2 h1:+h33VjcLVPDHtOdpUCuF+7gSuG3yGIftsP1YvFihtJ8= -github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= +github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= +github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= go.opentelemetry.io/collector/pdata v1.0.0-rcv0012 h1:R+cfEUMyLn9Q1QknyQ4QU77pbfc1aJKYEXFHtnwSbCg= go.opentelemetry.io/collector/pdata v1.0.0-rcv0012/go.mod h1:rEAKFqc1L03lidKtra/2/dJtI0Hp+JsQxuPEIkj/2Vg= -go.opentelemetry.io/collector/semconv v0.78.2 h1:o1tymN831Lqc+7sPxq2FW/2E8fehqLDKMyEELtiYquU= -go.opentelemetry.io/collector/semconv v0.78.2/go.mod h1:lazBA42nqZPNPWDMiqWfr5eIVeNgRmoLDbQmjXKcm70= +go.opentelemetry.io/collector/semconv v0.79.0 h1:74pzP4c7xWk9Eihs14kEQvE4m4hHgXrQ/YbWkdn1bVY= +go.opentelemetry.io/collector/semconv v0.79.0/go.mod h1:TlYPtzvsXyHOgr5eATi43qEMqwSmIziivJB2uctKswo= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= @@ -87,6 +83,5 @@ google.golang.org/protobuf v1.30.0 h1:kPPoIgf3TsEvrm0PFe15JQ+570QVxYzEvvHqChK+cn google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/jaeger-influxdb/go.mod b/jaeger-influxdb/go.mod index 0eb39c4a..5101f4a8 100644 --- a/jaeger-influxdb/go.mod +++ b/jaeger-influxdb/go.mod @@ -5,16 +5,16 @@ go 1.20 require ( github.com/apache/arrow-adbc/go/adbc v0.3.0 github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da - github.com/influxdata/influxdb-observability/common v0.3.15 + github.com/influxdata/influxdb-observability/common v0.4.2 github.com/influxdata/line-protocol/v2 v2.2.1 - github.com/jaegertracing/jaeger v1.45.0 + github.com/jaegertracing/jaeger v1.46.0 github.com/mattn/go-isatty v0.0.18 github.com/opentracing/opentracing-go v1.2.0 github.com/spf13/cobra v1.7.0 - github.com/spf13/viper v1.15.0 - github.com/stretchr/testify v1.8.2 + github.com/spf13/viper v1.16.0 + github.com/stretchr/testify v1.8.4 go.opentelemetry.io/collector/pdata v1.0.0-rcv0012 - go.opentelemetry.io/collector/semconv v0.78.2 + go.opentelemetry.io/collector/semconv v0.79.0 go.uber.org/multierr v1.11.0 go.uber.org/zap v1.24.0 google.golang.org/grpc v1.55.0 @@ -51,18 +51,18 @@ require ( github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect github.com/oklog/run v1.1.0 // indirect - github.com/pelletier/go-toml/v2 v2.0.6 // indirect + github.com/pelletier/go-toml/v2 v2.0.8 // indirect github.com/pierrec/lz4/v4 v4.1.17 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect - github.com/spf13/afero v1.9.3 // indirect - github.com/spf13/cast v1.5.0 // indirect + github.com/spf13/afero v1.9.5 // indirect + github.com/spf13/cast v1.5.1 // indirect github.com/spf13/jwalterweatherman v1.1.0 // indirect github.com/spf13/pflag v1.0.5 // indirect github.com/subosito/gotenv v1.4.2 // indirect github.com/uber/jaeger-client-go v2.30.0+incompatible // indirect github.com/uber/jaeger-lib v2.4.1+incompatible // indirect github.com/zeebo/xxh3 v1.0.2 // indirect - go.uber.org/atomic v1.10.0 // indirect + go.uber.org/atomic v1.11.0 // indirect go.uber.org/goleak v1.2.0 // indirect golang.org/x/exp v0.0.0-20230206171751-46f607a40771 // indirect golang.org/x/mod v0.8.0 // indirect @@ -72,7 +72,7 @@ require ( golang.org/x/text v0.9.0 // indirect golang.org/x/tools v0.6.0 // indirect golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect - google.golang.org/genproto v0.0.0-20230306155012-7f2fa6fef1f4 // indirect + google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 // indirect google.golang.org/protobuf v1.30.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect diff --git a/jaeger-influxdb/go.sum b/jaeger-influxdb/go.sum index bd1aa96b..dbb7cc56 100644 --- a/jaeger-influxdb/go.sum +++ b/jaeger-influxdb/go.sum @@ -76,7 +76,7 @@ github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYF github.com/frankban/quicktest v1.11.0/go.mod h1:K+q6oSqb0W0Ininfk863uOk1lMy69l/P6txr3mVT54s= github.com/frankban/quicktest v1.11.2/go.mod h1:K+q6oSqb0W0Ininfk863uOk1lMy69l/P6txr3mVT54s= github.com/frankban/quicktest v1.13.0/go.mod h1:qLE0fzW0VuyUAJgPU19zByoIr0HtCHN/r/VLSOOIySU= -github.com/frankban/quicktest v1.14.3 h1:FJKSZTDHjyhriyC81FLQ0LY93eSai0ZyR/ZIkd3ZUKE= +github.com/frankban/quicktest v1.14.4 h1:g2rn0vABPOOXmZUj+vbmUp0lPoXEMuhTpIluN0XL9UY= github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY= github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= @@ -174,8 +174,8 @@ github.com/influxdata/line-protocol/v2 v2.0.0-20210312151457-c52fdecb625a/go.mod github.com/influxdata/line-protocol/v2 v2.1.0/go.mod h1:QKw43hdUBg3GTk2iC3iyCxksNj7PX9aUSeYOYE/ceHY= github.com/influxdata/line-protocol/v2 v2.2.1 h1:EAPkqJ9Km4uAxtMRgUubJyqAr6zgWM0dznKMLRauQRE= github.com/influxdata/line-protocol/v2 v2.2.1/go.mod h1:DmB3Cnh+3oxmG6LOBIxce4oaL4CPj3OmMPgvauXh+tM= -github.com/jaegertracing/jaeger v1.45.0 h1:WnMMBO7cnywUiLRsqTgclWjKigNZjyVQDL1cBC0shU4= -github.com/jaegertracing/jaeger v1.45.0/go.mod h1:uFvk0i8iVOErUo59ntIzlvgk3qs/iGSbOtD/RyuPh2Y= +github.com/jaegertracing/jaeger v1.46.0 h1:lXr8LTbj0kWjTAhR2FXTnMvVC3N93NRdaBEnqlu096Q= +github.com/jaegertracing/jaeger v1.46.0/go.mod h1:MCjqgGvkrjG9P0zD7gc8TwRpqZMEdwhjogyywHNJ+FU= github.com/jhump/protoreflect v1.6.0 h1:h5jfMVslIg6l29nsMs0D8Wj17RDVdNYti0vDN/PZZoE= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= @@ -227,8 +227,8 @@ github.com/oklog/run v1.1.0 h1:GEenZ1cK0+q0+wsJew9qUg/DyD8k3JzYsZAi5gYi2mA= github.com/oklog/run v1.1.0/go.mod h1:sVPdnTZT1zYwAJeCMu2Th4T21pA3FPOQRfWjQlk7DVU= github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+1B0VhjKrZUs= github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc= -github.com/pelletier/go-toml/v2 v2.0.6 h1:nrzqCb7j9cDFj2coyLNLaZuJTLjWjlaz6nvTvIwycIU= -github.com/pelletier/go-toml/v2 v2.0.6/go.mod h1:eumQOmlWiOPt5WriQQqoM5y18pDHwha2N+QD+EUNTek= +github.com/pelletier/go-toml/v2 v2.0.8 h1:0ctb6s9mE31h0/lhu+J6OPmVeDxJn+kYnJc2jZR9tGQ= +github.com/pelletier/go-toml/v2 v2.0.8/go.mod h1:vuYfssBdrU2XDZ9bYydBu6t+6a6PYNcZljzZR9VXg+4= github.com/pierrec/lz4/v4 v4.1.17 h1:kV4Ip+/hUBC+8T6+2EgburRtkE9ef4nbY3f4dFhGjMc= github.com/pierrec/lz4/v4 v4.1.17/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= @@ -242,18 +242,18 @@ github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec h1:W09IVJc94 github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= -github.com/spf13/afero v1.9.3 h1:41FoI0fD7OR7mGcKE/aOiLkGreyf8ifIOQmJANWogMk= -github.com/spf13/afero v1.9.3/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y= -github.com/spf13/cast v1.5.0 h1:rj3WzYc11XZaIZMPKmwP96zkFEnnAmV8s6XbB2aY32w= -github.com/spf13/cast v1.5.0/go.mod h1:SpXXQ5YoyJw6s3/6cMTQuxvgRl3PCJiyaX9p6b155UU= +github.com/spf13/afero v1.9.5 h1:stMpOSZFs//0Lv29HduCmli3GUfpFoF3Y1Q/aXj/wVM= +github.com/spf13/afero v1.9.5/go.mod h1:UBogFpq8E9Hx+xc5CNTTEpTnuHVmXDwZcZcE1eb/UhQ= +github.com/spf13/cast v1.5.1 h1:R+kOtfhWQE6TVQzY+4D7wJLBgkdVasCEFxSUBYBYIlA= +github.com/spf13/cast v1.5.1/go.mod h1:b9PdjNptOpzXr7Rq1q9gJML/2cdGQAo69NKzQ10KN48= github.com/spf13/cobra v1.7.0 h1:hyqWnYt1ZQShIddO5kBpj3vu05/++x6tJ6dg8EC572I= github.com/spf13/cobra v1.7.0/go.mod h1:uLxZILRyS/50WlhOIKD7W6V5bgeIt+4sICxh6uRMrb0= github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk= github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/spf13/viper v1.15.0 h1:js3yy885G8xwJa6iOISGFwd+qlUo5AvyXb7CiihdtiU= -github.com/spf13/viper v1.15.0/go.mod h1:fFcTBJxvhhzSJiZy8n+PeW6t8l+KeT/uTARa0jHOQLA= +github.com/spf13/viper v1.16.0 h1:rGGH0XDZhdUOryiDWjmIvUSWpbNqisK8Wk0Vyefw8hc= +github.com/spf13/viper v1.16.0/go.mod h1:yg78JgCJcbrQOvV9YLXgkLaZqUidkY9K+Dd1FofRzQg= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0 h1:1zr/of2m5FGMsad5YfcqgdqdWrIhu+EBEJRhR1U7z/c= @@ -266,9 +266,9 @@ github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/ github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.8.2 h1:+h33VjcLVPDHtOdpUCuF+7gSuG3yGIftsP1YvFihtJ8= -github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= +github.com/stretchr/testify v1.8.3/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= +github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= +github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/subosito/gotenv v1.4.2 h1:X1TuBLAMDFbaTAChgCBLu3DU3UPyELpnF2jjJ2cz/S8= github.com/subosito/gotenv v1.4.2/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0= github.com/uber/jaeger-client-go v2.30.0+incompatible h1:D6wyKGCecFaSRUpo8lCVbaOOb6ThwMmTEbhRwtKR97o= @@ -290,10 +290,10 @@ go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= go.opentelemetry.io/collector/pdata v1.0.0-rcv0012 h1:R+cfEUMyLn9Q1QknyQ4QU77pbfc1aJKYEXFHtnwSbCg= go.opentelemetry.io/collector/pdata v1.0.0-rcv0012/go.mod h1:rEAKFqc1L03lidKtra/2/dJtI0Hp+JsQxuPEIkj/2Vg= -go.opentelemetry.io/collector/semconv v0.78.2 h1:o1tymN831Lqc+7sPxq2FW/2E8fehqLDKMyEELtiYquU= -go.opentelemetry.io/collector/semconv v0.78.2/go.mod h1:lazBA42nqZPNPWDMiqWfr5eIVeNgRmoLDbQmjXKcm70= -go.uber.org/atomic v1.10.0 h1:9qC72Qh0+3MqyJbAn8YU5xVq1frD8bn3JtD2oXtafVQ= -go.uber.org/atomic v1.10.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= +go.opentelemetry.io/collector/semconv v0.79.0 h1:74pzP4c7xWk9Eihs14kEQvE4m4hHgXrQ/YbWkdn1bVY= +go.opentelemetry.io/collector/semconv v0.79.0/go.mod h1:TlYPtzvsXyHOgr5eATi43qEMqwSmIziivJB2uctKswo= +go.uber.org/atomic v1.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE= +go.uber.org/atomic v1.11.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= go.uber.org/goleak v1.2.0 h1:xqgm/S+aQvhWFTtR0XK3Jvg7z8kGV8P4X14IzwN3Eqk= go.uber.org/goleak v1.2.0/go.mod h1:XJYK+MuIchqpmGmUSAzotztawfKvYLUIgg7guXrwVUo= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= @@ -306,7 +306,7 @@ golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8U golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= -golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -375,6 +375,7 @@ golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwY golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.10.0 h1:X2//UzNDwYmtCLn7To6G58Wr6f5ahEAQgKNzv9Y951M= golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= @@ -431,6 +432,7 @@ golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -449,6 +451,8 @@ golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3 golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.9.0 h1:2sjJmO8cDvYveuX97RDLsxlyUxLl+GHoLxBiRdHllBE= golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -574,8 +578,8 @@ google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6D google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210108203827-ffc7fda8c3d7/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210226172003-ab064af71705/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20230306155012-7f2fa6fef1f4 h1:DdoeryqhaXp1LtT/emMP1BRJPHHKFi5akj/nbx/zNTA= -google.golang.org/genproto v0.0.0-20230306155012-7f2fa6fef1f4/go.mod h1:NWraEVixdDnqcqQ30jipen1STv2r/n24Wb7twVTGR4s= +google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 h1:KpwkzHKEF7B9Zxg18WzOa7djJ+Ha5DzthMyZYQfEn2A= +google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1/go.mod h1:nKE/iIaLqn2bQwXBg8f1g2Ylh6r5MN5CmZvuzZCgsCU= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= diff --git a/otel2influx/go.mod b/otel2influx/go.mod index f18cc166..1849b800 100644 --- a/otel2influx/go.mod +++ b/otel2influx/go.mod @@ -3,12 +3,12 @@ module github.com/influxdata/influxdb-observability/otel2influx go 1.19 require ( - github.com/influxdata/influxdb-observability/common v0.3.15 - github.com/stretchr/testify v1.8.3 - go.opentelemetry.io/collector/component v0.78.2 - go.opentelemetry.io/collector/consumer v0.78.2 + github.com/influxdata/influxdb-observability/common v0.4.2 + github.com/stretchr/testify v1.8.4 + go.opentelemetry.io/collector/component v0.79.0 + go.opentelemetry.io/collector/consumer v0.79.0 go.opentelemetry.io/collector/pdata v1.0.0-rcv0012 - go.opentelemetry.io/collector/semconv v0.78.2 + go.opentelemetry.io/collector/semconv v0.79.0 go.uber.org/multierr v1.11.0 ) @@ -24,12 +24,12 @@ require ( github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - go.opentelemetry.io/collector v0.78.2 // indirect - go.opentelemetry.io/collector/confmap v0.78.2 // indirect + go.opentelemetry.io/collector v0.79.0 // indirect + go.opentelemetry.io/collector/confmap v0.79.0 // indirect go.opentelemetry.io/collector/featuregate v1.0.0-rcv0012 // indirect - go.opentelemetry.io/otel v1.15.1 // indirect - go.opentelemetry.io/otel/metric v0.38.1 // indirect - go.opentelemetry.io/otel/trace v1.15.1 // indirect + go.opentelemetry.io/otel v1.16.0 // indirect + go.opentelemetry.io/otel/metric v1.16.0 // indirect + go.opentelemetry.io/otel/trace v1.16.0 // indirect go.uber.org/atomic v1.10.0 // indirect go.uber.org/zap v1.24.0 // indirect golang.org/x/net v0.10.0 // indirect diff --git a/otel2influx/go.sum b/otel2influx/go.sum index cb1cddfe..68ccd5a0 100644 --- a/otel2influx/go.sum +++ b/otel2influx/go.sum @@ -243,34 +243,34 @@ github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UV github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.8.3 h1:RP3t2pwF7cMEbC1dqtB6poj3niw/9gnV4Cjg5oW5gtY= -github.com/stretchr/testify v1.8.3/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= +github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= +github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= go.etcd.io/etcd/api/v3 v3.5.4/go.mod h1:5GB2vv4A4AOn3yk7MftYGHkUfGtDHnEraIjym4dYz5A= go.etcd.io/etcd/client/pkg/v3 v3.5.4/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= go.etcd.io/etcd/client/v3 v3.5.4/go.mod h1:ZaRkVgBZC+L+dLCjTcF1hRXpgZXQPOvnA/Ak/gq3kiY= -go.opentelemetry.io/collector v0.78.2 h1:q8RCyWeS/oXBBilAx4XaWwYSSU5omwkkD2lBrKBNaT0= -go.opentelemetry.io/collector v0.78.2/go.mod h1:MweYHkPHYIY4ncWmeFQH36XjlMLNej/5dB9nTRf1DUg= -go.opentelemetry.io/collector/component v0.78.2 h1:luDNrTiz5KvHgF6Dg7Tpmvgh3xFaOzqdOxB3evvwE34= -go.opentelemetry.io/collector/component v0.78.2/go.mod h1:AoRSBnuMw0O1f1ZhslW7fx1vrP/0/JNgC2RqPIbczW0= -go.opentelemetry.io/collector/confmap v0.78.2 h1:P3IRJ4OC585whSU7NNujK+I+JtJ6bC9DHmmOWiFdQZk= -go.opentelemetry.io/collector/confmap v0.78.2/go.mod h1:nudYcQJDF5zmAd2GKe5PetMF8/Lg1Mc/EjAKQBXHdyg= -go.opentelemetry.io/collector/consumer v0.78.2 h1:KrjSRMb4Qcb+kgQeDql4IQg4C7bLlZ4hV4s/FkXJeL8= -go.opentelemetry.io/collector/consumer v0.78.2/go.mod h1:9QT9HNwBuqLlO8znbXby+UJI04bv7wPw4rD9SrOxAoY= +go.opentelemetry.io/collector v0.79.0 h1:Lra7U0ilMor1g5WVkO3YZ0kZYsvzAtGN+Uq+CmC96JY= +go.opentelemetry.io/collector v0.79.0/go.mod h1:O2Vfwykphq9VqdATZiAypjnJMS3WFBXwFSe/0ujo38Q= +go.opentelemetry.io/collector/component v0.79.0 h1:ZKLJ4qa0AngmyGp1RQBJgl6OIP6mxdfrVpbz09h/W34= +go.opentelemetry.io/collector/component v0.79.0/go.mod h1:rX0gixMemcXZTZaML5zUiT+5txZUYkWnACscJkFVj18= +go.opentelemetry.io/collector/confmap v0.79.0 h1:a4XVde3lLP81BiSbt8AzVD6pvQBX8YkrB9ZtMSHKv1A= +go.opentelemetry.io/collector/confmap v0.79.0/go.mod h1:cKr2c7lVtEJCuMOncUPlcROJBbTFaHiPjYp1Y8RbL+Q= +go.opentelemetry.io/collector/consumer v0.79.0 h1:V/4PCvbTw2Bt+lYb/ogac0g/nCCb3oKnmz+jM3t5Dyk= +go.opentelemetry.io/collector/consumer v0.79.0/go.mod h1:VfqIyUI5K20zXx3mfVN+skmA+V3sV5fNorJ5TaIOj/U= go.opentelemetry.io/collector/featuregate v1.0.0-rcv0012 h1:pSO81lfikGEgRXHepmOGy2o6WWCly427UJCgMJC5c8g= go.opentelemetry.io/collector/featuregate v1.0.0-rcv0012/go.mod h1:/kVAsGUCyJXIDSgHftCN63QiwAEVHRLX2Kh/S+dqgHY= go.opentelemetry.io/collector/pdata v1.0.0-rcv0012 h1:R+cfEUMyLn9Q1QknyQ4QU77pbfc1aJKYEXFHtnwSbCg= go.opentelemetry.io/collector/pdata v1.0.0-rcv0012/go.mod h1:rEAKFqc1L03lidKtra/2/dJtI0Hp+JsQxuPEIkj/2Vg= -go.opentelemetry.io/collector/semconv v0.78.2 h1:o1tymN831Lqc+7sPxq2FW/2E8fehqLDKMyEELtiYquU= -go.opentelemetry.io/collector/semconv v0.78.2/go.mod h1:lazBA42nqZPNPWDMiqWfr5eIVeNgRmoLDbQmjXKcm70= -go.opentelemetry.io/otel v1.15.1 h1:3Iwq3lfRByPaws0f6bU3naAqOR1n5IeDWd9390kWHa8= -go.opentelemetry.io/otel v1.15.1/go.mod h1:mHHGEHVDLal6YrKMmk9LqC4a3sF5g+fHfrttQIB1NTc= -go.opentelemetry.io/otel/metric v0.38.1 h1:2MM7m6wPw9B8Qv8iHygoAgkbejed59uUR6ezR5T3X2s= -go.opentelemetry.io/otel/metric v0.38.1/go.mod h1:FwqNHD3I/5iX9pfrRGZIlYICrJv0rHEUl2Ln5vdIVnQ= -go.opentelemetry.io/otel/trace v1.15.1 h1:uXLo6iHJEzDfrNC0L0mNjItIp06SyaBQxu5t3xMlngY= -go.opentelemetry.io/otel/trace v1.15.1/go.mod h1:IWdQG/5N1x7f6YUlmdLeJvH9yxtuJAfc4VW5Agv9r/8= +go.opentelemetry.io/collector/semconv v0.79.0 h1:74pzP4c7xWk9Eihs14kEQvE4m4hHgXrQ/YbWkdn1bVY= +go.opentelemetry.io/collector/semconv v0.79.0/go.mod h1:TlYPtzvsXyHOgr5eATi43qEMqwSmIziivJB2uctKswo= +go.opentelemetry.io/otel v1.16.0 h1:Z7GVAX/UkAXPKsy94IU+i6thsQS4nb7LviLpnaNeW8s= +go.opentelemetry.io/otel v1.16.0/go.mod h1:vl0h9NUa1D5s1nv3A5vZOYWn8av4K8Ml6JDeHrT/bx4= +go.opentelemetry.io/otel/metric v1.16.0 h1:RbrpwVG1Hfv85LgnZ7+txXioPDoh6EdbZHo26Q3hqOo= +go.opentelemetry.io/otel/metric v1.16.0/go.mod h1:QE47cpOmkwipPiefDwo2wDzwJrlfxxNYodqc4xnGCo4= +go.opentelemetry.io/otel/trace v1.16.0 h1:8JRpaObFoW0pxuVPapkgH8UhHQj+bJW8jJsCZEu5MQs= +go.opentelemetry.io/otel/trace v1.16.0/go.mod h1:Yt9vYq1SdNz3xdjZZK7wcXv1qv2pwLkqr2QVwea0ef0= go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/atomic v1.10.0 h1:9qC72Qh0+3MqyJbAn8YU5xVq1frD8bn3JtD2oXtafVQ= go.uber.org/atomic v1.10.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= diff --git a/tests-integration/go.mod b/tests-integration/go.mod index afbd6dff..91d2ddf2 100644 --- a/tests-integration/go.mod +++ b/tests-integration/go.mod @@ -6,18 +6,18 @@ require ( github.com/influxdata/influxdb/v2 v2.6.1 github.com/influxdata/line-protocol/v2 v2.2.1 github.com/influxdata/telegraf v1.25.3 - github.com/open-telemetry/opentelemetry-collector-contrib/exporter/influxdbexporter v0.78.0 - github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckextension v0.78.0 - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest v0.78.0 - github.com/open-telemetry/opentelemetry-collector-contrib/receiver/influxdbreceiver v0.78.0 - github.com/stretchr/testify v1.8.3 - go.opentelemetry.io/collector v0.78.2 - go.opentelemetry.io/collector/component v0.78.2 - go.opentelemetry.io/collector/confmap v0.78.2 - go.opentelemetry.io/collector/consumer v0.78.2 - go.opentelemetry.io/collector/exporter v0.78.2 + github.com/open-telemetry/opentelemetry-collector-contrib/exporter/influxdbexporter v0.79.0 + github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckextension v0.79.0 + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest v0.79.0 + github.com/open-telemetry/opentelemetry-collector-contrib/receiver/influxdbreceiver v0.79.0 + github.com/stretchr/testify v1.8.4 + go.opentelemetry.io/collector v0.79.0 + go.opentelemetry.io/collector/component v0.79.0 + go.opentelemetry.io/collector/confmap v0.79.0 + go.opentelemetry.io/collector/consumer v0.79.0 + go.opentelemetry.io/collector/exporter v0.79.0 go.opentelemetry.io/collector/pdata v1.0.0-rcv0012 - go.opentelemetry.io/collector/receiver v0.78.2 + go.opentelemetry.io/collector/receiver v0.79.0 go.uber.org/zap v1.24.0 google.golang.org/grpc v1.55.0 ) @@ -52,7 +52,7 @@ require ( github.com/google/uuid v1.3.0 // indirect github.com/gosnmp/gosnmp v1.35.0 // indirect github.com/inconshreveable/mousetrap v1.1.0 // indirect - github.com/influxdata/influxdb-observability/common v0.3.15 // indirect + github.com/influxdata/influxdb-observability/common v0.4.2 // indirect github.com/influxdata/influxdb-observability/influx2otel v0.3.15 // indirect github.com/influxdata/influxdb-observability/otel2influx v0.3.15 // indirect github.com/influxdata/toml v0.0.0-20190415235208-270119a8ce65 // indirect @@ -70,14 +70,14 @@ require ( github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect github.com/naoina/go-stringutil v0.1.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.78.0 // indirect - github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.78.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.79.0 // indirect + github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.79.0 // indirect github.com/philhofer/fwd v1.1.1 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect github.com/power-devops/perfstat v0.0.0-20220216144756-c35f1ee13d7c // indirect github.com/prometheus/client_golang v1.15.1 // indirect github.com/prometheus/client_model v0.4.0 // indirect - github.com/prometheus/common v0.43.0 // indirect + github.com/prometheus/common v0.44.0 // indirect github.com/prometheus/procfs v0.9.0 // indirect github.com/prometheus/prometheus v1.8.2-0.20210430082741-2a4b8e12bbf2 // indirect github.com/prometheus/statsd_exporter v0.22.7 // indirect @@ -93,12 +93,12 @@ require ( github.com/yusufpapurcu/wmi v1.2.2 // indirect go.opencensus.io v0.24.0 // indirect go.opentelemetry.io/collector/featuregate v1.0.0-rcv0012 // indirect - go.opentelemetry.io/collector/semconv v0.78.2 // indirect + go.opentelemetry.io/collector/semconv v0.79.0 // indirect go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.42.0 // indirect - go.opentelemetry.io/contrib/propagators/b3 v1.16.1 // indirect + go.opentelemetry.io/contrib/propagators/b3 v1.17.0 // indirect go.opentelemetry.io/otel v1.16.0 // indirect - go.opentelemetry.io/otel/bridge/opencensus v0.38.1 // indirect - go.opentelemetry.io/otel/exporters/prometheus v0.38.1 // indirect + go.opentelemetry.io/otel/bridge/opencensus v0.39.0 // indirect + go.opentelemetry.io/otel/exporters/prometheus v0.39.0 // indirect go.opentelemetry.io/otel/metric v1.16.0 // indirect go.opentelemetry.io/otel/sdk v1.16.0 // indirect go.opentelemetry.io/otel/sdk/metric v0.39.0 // indirect diff --git a/tests-integration/go.sum b/tests-integration/go.sum index 53bbda22..7a9e30f6 100644 --- a/tests-integration/go.sum +++ b/tests-integration/go.sum @@ -947,19 +947,19 @@ github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGV github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/influxdbexporter v0.78.0 h1:TbbUd4rdhOziYmMiNzhoUBDPX/bZ1jT7OFcqtKuhl2s= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/influxdbexporter v0.78.0/go.mod h1:/orPYWTTqjaikhc9mFjV8GRqlGMeSrHYpzza2a5Djn8= -github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckextension v0.78.0 h1:fzSsFHRe38qu6VYXeZme8t/oHaDKVQJt4XnipCb8Dno= -github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckextension v0.78.0/go.mod h1:XjAU3H8mERwKOXQYqxc43l5Hn18Wpe1KoBg6PC/05jg= -github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.78.0 h1:271p8AVf3znk2bP9ns4vuNl3KSqmUPhVXyoapWlFsM4= -github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.78.0/go.mod h1:rbylaENa2UMFsfvIy0gtyNDUyzrBEUtEyPynnzQPcq4= -github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.78.0 h1:FYcWaMxq71hT96GvjtOHpowV2AW8N20GVSeKlphTYYk= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest v0.78.0 h1:qIDISxNXC2UreAOYffDv1YyinVhD3BFJVMe6dlT4emM= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest v0.78.0/go.mod h1:0bNC22k1POocgstpMflbMdmjc2N9WWUyNvNyNcXDwA4= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.78.0 h1:+VhkEnw8MVjMtoLeWniET++JFXAPeQiwvGRey7xEBxk= -github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.78.0/go.mod h1:nlfWj9H6G41pC+XVfitAK3gimivK8vlB8+Re2Kw3ouU= -github.com/open-telemetry/opentelemetry-collector-contrib/receiver/influxdbreceiver v0.78.0 h1:H2pydkH93ErOZVPdl1bQAcHRjh5fdtO5BVcuaBZhlpw= -github.com/open-telemetry/opentelemetry-collector-contrib/receiver/influxdbreceiver v0.78.0/go.mod h1:X8loa9NykaPpd6u0y2m+XwV0E6UiTeG8w/kXgra0tZw= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/influxdbexporter v0.79.0 h1:M0nSWwCj6nbBMRYFnEV7UlU9soM76EpYoe34LR04gc4= +github.com/open-telemetry/opentelemetry-collector-contrib/exporter/influxdbexporter v0.79.0/go.mod h1:MrWV5qzPzuItyqjQVKv3KRcIWn0fWdf40SrJ7t6YosA= +github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckextension v0.79.0 h1:M2MgMIW8Iul33Xetpyj6UD9Fk7GMLMQNOUSq6YyubhA= +github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckextension v0.79.0/go.mod h1:xATxrZnJmyBhRwsmhS/jq1ZuRGeidR+fkkl8K0QOJZI= +github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.79.0 h1:MRs7tZ9I29OwPPMTg0uLG+URsV9kClGY/sJ3D9PCrA8= +github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.79.0/go.mod h1:QB5U5gmjH9AGe7p565KJ8UId2t2O5vf/Om89a5z2tnM= +github.com/open-telemetry/opentelemetry-collector-contrib/internal/coreinternal v0.79.0 h1:OZPeakqoSZ1yRlmGBlWi9kISx/9PJzlNLGLutFPOQY0= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest v0.79.0 h1:YtkbJjknfMJ4UKXdaUBTw37QLxYXuVMmozqPFTM0XPI= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatatest v0.79.0/go.mod h1:BFqnTfM5Neh5A5gYtsxh2615yp/t39vUj7oRUcjevFU= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.79.0 h1:Cao5mD7NFJsMLM40lisqJ4Iy3+v+JOq+8cR79/Uki94= +github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.79.0/go.mod h1:/wfeJfzu3oAkC2boitFR3dZcnwNtwzryI/SW1LIhDLo= +github.com/open-telemetry/opentelemetry-collector-contrib/receiver/influxdbreceiver v0.79.0 h1:/7inX/NXP5qH38CepWZY4ZoG6J6fcHJbbuJOwVrYCu4= +github.com/open-telemetry/opentelemetry-collector-contrib/receiver/influxdbreceiver v0.79.0/go.mod h1:bOFWRfsdVEIFp79P4shX3XaftU+N3L3IeiAMA/e8peQ= github.com/openconfig/gnmi v0.0.0-20220920173703-480bf53a74d2 h1:3YLlQFLDsFTvruKoYBbuYqhCgsXMtNewSrLjNXcF/Sg= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= @@ -1052,8 +1052,8 @@ github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9 github.com/prometheus/common v0.32.1/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= github.com/prometheus/common v0.35.0/go.mod h1:phzohg0JFMnBEFGxTDbfu3QyL5GI8gTQJFhYO5B3mfA= github.com/prometheus/common v0.37.0/go.mod h1:phzohg0JFMnBEFGxTDbfu3QyL5GI8gTQJFhYO5B3mfA= -github.com/prometheus/common v0.43.0 h1:iq+BVjvYLei5f27wiuNiB1DN6DYQkp1c8Bx0Vykh5us= -github.com/prometheus/common v0.43.0/go.mod h1:NCvr5cQIh3Y/gy73/RdVtC9r8xxrxwJnB+2lB3BxrFc= +github.com/prometheus/common v0.44.0 h1:+5BrQJwiBB9xsMygAB3TNvpQKOwlkc25LbISbrdOOfY= +github.com/prometheus/common v0.44.0/go.mod h1:ofAIvZbQ1e/nugmZGz4/qCb9Ap1VoSTIO7x0VV9VvuY= github.com/prometheus/exporter-toolkit v0.5.1/go.mod h1:OCkM4805mmisBhLmVFw858QYi3v0wKdY6/UxrT0pZVg= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20190117184657-bf6a532e95b1/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= @@ -1160,8 +1160,8 @@ github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/ github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.8.3 h1:RP3t2pwF7cMEbC1dqtB6poj3niw/9gnV4Cjg5oW5gtY= -github.com/stretchr/testify v1.8.3/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= +github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= +github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/stvp/go-udp-testing v0.0.0-20201019212854-469649b16807/go.mod h1:7jxmlfBCDBXRzr0eAQJ48XC1hBu1np4CS5+cHEYfwpc= github.com/testcontainers/testcontainers-go v0.18.0 h1:8RXrcIQv5xX/uBOSmZd297gzvA7F0yuRA37/918o7Yg= github.com/thomasklein94/packer-plugin-libvirt v0.3.4 h1:K+NkHFcZuiUTp4ZiDdBhWRMZiSMdsXwGuzyg4THKDAU= @@ -1239,39 +1239,39 @@ go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= -go.opentelemetry.io/collector v0.78.2 h1:q8RCyWeS/oXBBilAx4XaWwYSSU5omwkkD2lBrKBNaT0= -go.opentelemetry.io/collector v0.78.2/go.mod h1:MweYHkPHYIY4ncWmeFQH36XjlMLNej/5dB9nTRf1DUg= -go.opentelemetry.io/collector/component v0.78.2 h1:luDNrTiz5KvHgF6Dg7Tpmvgh3xFaOzqdOxB3evvwE34= -go.opentelemetry.io/collector/component v0.78.2/go.mod h1:AoRSBnuMw0O1f1ZhslW7fx1vrP/0/JNgC2RqPIbczW0= -go.opentelemetry.io/collector/confmap v0.78.2 h1:P3IRJ4OC585whSU7NNujK+I+JtJ6bC9DHmmOWiFdQZk= -go.opentelemetry.io/collector/confmap v0.78.2/go.mod h1:nudYcQJDF5zmAd2GKe5PetMF8/Lg1Mc/EjAKQBXHdyg= -go.opentelemetry.io/collector/consumer v0.78.2 h1:KrjSRMb4Qcb+kgQeDql4IQg4C7bLlZ4hV4s/FkXJeL8= -go.opentelemetry.io/collector/consumer v0.78.2/go.mod h1:9QT9HNwBuqLlO8znbXby+UJI04bv7wPw4rD9SrOxAoY= -go.opentelemetry.io/collector/exporter v0.78.2 h1:77HMkPFXAxys+WWpVdmezq2+LZpgTVaBLFecYOiqFH8= -go.opentelemetry.io/collector/exporter v0.78.2/go.mod h1:X+J2XrNPFLq9P6mTJojmX2BCcZvQdTxfAaGrrTiTBfc= -go.opentelemetry.io/collector/extension/zpagesextension v0.78.2 h1:h1ANMncTIrKhKM0zbdMhHRlZsTfY7qrhwZeHnjI4Du0= +go.opentelemetry.io/collector v0.79.0 h1:Lra7U0ilMor1g5WVkO3YZ0kZYsvzAtGN+Uq+CmC96JY= +go.opentelemetry.io/collector v0.79.0/go.mod h1:O2Vfwykphq9VqdATZiAypjnJMS3WFBXwFSe/0ujo38Q= +go.opentelemetry.io/collector/component v0.79.0 h1:ZKLJ4qa0AngmyGp1RQBJgl6OIP6mxdfrVpbz09h/W34= +go.opentelemetry.io/collector/component v0.79.0/go.mod h1:rX0gixMemcXZTZaML5zUiT+5txZUYkWnACscJkFVj18= +go.opentelemetry.io/collector/confmap v0.79.0 h1:a4XVde3lLP81BiSbt8AzVD6pvQBX8YkrB9ZtMSHKv1A= +go.opentelemetry.io/collector/confmap v0.79.0/go.mod h1:cKr2c7lVtEJCuMOncUPlcROJBbTFaHiPjYp1Y8RbL+Q= +go.opentelemetry.io/collector/consumer v0.79.0 h1:V/4PCvbTw2Bt+lYb/ogac0g/nCCb3oKnmz+jM3t5Dyk= +go.opentelemetry.io/collector/consumer v0.79.0/go.mod h1:VfqIyUI5K20zXx3mfVN+skmA+V3sV5fNorJ5TaIOj/U= +go.opentelemetry.io/collector/exporter v0.79.0 h1:PxhKgWf1AkZvN1PjiJT5xiO+pKZA9Y4fyuMs5aNFuEA= +go.opentelemetry.io/collector/exporter v0.79.0/go.mod h1:qlXiqnOUeHelpAwk03f8nB5+91UIqlA7udSBsj9bJ3M= +go.opentelemetry.io/collector/extension/zpagesextension v0.79.0 h1:I1DIomwNnNecBBSKLR3O0OlEqbPNCtMw48tAfj39VKM= go.opentelemetry.io/collector/featuregate v1.0.0-rcv0012 h1:pSO81lfikGEgRXHepmOGy2o6WWCly427UJCgMJC5c8g= go.opentelemetry.io/collector/featuregate v1.0.0-rcv0012/go.mod h1:/kVAsGUCyJXIDSgHftCN63QiwAEVHRLX2Kh/S+dqgHY= go.opentelemetry.io/collector/pdata v1.0.0-rcv0012 h1:R+cfEUMyLn9Q1QknyQ4QU77pbfc1aJKYEXFHtnwSbCg= go.opentelemetry.io/collector/pdata v1.0.0-rcv0012/go.mod h1:rEAKFqc1L03lidKtra/2/dJtI0Hp+JsQxuPEIkj/2Vg= -go.opentelemetry.io/collector/receiver v0.78.2 h1:nTaGoVoN1FqA8nIJOZi/Ww4cx32MsTwA4BjyN6VQII4= -go.opentelemetry.io/collector/receiver v0.78.2/go.mod h1:NUedvs1RRvVVvCnfMBnS2SG2m/s91niUQJuNjc2aASM= -go.opentelemetry.io/collector/semconv v0.78.2 h1:o1tymN831Lqc+7sPxq2FW/2E8fehqLDKMyEELtiYquU= -go.opentelemetry.io/collector/semconv v0.78.2/go.mod h1:lazBA42nqZPNPWDMiqWfr5eIVeNgRmoLDbQmjXKcm70= +go.opentelemetry.io/collector/receiver v0.79.0 h1:Ag4hciAYklQWDpKbnmqhfh9zJlUskWvThpCpphp12b4= +go.opentelemetry.io/collector/receiver v0.79.0/go.mod h1:+/xe0VoYl6Mli+KQTZWBR2apqFsbioAAqu7abzKDskI= +go.opentelemetry.io/collector/semconv v0.79.0 h1:74pzP4c7xWk9Eihs14kEQvE4m4hHgXrQ/YbWkdn1bVY= +go.opentelemetry.io/collector/semconv v0.79.0/go.mod h1:TlYPtzvsXyHOgr5eATi43qEMqwSmIziivJB2uctKswo= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.42.0 h1:pginetY7+onl4qN1vl0xW/V/v6OBZ0vVdH+esuJgvmM= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.42.0/go.mod h1:XiYsayHc36K3EByOO6nbAXnAWbrUxdjUROCEeeROOH8= -go.opentelemetry.io/contrib/propagators/b3 v1.16.1 h1:Y9Dk1kR93eSHadRTkqnm+QyQVhHthCcvTkoP/Afh7+4= -go.opentelemetry.io/contrib/propagators/b3 v1.16.1/go.mod h1:IR0G6txqoetQrjjdoDGe+udhFegxnQQd0dOJfFS8Jg0= -go.opentelemetry.io/contrib/zpages v0.41.1 h1:FReY8OWFNtYm4mWleTRxTUyD3r02uGcwS6ZeElahs00= +go.opentelemetry.io/contrib/propagators/b3 v1.17.0 h1:ImOVvHnku8jijXqkwCSyYKRDt2YrnGXD4BbhcpfbfJo= +go.opentelemetry.io/contrib/propagators/b3 v1.17.0/go.mod h1:IkfUfMpKWmynvvE0264trz0sf32NRTZL4nuAN9AbWRc= +go.opentelemetry.io/contrib/zpages v0.42.0 h1:hFscXKQ9PTjyIVmAr6zIV8cMoiEeR9lPIwPVqHi8+5Q= go.opentelemetry.io/otel v1.16.0 h1:Z7GVAX/UkAXPKsy94IU+i6thsQS4nb7LviLpnaNeW8s= go.opentelemetry.io/otel v1.16.0/go.mod h1:vl0h9NUa1D5s1nv3A5vZOYWn8av4K8Ml6JDeHrT/bx4= -go.opentelemetry.io/otel/bridge/opencensus v0.38.1 h1:LQgPKIZXkaQgesDm39WG1+ikhh1BhKF0NZ2HpPsVrKM= -go.opentelemetry.io/otel/bridge/opencensus v0.38.1/go.mod h1:LCRCnb4WESU7/1qj/FcVPuRa9S8C+Cetk863qoMn0wA= +go.opentelemetry.io/otel/bridge/opencensus v0.39.0 h1:YHivttTaDhbZIHuPlg1sWsy2P5gj57vzqPfkHItgbwQ= +go.opentelemetry.io/otel/bridge/opencensus v0.39.0/go.mod h1:vZ4537pNjFDXEx//WldAR6Ro2LC8wwmFC76njAXwNPE= go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.12.0 h1:UfDENi+LTcLjQ/JhaXimjlIgn7wWjwbEMmdREm2Gyng= go.opentelemetry.io/otel/exporters/otlp/otlpmetric v0.35.0 h1:KPV7w2qbszG6XnudnWDffM4CI+KjCYajryGrhoReBR4= go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v0.35.0 h1:QgnDVvLLDiLloTGHyP8wIyWtDXMx/ZHg9qNQaofry2s= -go.opentelemetry.io/otel/exporters/prometheus v0.38.1 h1:GwalIvFIx91qIA8qyAyqYj9lql5Ba2Oxj/jDG6+3UoU= -go.opentelemetry.io/otel/exporters/prometheus v0.38.1/go.mod h1:6K7aBvWHXRUcNYFSj6Hi5hHwzA1jYflG/T8snrX4dYM= +go.opentelemetry.io/otel/exporters/prometheus v0.39.0 h1:whAaiHxOatgtKd+w0dOi//1KUxj3KoPINZdtDaDj3IA= +go.opentelemetry.io/otel/exporters/prometheus v0.39.0/go.mod h1:4jo5Q4CROlCpSPsXLhymi+LYrDXd2ObU5wbKayfZs7Y= go.opentelemetry.io/otel/metric v1.16.0 h1:RbrpwVG1Hfv85LgnZ7+txXioPDoh6EdbZHo26Q3hqOo= go.opentelemetry.io/otel/metric v1.16.0/go.mod h1:QE47cpOmkwipPiefDwo2wDzwJrlfxxNYodqc4xnGCo4= go.opentelemetry.io/otel/sdk v1.16.0 h1:Z1Ok1YsijYL0CSJpHt4cS3wDDh7p572grzNrBMiMWgE= @@ -1432,7 +1432,7 @@ golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ golang.org/x/oauth2 v0.0.0-20210323180902-22b0adad7558/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= -golang.org/x/oauth2 v0.7.0 h1:qe6s0zUXlPX80/dITx3440hWZ7GwMwgDDyrSGTPJG/g= +golang.org/x/oauth2 v0.8.0 h1:6dkIjl3j3LtZ/O3sTgZTMsLKSftL/B8Zgq4huOIIUu8= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= From 91826f2357f26a42aebbb94685a6d37bd107fa5f Mon Sep 17 00:00:00 2001 From: Garry Cairns Date: Fri, 26 May 2023 16:06:31 +0100 Subject: [PATCH 28/37] feat(otel2influx): Adds support for DELTA temporality metrics --- otel2influx/README.md | 2 - otel2influx/metrics_telegraf_prometheus_v1.go | 9 - .../metrics_telegraf_prometheus_v1_test.go | 480 ++++++----- otel2influx/metrics_telegraf_prometheus_v2.go | 9 - .../metrics_telegraf_prometheus_v2_test.go | 812 +++++++++--------- 5 files changed, 658 insertions(+), 654 deletions(-) diff --git a/otel2influx/README.md b/otel2influx/README.md index af029928..81280a98 100644 --- a/otel2influx/README.md +++ b/otel2influx/README.md @@ -66,8 +66,6 @@ For example: - `Metric.unit` is ignored - `Metric` values are assigned field keys `gauge`, `counter`, `count`, `sum`, `inf` - Metric conversion follows Prometheus conventions for compatibility -- `Metric` instances with aggregation temporality type `DELTA` are dropped - - The Prometheus OpenTelemetry exporter also drops these - `LogRecord.flags` is ignored - This is an enum with no values defines yet diff --git a/otel2influx/metrics_telegraf_prometheus_v1.go b/otel2influx/metrics_telegraf_prometheus_v1.go index e49e755b..adc518fb 100644 --- a/otel2influx/metrics_telegraf_prometheus_v1.go +++ b/otel2influx/metrics_telegraf_prometheus_v1.go @@ -96,9 +96,6 @@ func (c *metricWriterTelegrafPrometheusV1) writeGauge(ctx context.Context, resou } func (c *metricWriterTelegrafPrometheusV1) writeGaugeFromSum(ctx context.Context, resource pcommon.Resource, instrumentationLibrary pcommon.InstrumentationScope, measurement string, sum pmetric.Sum, batch InfluxWriterBatch) error { - if sum.AggregationTemporality() != pmetric.AggregationTemporalityCumulative { - return fmt.Errorf("unsupported sum (as gauge) aggregation temporality %q", sum.AggregationTemporality()) - } for i := 0; i < sum.DataPoints().Len(); i++ { dataPoint := sum.DataPoints().At(i) @@ -127,9 +124,6 @@ func (c *metricWriterTelegrafPrometheusV1) writeGaugeFromSum(ctx context.Context } func (c *metricWriterTelegrafPrometheusV1) writeSum(ctx context.Context, resource pcommon.Resource, instrumentationLibrary pcommon.InstrumentationScope, measurement string, sum pmetric.Sum, batch InfluxWriterBatch) error { - if sum.AggregationTemporality() != pmetric.AggregationTemporalityCumulative { - return fmt.Errorf("unsupported sum aggregation temporality %q", sum.AggregationTemporality()) - } for i := 0; i < sum.DataPoints().Len(); i++ { dataPoint := sum.DataPoints().At(i) @@ -158,9 +152,6 @@ func (c *metricWriterTelegrafPrometheusV1) writeSum(ctx context.Context, resourc } func (c *metricWriterTelegrafPrometheusV1) writeHistogram(ctx context.Context, resource pcommon.Resource, instrumentationLibrary pcommon.InstrumentationScope, measurement string, histogram pmetric.Histogram, batch InfluxWriterBatch) error { - if histogram.AggregationTemporality() != pmetric.AggregationTemporalityCumulative { - return fmt.Errorf("unsupported histogram aggregation temporality %q", histogram.AggregationTemporality()) - } for i := 0; i < histogram.DataPoints().Len(); i++ { dataPoint := histogram.DataPoints().At(i) diff --git a/otel2influx/metrics_telegraf_prometheus_v1_test.go b/otel2influx/metrics_telegraf_prometheus_v1_test.go index 82c85120..c52f80e0 100644 --- a/otel2influx/metrics_telegraf_prometheus_v1_test.go +++ b/otel2influx/metrics_telegraf_prometheus_v1_test.go @@ -80,259 +80,271 @@ func TestWriteMetric_v1_gauge(t *testing.T) { } func TestWriteMetric_v1_gaugeFromSum(t *testing.T) { - w := new(MockInfluxWriter) - c, err := otel2influx.NewOtelMetricsToLineProtocol(new(common.NoopLogger), w, common.MetricsSchemaTelegrafPrometheusV1) - require.NoError(t, err) - - metrics := pmetric.NewMetrics() - rm := metrics.ResourceMetrics().AppendEmpty() - rm.Resource().Attributes().PutStr("container.name", "42") - ilMetrics := rm.ScopeMetrics().AppendEmpty() - ilMetrics.Scope().SetName("My Library") - ilMetrics.Scope().SetVersion("latest") - m := ilMetrics.Metrics().AppendEmpty() - m.SetName("cache_age_seconds") - m.SetDescription("Age in seconds of the current cache") - m.SetEmptySum() - m.Sum().SetIsMonotonic(false) - m.Sum().SetAggregationTemporality(pmetric.AggregationTemporalityCumulative) - dp := m.Sum().DataPoints().AppendEmpty() - dp.Attributes().PutInt("engine_id", 0) - dp.SetStartTimestamp(startTimestamp) - dp.SetTimestamp(timestamp) - dp.SetDoubleValue(23.9) - dp = m.Sum().DataPoints().AppendEmpty() - dp.Attributes().PutInt("engine_id", 1) - dp.SetStartTimestamp(startTimestamp) - dp.SetTimestamp(timestamp) - dp.SetDoubleValue(11.9) - - err = c.WriteMetrics(context.Background(), metrics) - require.NoError(t, err) - - expected := []mockPoint{ - { - measurement: "cache_age_seconds", - tags: map[string]string{ - "container.name": "42", - "otel.library.name": "My Library", - "otel.library.version": "latest", - "engine_id": "0", - }, - fields: map[string]interface{}{ - common.AttributeStartTimeUnixNano: int64(startTimestamp), - "gauge": float64(23.9), - }, - ts: time.Unix(0, 1395066363000000123).UTC(), - vType: common.InfluxMetricValueTypeGauge, - }, - { - measurement: "cache_age_seconds", - tags: map[string]string{ - "container.name": "42", - "otel.library.name": "My Library", - "otel.library.version": "latest", - "engine_id": "1", + temporalities := [2]pmetric.AggregationTemporality{pmetric.AggregationTemporalityCumulative, pmetric.AggregationTemporalityDelta} + for _, temporality := range temporalities { + w := new(MockInfluxWriter) + c, err := otel2influx.NewOtelMetricsToLineProtocol(new(common.NoopLogger), w, common.MetricsSchemaTelegrafPrometheusV1) + require.NoError(t, err) + + metrics := pmetric.NewMetrics() + rm := metrics.ResourceMetrics().AppendEmpty() + rm.Resource().Attributes().PutStr("container.name", "42") + ilMetrics := rm.ScopeMetrics().AppendEmpty() + ilMetrics.Scope().SetName("My Library") + ilMetrics.Scope().SetVersion("latest") + m := ilMetrics.Metrics().AppendEmpty() + m.SetName("cache_age_seconds") + m.SetDescription("Age in seconds of the current cache") + m.SetEmptySum() + m.Sum().SetIsMonotonic(false) + m.Sum().SetAggregationTemporality(temporality) + dp := m.Sum().DataPoints().AppendEmpty() + dp.Attributes().PutInt("engine_id", 0) + dp.SetStartTimestamp(startTimestamp) + dp.SetTimestamp(timestamp) + dp.SetDoubleValue(23.9) + dp = m.Sum().DataPoints().AppendEmpty() + dp.Attributes().PutInt("engine_id", 1) + dp.SetStartTimestamp(startTimestamp) + dp.SetTimestamp(timestamp) + dp.SetDoubleValue(11.9) + + err = c.WriteMetrics(context.Background(), metrics) + require.NoError(t, err) + + expected := []mockPoint{ + { + measurement: "cache_age_seconds", + tags: map[string]string{ + "container.name": "42", + "otel.library.name": "My Library", + "otel.library.version": "latest", + "engine_id": "0", + }, + fields: map[string]interface{}{ + common.AttributeStartTimeUnixNano: int64(startTimestamp), + "gauge": float64(23.9), + }, + ts: time.Unix(0, 1395066363000000123).UTC(), + vType: common.InfluxMetricValueTypeGauge, }, - fields: map[string]interface{}{ - common.AttributeStartTimeUnixNano: int64(startTimestamp), - "gauge": float64(11.9), + { + measurement: "cache_age_seconds", + tags: map[string]string{ + "container.name": "42", + "otel.library.name": "My Library", + "otel.library.version": "latest", + "engine_id": "1", + }, + fields: map[string]interface{}{ + common.AttributeStartTimeUnixNano: int64(startTimestamp), + "gauge": float64(11.9), + }, + ts: time.Unix(0, 1395066363000000123).UTC(), + vType: common.InfluxMetricValueTypeGauge, }, - ts: time.Unix(0, 1395066363000000123).UTC(), - vType: common.InfluxMetricValueTypeGauge, - }, - } + } - assert.Equal(t, expected, w.points) + assert.Equal(t, expected, w.points) + } } func TestWriteMetric_v1_sum(t *testing.T) { - w := new(MockInfluxWriter) - c, err := otel2influx.NewOtelMetricsToLineProtocol(new(common.NoopLogger), w, common.MetricsSchemaTelegrafPrometheusV1) - require.NoError(t, err) - - metrics := pmetric.NewMetrics() - rm := metrics.ResourceMetrics().AppendEmpty() - rm.Resource().Attributes().PutStr("container.name", "42") - ilMetrics := rm.ScopeMetrics().AppendEmpty() - ilMetrics.Scope().SetName("My Library") - ilMetrics.Scope().SetVersion("latest") - m := ilMetrics.Metrics().AppendEmpty() - m.SetName("http_requests_total") - m.SetDescription("The total number of HTTP requests") - m.SetEmptySum() - m.Sum().SetIsMonotonic(true) - m.Sum().SetAggregationTemporality(pmetric.AggregationTemporalityCumulative) - dp := m.Sum().DataPoints().AppendEmpty() - dp.Attributes().PutInt("code", 200) - dp.Attributes().PutStr("method", "post") - dp.SetStartTimestamp(startTimestamp) - dp.SetTimestamp(timestamp) - dp.SetDoubleValue(1027) - dp = m.Sum().DataPoints().AppendEmpty() - dp.Attributes().PutInt("code", 400) - dp.Attributes().PutStr("method", "post") - dp.SetStartTimestamp(startTimestamp) - dp.SetTimestamp(timestamp) - dp.SetDoubleValue(3) - - err = c.WriteMetrics(context.Background(), metrics) - require.NoError(t, err) - - expected := []mockPoint{ - { - measurement: "http_requests_total", - tags: map[string]string{ - "container.name": "42", - "otel.library.name": "My Library", - "otel.library.version": "latest", - "method": "post", - "code": "200", - }, - fields: map[string]interface{}{ - common.AttributeStartTimeUnixNano: int64(startTimestamp), - "counter": float64(1027), - }, - ts: time.Unix(0, 1395066363000000123).UTC(), - vType: common.InfluxMetricValueTypeSum, - }, - { - measurement: "http_requests_total", - tags: map[string]string{ - "container.name": "42", - "otel.library.name": "My Library", - "otel.library.version": "latest", - "method": "post", - "code": "400", + temporalities := [2]pmetric.AggregationTemporality{pmetric.AggregationTemporalityCumulative, pmetric.AggregationTemporalityDelta} + + for _, temporality := range temporalities { + w := new(MockInfluxWriter) + c, err := otel2influx.NewOtelMetricsToLineProtocol(new(common.NoopLogger), w, common.MetricsSchemaTelegrafPrometheusV1) + require.NoError(t, err) + metrics := pmetric.NewMetrics() + rm := metrics.ResourceMetrics().AppendEmpty() + rm.Resource().Attributes().PutStr("container.name", "42") + ilMetrics := rm.ScopeMetrics().AppendEmpty() + ilMetrics.Scope().SetName("My Library") + ilMetrics.Scope().SetVersion("latest") + m := ilMetrics.Metrics().AppendEmpty() + m.SetName("http_requests_total") + m.SetDescription("The total number of HTTP requests") + m.SetEmptySum() + m.Sum().SetIsMonotonic(true) + m.Sum().SetAggregationTemporality(temporality) + dp := m.Sum().DataPoints().AppendEmpty() + dp.Attributes().PutInt("code", 200) + dp.Attributes().PutStr("method", "post") + dp.SetStartTimestamp(startTimestamp) + dp.SetTimestamp(timestamp) + dp.SetDoubleValue(1027) + dp = m.Sum().DataPoints().AppendEmpty() + dp.Attributes().PutInt("code", 400) + dp.Attributes().PutStr("method", "post") + dp.SetStartTimestamp(startTimestamp) + dp.SetTimestamp(timestamp) + dp.SetDoubleValue(3) + + err = c.WriteMetrics(context.Background(), metrics) + require.NoError(t, err) + + expected := []mockPoint{ + { + measurement: "http_requests_total", + tags: map[string]string{ + "container.name": "42", + "otel.library.name": "My Library", + "otel.library.version": "latest", + "method": "post", + "code": "200", + }, + fields: map[string]interface{}{ + common.AttributeStartTimeUnixNano: int64(startTimestamp), + "counter": float64(1027), + }, + ts: time.Unix(0, 1395066363000000123).UTC(), + vType: common.InfluxMetricValueTypeSum, }, - fields: map[string]interface{}{ - common.AttributeStartTimeUnixNano: int64(startTimestamp), - "counter": float64(3), + { + measurement: "http_requests_total", + tags: map[string]string{ + "container.name": "42", + "otel.library.name": "My Library", + "otel.library.version": "latest", + "method": "post", + "code": "400", + }, + fields: map[string]interface{}{ + common.AttributeStartTimeUnixNano: int64(startTimestamp), + "counter": float64(3), + }, + ts: time.Unix(0, 1395066363000000123).UTC(), + vType: common.InfluxMetricValueTypeSum, }, - ts: time.Unix(0, 1395066363000000123).UTC(), - vType: common.InfluxMetricValueTypeSum, - }, - } + } - assert.Equal(t, expected, w.points) + assert.Equal(t, expected, w.points) + } } func TestWriteMetric_v1_histogram(t *testing.T) { - w := new(MockInfluxWriter) - c, err := otel2influx.NewOtelMetricsToLineProtocol(new(common.NoopLogger), w, common.MetricsSchemaTelegrafPrometheusV1) - require.NoError(t, err) - - metrics := pmetric.NewMetrics() - rm := metrics.ResourceMetrics().AppendEmpty() - rm.Resource().Attributes().PutStr("container.name", "42") - ilMetrics := rm.ScopeMetrics().AppendEmpty() - ilMetrics.Scope().SetName("My Library") - ilMetrics.Scope().SetVersion("latest") - m := ilMetrics.Metrics().AppendEmpty() - m.SetName("http_request_duration_seconds") - m.SetEmptyHistogram() - m.SetDescription("A histogram of the request duration") - m.Histogram().SetAggregationTemporality(pmetric.AggregationTemporalityCumulative) - dp := m.Histogram().DataPoints().AppendEmpty() - dp.Attributes().PutInt("code", 200) - dp.Attributes().PutStr("method", "post") - dp.SetStartTimestamp(startTimestamp) - dp.SetTimestamp(timestamp) - dp.SetCount(144320) - dp.SetSum(53423) - dp.SetMin(0) - dp.SetMax(100) - dp.BucketCounts().FromRaw([]uint64{24054, 9390, 66948, 28997, 4599, 10332}) - dp.ExplicitBounds().FromRaw([]float64{0.05, 0.1, 0.2, 0.5, 1}) - - err = c.WriteMetrics(context.Background(), metrics) - require.NoError(t, err) - - expected := []mockPoint{ - { - measurement: "http_request_duration_seconds", - tags: map[string]string{ - "container.name": "42", - "otel.library.name": "My Library", - "otel.library.version": "latest", - "method": "post", - "code": "200", - }, - fields: map[string]interface{}{ - common.AttributeStartTimeUnixNano: int64(startTimestamp), - "count": float64(144320), - "sum": float64(53423), - "0.05": float64(24054), - "0.1": float64(33444), - "0.2": float64(100392), - "0.5": float64(129389), - "1": float64(133988), - "min": float64(0), - "max": float64(100), + temporalities := [2]pmetric.AggregationTemporality{pmetric.AggregationTemporalityCumulative, pmetric.AggregationTemporalityDelta} + for _, temporality := range temporalities { + w := new(MockInfluxWriter) + c, err := otel2influx.NewOtelMetricsToLineProtocol(new(common.NoopLogger), w, common.MetricsSchemaTelegrafPrometheusV1) + require.NoError(t, err) + + metrics := pmetric.NewMetrics() + rm := metrics.ResourceMetrics().AppendEmpty() + rm.Resource().Attributes().PutStr("container.name", "42") + ilMetrics := rm.ScopeMetrics().AppendEmpty() + ilMetrics.Scope().SetName("My Library") + ilMetrics.Scope().SetVersion("latest") + m := ilMetrics.Metrics().AppendEmpty() + m.SetName("http_request_duration_seconds") + m.SetEmptyHistogram() + m.SetDescription("A histogram of the request duration") + m.Histogram().SetAggregationTemporality(temporality) + dp := m.Histogram().DataPoints().AppendEmpty() + dp.Attributes().PutInt("code", 200) + dp.Attributes().PutStr("method", "post") + dp.SetStartTimestamp(startTimestamp) + dp.SetTimestamp(timestamp) + dp.SetCount(144320) + dp.SetSum(53423) + dp.SetMin(0) + dp.SetMax(100) + dp.BucketCounts().FromRaw([]uint64{24054, 9390, 66948, 28997, 4599, 10332}) + dp.ExplicitBounds().FromRaw([]float64{0.05, 0.1, 0.2, 0.5, 1}) + + err = c.WriteMetrics(context.Background(), metrics) + require.NoError(t, err) + + expected := []mockPoint{ + { + measurement: "http_request_duration_seconds", + tags: map[string]string{ + "container.name": "42", + "otel.library.name": "My Library", + "otel.library.version": "latest", + "method": "post", + "code": "200", + }, + fields: map[string]interface{}{ + common.AttributeStartTimeUnixNano: int64(startTimestamp), + "count": float64(144320), + "sum": float64(53423), + "0.05": float64(24054), + "0.1": float64(33444), + "0.2": float64(100392), + "0.5": float64(129389), + "1": float64(133988), + "min": float64(0), + "max": float64(100), + }, + ts: time.Unix(0, 1395066363000000123).UTC(), + vType: common.InfluxMetricValueTypeHistogram, }, - ts: time.Unix(0, 1395066363000000123).UTC(), - vType: common.InfluxMetricValueTypeHistogram, - }, - } + } - assert.Equal(t, expected, w.points) + assert.Equal(t, expected, w.points) + } } func TestWriteMetric_v1_histogram_missingInfinityBucket(t *testing.T) { - w := new(MockInfluxWriter) - c, err := otel2influx.NewOtelMetricsToLineProtocol(new(common.NoopLogger), w, common.MetricsSchemaTelegrafPrometheusV1) - require.NoError(t, err) - - metrics := pmetric.NewMetrics() - rm := metrics.ResourceMetrics().AppendEmpty() - rm.Resource().Attributes().PutStr("container.name", "42") - ilMetrics := rm.ScopeMetrics().AppendEmpty() - ilMetrics.Scope().SetName("My Library") - ilMetrics.Scope().SetVersion("latest") - m := ilMetrics.Metrics().AppendEmpty() - m.SetName("http_request_duration_seconds") - m.SetEmptyHistogram() - m.SetDescription("A histogram of the request duration") - m.Histogram().SetAggregationTemporality(pmetric.AggregationTemporalityCumulative) - dp := m.Histogram().DataPoints().AppendEmpty() - dp.Attributes().PutInt("code", 200) - dp.Attributes().PutStr("method", "post") - dp.SetStartTimestamp(startTimestamp) - dp.SetTimestamp(timestamp) - dp.SetCount(144320) - dp.SetSum(53423) - dp.BucketCounts().FromRaw([]uint64{24054, 9390, 66948, 28997, 4599, 10332}) - dp.ExplicitBounds().FromRaw([]float64{0.05, 0.1, 0.2, 0.5, 1}) - - err = c.WriteMetrics(context.Background(), metrics) - require.NoError(t, err) - - expected := []mockPoint{ - { - measurement: "http_request_duration_seconds", - tags: map[string]string{ - "container.name": "42", - "otel.library.name": "My Library", - "otel.library.version": "latest", - "method": "post", - "code": "200", - }, - fields: map[string]interface{}{ - common.AttributeStartTimeUnixNano: int64(startTimestamp), - "count": float64(144320), - "sum": float64(53423), - "0.05": float64(24054), - "0.1": float64(33444), - "0.2": float64(100392), - "0.5": float64(129389), - "1": float64(133988), + temporalities := [2]pmetric.AggregationTemporality{pmetric.AggregationTemporalityCumulative, pmetric.AggregationTemporalityDelta} + for _, temporality := range temporalities { + w := new(MockInfluxWriter) + c, err := otel2influx.NewOtelMetricsToLineProtocol(new(common.NoopLogger), w, common.MetricsSchemaTelegrafPrometheusV1) + require.NoError(t, err) + + metrics := pmetric.NewMetrics() + rm := metrics.ResourceMetrics().AppendEmpty() + rm.Resource().Attributes().PutStr("container.name", "42") + ilMetrics := rm.ScopeMetrics().AppendEmpty() + ilMetrics.Scope().SetName("My Library") + ilMetrics.Scope().SetVersion("latest") + m := ilMetrics.Metrics().AppendEmpty() + m.SetName("http_request_duration_seconds") + m.SetEmptyHistogram() + m.SetDescription("A histogram of the request duration") + m.Histogram().SetAggregationTemporality(temporality) + dp := m.Histogram().DataPoints().AppendEmpty() + dp.Attributes().PutInt("code", 200) + dp.Attributes().PutStr("method", "post") + dp.SetStartTimestamp(startTimestamp) + dp.SetTimestamp(timestamp) + dp.SetCount(144320) + dp.SetSum(53423) + dp.BucketCounts().FromRaw([]uint64{24054, 9390, 66948, 28997, 4599, 10332}) + dp.ExplicitBounds().FromRaw([]float64{0.05, 0.1, 0.2, 0.5, 1}) + + err = c.WriteMetrics(context.Background(), metrics) + require.NoError(t, err) + + expected := []mockPoint{ + { + measurement: "http_request_duration_seconds", + tags: map[string]string{ + "container.name": "42", + "otel.library.name": "My Library", + "otel.library.version": "latest", + "method": "post", + "code": "200", + }, + fields: map[string]interface{}{ + common.AttributeStartTimeUnixNano: int64(startTimestamp), + "count": float64(144320), + "sum": float64(53423), + "0.05": float64(24054), + "0.1": float64(33444), + "0.2": float64(100392), + "0.5": float64(129389), + "1": float64(133988), + }, + ts: time.Unix(0, 1395066363000000123).UTC(), + vType: common.InfluxMetricValueTypeHistogram, }, - ts: time.Unix(0, 1395066363000000123).UTC(), - vType: common.InfluxMetricValueTypeHistogram, - }, - } + } - assert.Equal(t, expected, w.points) + assert.Equal(t, expected, w.points) + } } func TestWriteMetric_v1_summary(t *testing.T) { diff --git a/otel2influx/metrics_telegraf_prometheus_v2.go b/otel2influx/metrics_telegraf_prometheus_v2.go index cd3c034a..cc068b0e 100644 --- a/otel2influx/metrics_telegraf_prometheus_v2.go +++ b/otel2influx/metrics_telegraf_prometheus_v2.go @@ -96,9 +96,6 @@ func (c *metricWriterTelegrafPrometheusV2) writeGauge(ctx context.Context, resou } func (c *metricWriterTelegrafPrometheusV2) writeGaugeFromSum(ctx context.Context, resource pcommon.Resource, instrumentationLibrary pcommon.InstrumentationScope, measurement string, sum pmetric.Sum, batch InfluxWriterBatch) error { - if sum.AggregationTemporality() != pmetric.AggregationTemporalityCumulative { - return fmt.Errorf("unsupported sum (as gauge) aggregation temporality %q", sum.AggregationTemporality()) - } for i := 0; i < sum.DataPoints().Len(); i++ { dataPoint := sum.DataPoints().At(i) @@ -127,9 +124,6 @@ func (c *metricWriterTelegrafPrometheusV2) writeGaugeFromSum(ctx context.Context } func (c *metricWriterTelegrafPrometheusV2) writeSum(ctx context.Context, resource pcommon.Resource, instrumentationLibrary pcommon.InstrumentationScope, measurement string, sum pmetric.Sum, batch InfluxWriterBatch) error { - if sum.AggregationTemporality() != pmetric.AggregationTemporalityCumulative { - return fmt.Errorf("unsupported sum aggregation temporality %q", sum.AggregationTemporality()) - } for i := 0; i < sum.DataPoints().Len(); i++ { dataPoint := sum.DataPoints().At(i) @@ -158,9 +152,6 @@ func (c *metricWriterTelegrafPrometheusV2) writeSum(ctx context.Context, resourc } func (c *metricWriterTelegrafPrometheusV2) writeHistogram(ctx context.Context, resource pcommon.Resource, instrumentationLibrary pcommon.InstrumentationScope, measurement string, histogram pmetric.Histogram, batch InfluxWriterBatch) error { - if histogram.AggregationTemporality() != pmetric.AggregationTemporalityCumulative { - return fmt.Errorf("unsupported histogram aggregation temporality %q", histogram.AggregationTemporality()) - } for i := 0; i < histogram.DataPoints().Len(); i++ { dataPoint := histogram.DataPoints().At(i) diff --git a/otel2influx/metrics_telegraf_prometheus_v2_test.go b/otel2influx/metrics_telegraf_prometheus_v2_test.go index df36a9c2..5a15bb4b 100644 --- a/otel2influx/metrics_telegraf_prometheus_v2_test.go +++ b/otel2influx/metrics_telegraf_prometheus_v2_test.go @@ -78,419 +78,431 @@ func TestWriteMetric_v2_gauge(t *testing.T) { } func TestWriteMetric_v2_gaugeFromSum(t *testing.T) { - w := new(MockInfluxWriter) - c, err := otel2influx.NewOtelMetricsToLineProtocol(new(common.NoopLogger), w, common.MetricsSchemaTelegrafPrometheusV2) - require.NoError(t, err) - - metrics := pmetric.NewMetrics() - rm := metrics.ResourceMetrics().AppendEmpty() - rm.Resource().Attributes().PutStr("node", "42") - ilMetrics := rm.ScopeMetrics().AppendEmpty() - ilMetrics.Scope().SetName("My Library") - ilMetrics.Scope().SetVersion("latest") - m := ilMetrics.Metrics().AppendEmpty() - m.SetName("cache_age_seconds") - m.SetDescription("Age in seconds of the current cache") - m.SetEmptySum() - m.Sum().SetIsMonotonic(false) - m.Sum().SetAggregationTemporality(pmetric.AggregationTemporalityCumulative) - dp := m.Sum().DataPoints().AppendEmpty() - dp.Attributes().PutInt("engine_id", 0) - dp.SetStartTimestamp(startTimestamp) - dp.SetTimestamp(timestamp) - dp.SetDoubleValue(23.9) - dp = m.Sum().DataPoints().AppendEmpty() - dp.Attributes().PutInt("engine_id", 1) - dp.SetStartTimestamp(startTimestamp) - dp.SetTimestamp(timestamp) - dp.SetDoubleValue(11.9) - - err = c.WriteMetrics(context.Background(), metrics) - require.NoError(t, err) - - expected := []mockPoint{ - { - measurement: "prometheus", - tags: map[string]string{ - "node": "42", - "otel.library.name": "My Library", - "otel.library.version": "latest", - "engine_id": "0", - }, - fields: map[string]interface{}{ - common.AttributeStartTimeUnixNano: int64(startTimestamp), - "cache_age_seconds": float64(23.9), - }, - ts: timestamp.AsTime().UTC(), - vType: common.InfluxMetricValueTypeGauge, - }, - { - measurement: "prometheus", - tags: map[string]string{ - "node": "42", - "otel.library.name": "My Library", - "otel.library.version": "latest", - "engine_id": "1", - }, - fields: map[string]interface{}{ - common.AttributeStartTimeUnixNano: int64(startTimestamp), - "cache_age_seconds": float64(11.9), - }, - ts: timestamp.AsTime().UTC(), - vType: common.InfluxMetricValueTypeGauge, - }, + temporalities := [2]pmetric.AggregationTemporality{pmetric.AggregationTemporalityCumulative, pmetric.AggregationTemporalityDelta} + for _, temporality := range temporalities { + w := new(MockInfluxWriter) + c, err := otel2influx.NewOtelMetricsToLineProtocol(new(common.NoopLogger), w, common.MetricsSchemaTelegrafPrometheusV2) + require.NoError(t, err) + + metrics := pmetric.NewMetrics() + rm := metrics.ResourceMetrics().AppendEmpty() + rm.Resource().Attributes().PutStr("node", "42") + ilMetrics := rm.ScopeMetrics().AppendEmpty() + ilMetrics.Scope().SetName("My Library") + ilMetrics.Scope().SetVersion("latest") + m := ilMetrics.Metrics().AppendEmpty() + m.SetName("cache_age_seconds") + m.SetDescription("Age in seconds of the current cache") + m.SetEmptySum() + m.Sum().SetIsMonotonic(false) + m.Sum().SetAggregationTemporality(temporality) + dp := m.Sum().DataPoints().AppendEmpty() + dp.Attributes().PutInt("engine_id", 0) + dp.SetStartTimestamp(startTimestamp) + dp.SetTimestamp(timestamp) + dp.SetDoubleValue(23.9) + dp = m.Sum().DataPoints().AppendEmpty() + dp.Attributes().PutInt("engine_id", 1) + dp.SetStartTimestamp(startTimestamp) + dp.SetTimestamp(timestamp) + dp.SetDoubleValue(11.9) + + err = c.WriteMetrics(context.Background(), metrics) + require.NoError(t, err) + + expected := []mockPoint{ + { + measurement: "prometheus", + tags: map[string]string{ + "node": "42", + "otel.library.name": "My Library", + "otel.library.version": "latest", + "engine_id": "0", + }, + fields: map[string]interface{}{ + common.AttributeStartTimeUnixNano: int64(startTimestamp), + "cache_age_seconds": float64(23.9), + }, + ts: timestamp.AsTime().UTC(), + vType: common.InfluxMetricValueTypeGauge, + }, + { + measurement: "prometheus", + tags: map[string]string{ + "node": "42", + "otel.library.name": "My Library", + "otel.library.version": "latest", + "engine_id": "1", + }, + fields: map[string]interface{}{ + common.AttributeStartTimeUnixNano: int64(startTimestamp), + "cache_age_seconds": float64(11.9), + }, + ts: timestamp.AsTime().UTC(), + vType: common.InfluxMetricValueTypeGauge, + }, + } + + assert.EqualValues(t, expected, w.points) } - - assert.EqualValues(t, expected, w.points) } func TestWriteMetric_v2_sum(t *testing.T) { - w := new(MockInfluxWriter) - c, err := otel2influx.NewOtelMetricsToLineProtocol(new(common.NoopLogger), w, common.MetricsSchemaTelegrafPrometheusV2) - require.NoError(t, err) - - metrics := pmetric.NewMetrics() - rm := metrics.ResourceMetrics().AppendEmpty() - rm.Resource().Attributes().PutStr("node", "42") - ilMetrics := rm.ScopeMetrics().AppendEmpty() - ilMetrics.Scope().SetName("My Library") - ilMetrics.Scope().SetVersion("latest") - m := ilMetrics.Metrics().AppendEmpty() - m.SetName("http_requests_total") - m.SetDescription("The total number of HTTP requests") - m.SetEmptySum() - m.Sum().SetIsMonotonic(true) - m.Sum().SetAggregationTemporality(pmetric.AggregationTemporalityCumulative) - dp := m.Sum().DataPoints().AppendEmpty() - dp.Attributes().PutInt("code", 200) - dp.Attributes().PutStr("method", "post") - dp.SetStartTimestamp(startTimestamp) - dp.SetTimestamp(timestamp) - dp.SetDoubleValue(1027) - dp = m.Sum().DataPoints().AppendEmpty() - dp.Attributes().PutInt("code", 400) - dp.Attributes().PutStr("method", "post") - dp.SetStartTimestamp(startTimestamp) - dp.SetTimestamp(timestamp) - dp.SetDoubleValue(3) - - err = c.WriteMetrics(context.Background(), metrics) - require.NoError(t, err) - - expected := []mockPoint{ - { - measurement: "prometheus", - tags: map[string]string{ - "node": "42", - "otel.library.name": "My Library", - "otel.library.version": "latest", - "method": "post", - "code": "200", - }, - fields: map[string]interface{}{ - common.AttributeStartTimeUnixNano: int64(startTimestamp), - "http_requests_total": float64(1027), - }, - ts: timestamp.AsTime().UTC(), - vType: common.InfluxMetricValueTypeSum, - }, - { - measurement: "prometheus", - tags: map[string]string{ - "node": "42", - "otel.library.name": "My Library", - "otel.library.version": "latest", - "method": "post", - "code": "400", - }, - fields: map[string]interface{}{ - common.AttributeStartTimeUnixNano: int64(startTimestamp), - "http_requests_total": float64(3), - }, - ts: timestamp.AsTime().UTC(), - vType: common.InfluxMetricValueTypeSum, - }, + temporalities := [2]pmetric.AggregationTemporality{pmetric.AggregationTemporalityCumulative, pmetric.AggregationTemporalityDelta} + for _, temporality := range temporalities { + w := new(MockInfluxWriter) + c, err := otel2influx.NewOtelMetricsToLineProtocol(new(common.NoopLogger), w, common.MetricsSchemaTelegrafPrometheusV2) + require.NoError(t, err) + + metrics := pmetric.NewMetrics() + rm := metrics.ResourceMetrics().AppendEmpty() + rm.Resource().Attributes().PutStr("node", "42") + ilMetrics := rm.ScopeMetrics().AppendEmpty() + ilMetrics.Scope().SetName("My Library") + ilMetrics.Scope().SetVersion("latest") + m := ilMetrics.Metrics().AppendEmpty() + m.SetName("http_requests_total") + m.SetDescription("The total number of HTTP requests") + m.SetEmptySum() + m.Sum().SetIsMonotonic(true) + m.Sum().SetAggregationTemporality(temporality) + dp := m.Sum().DataPoints().AppendEmpty() + dp.Attributes().PutInt("code", 200) + dp.Attributes().PutStr("method", "post") + dp.SetStartTimestamp(startTimestamp) + dp.SetTimestamp(timestamp) + dp.SetDoubleValue(1027) + dp = m.Sum().DataPoints().AppendEmpty() + dp.Attributes().PutInt("code", 400) + dp.Attributes().PutStr("method", "post") + dp.SetStartTimestamp(startTimestamp) + dp.SetTimestamp(timestamp) + dp.SetDoubleValue(3) + + err = c.WriteMetrics(context.Background(), metrics) + require.NoError(t, err) + + expected := []mockPoint{ + { + measurement: "prometheus", + tags: map[string]string{ + "node": "42", + "otel.library.name": "My Library", + "otel.library.version": "latest", + "method": "post", + "code": "200", + }, + fields: map[string]interface{}{ + common.AttributeStartTimeUnixNano: int64(startTimestamp), + "http_requests_total": float64(1027), + }, + ts: timestamp.AsTime().UTC(), + vType: common.InfluxMetricValueTypeSum, + }, + { + measurement: "prometheus", + tags: map[string]string{ + "node": "42", + "otel.library.name": "My Library", + "otel.library.version": "latest", + "method": "post", + "code": "400", + }, + fields: map[string]interface{}{ + common.AttributeStartTimeUnixNano: int64(startTimestamp), + "http_requests_total": float64(3), + }, + ts: timestamp.AsTime().UTC(), + vType: common.InfluxMetricValueTypeSum, + }, + } + + assert.EqualValues(t, expected, w.points) } - - assert.EqualValues(t, expected, w.points) } func TestWriteMetric_v2_histogram(t *testing.T) { - w := new(MockInfluxWriter) - c, err := otel2influx.NewOtelMetricsToLineProtocol(new(common.NoopLogger), w, common.MetricsSchemaTelegrafPrometheusV2) - require.NoError(t, err) - - metrics := pmetric.NewMetrics() - rm := metrics.ResourceMetrics().AppendEmpty() - rm.Resource().Attributes().PutStr("node", "42") - ilMetrics := rm.ScopeMetrics().AppendEmpty() - ilMetrics.Scope().SetName("My Library") - ilMetrics.Scope().SetVersion("latest") - m := ilMetrics.Metrics().AppendEmpty() - m.SetName("http_request_duration_seconds") - m.SetEmptyHistogram() - m.SetDescription("A histogram of the request duration") - m.Histogram().SetAggregationTemporality(pmetric.AggregationTemporalityCumulative) - dp := m.Histogram().DataPoints().AppendEmpty() - dp.Attributes().PutInt("code", 200) - dp.Attributes().PutStr("method", "post") - dp.SetStartTimestamp(startTimestamp) - dp.SetTimestamp(timestamp) - dp.SetCount(144320) - dp.SetSum(53423) - dp.SetMin(0) - dp.SetMax(100) - dp.BucketCounts().FromRaw([]uint64{24054, 9390, 66948, 28997, 4599, 10332}) - dp.ExplicitBounds().FromRaw([]float64{0.05, 0.1, 0.2, 0.5, 1}) - - err = c.WriteMetrics(context.Background(), metrics) - require.NoError(t, err) - - expected := []mockPoint{ - { - measurement: "prometheus", - tags: map[string]string{ - "node": "42", - "otel.library.name": "My Library", - "otel.library.version": "latest", - "method": "post", - "code": "200", - }, - fields: map[string]interface{}{ - common.AttributeStartTimeUnixNano: int64(startTimestamp), - "http_request_duration_seconds_count": float64(144320), - "http_request_duration_seconds_sum": float64(53423), - "http_request_duration_seconds_min": float64(0), - "http_request_duration_seconds_max": float64(100), - }, - ts: timestamp.AsTime().UTC(), - vType: common.InfluxMetricValueTypeHistogram, - }, - { - measurement: "prometheus", - tags: map[string]string{ - "node": "42", - "otel.library.name": "My Library", - "otel.library.version": "latest", - "method": "post", - "code": "200", - "le": "0.05", - }, - fields: map[string]interface{}{ - common.AttributeStartTimeUnixNano: int64(startTimestamp), - "http_request_duration_seconds_bucket": float64(24054), - }, - ts: timestamp.AsTime().UTC(), - vType: common.InfluxMetricValueTypeHistogram, - }, - { - measurement: "prometheus", - tags: map[string]string{ - "node": "42", - "otel.library.name": "My Library", - "otel.library.version": "latest", - "method": "post", - "code": "200", - "le": "0.1", - }, - fields: map[string]interface{}{ - common.AttributeStartTimeUnixNano: int64(startTimestamp), - "http_request_duration_seconds_bucket": float64(33444), - }, - ts: timestamp.AsTime().UTC(), - vType: common.InfluxMetricValueTypeHistogram, - }, - { - measurement: "prometheus", - tags: map[string]string{ - "node": "42", - "otel.library.name": "My Library", - "otel.library.version": "latest", - "method": "post", - "code": "200", - "le": "0.2", - }, - fields: map[string]interface{}{ - common.AttributeStartTimeUnixNano: int64(startTimestamp), - "http_request_duration_seconds_bucket": float64(100392), - }, - ts: timestamp.AsTime().UTC(), - vType: common.InfluxMetricValueTypeHistogram, - }, - { - measurement: "prometheus", - tags: map[string]string{ - "node": "42", - "otel.library.name": "My Library", - "otel.library.version": "latest", - "method": "post", - "code": "200", - "le": "0.5", - }, - fields: map[string]interface{}{ - common.AttributeStartTimeUnixNano: int64(startTimestamp), - "http_request_duration_seconds_bucket": float64(129389), - }, - ts: timestamp.AsTime().UTC(), - vType: common.InfluxMetricValueTypeHistogram, - }, - { - measurement: "prometheus", - tags: map[string]string{ - "node": "42", - "otel.library.name": "My Library", - "otel.library.version": "latest", - "method": "post", - "code": "200", - "le": "1", - }, - fields: map[string]interface{}{ - common.AttributeStartTimeUnixNano: int64(startTimestamp), - "http_request_duration_seconds_bucket": float64(133988), - }, - ts: timestamp.AsTime().UTC(), - vType: common.InfluxMetricValueTypeHistogram, - }, + temporalities := [2]pmetric.AggregationTemporality{pmetric.AggregationTemporalityCumulative, pmetric.AggregationTemporalityDelta} + for _, temporality := range temporalities { + w := new(MockInfluxWriter) + c, err := otel2influx.NewOtelMetricsToLineProtocol(new(common.NoopLogger), w, common.MetricsSchemaTelegrafPrometheusV2) + require.NoError(t, err) + + metrics := pmetric.NewMetrics() + rm := metrics.ResourceMetrics().AppendEmpty() + rm.Resource().Attributes().PutStr("node", "42") + ilMetrics := rm.ScopeMetrics().AppendEmpty() + ilMetrics.Scope().SetName("My Library") + ilMetrics.Scope().SetVersion("latest") + m := ilMetrics.Metrics().AppendEmpty() + m.SetName("http_request_duration_seconds") + m.SetEmptyHistogram() + m.SetDescription("A histogram of the request duration") + m.Histogram().SetAggregationTemporality(temporality) + dp := m.Histogram().DataPoints().AppendEmpty() + dp.Attributes().PutInt("code", 200) + dp.Attributes().PutStr("method", "post") + dp.SetStartTimestamp(startTimestamp) + dp.SetTimestamp(timestamp) + dp.SetCount(144320) + dp.SetSum(53423) + dp.SetMin(0) + dp.SetMax(100) + dp.BucketCounts().FromRaw([]uint64{24054, 9390, 66948, 28997, 4599, 10332}) + dp.ExplicitBounds().FromRaw([]float64{0.05, 0.1, 0.2, 0.5, 1}) + + err = c.WriteMetrics(context.Background(), metrics) + require.NoError(t, err) + + expected := []mockPoint{ + { + measurement: "prometheus", + tags: map[string]string{ + "node": "42", + "otel.library.name": "My Library", + "otel.library.version": "latest", + "method": "post", + "code": "200", + }, + fields: map[string]interface{}{ + common.AttributeStartTimeUnixNano: int64(startTimestamp), + "http_request_duration_seconds_count": float64(144320), + "http_request_duration_seconds_sum": float64(53423), + "http_request_duration_seconds_min": float64(0), + "http_request_duration_seconds_max": float64(100), + }, + ts: timestamp.AsTime().UTC(), + vType: common.InfluxMetricValueTypeHistogram, + }, + { + measurement: "prometheus", + tags: map[string]string{ + "node": "42", + "otel.library.name": "My Library", + "otel.library.version": "latest", + "method": "post", + "code": "200", + "le": "0.05", + }, + fields: map[string]interface{}{ + common.AttributeStartTimeUnixNano: int64(startTimestamp), + "http_request_duration_seconds_bucket": float64(24054), + }, + ts: timestamp.AsTime().UTC(), + vType: common.InfluxMetricValueTypeHistogram, + }, + { + measurement: "prometheus", + tags: map[string]string{ + "node": "42", + "otel.library.name": "My Library", + "otel.library.version": "latest", + "method": "post", + "code": "200", + "le": "0.1", + }, + fields: map[string]interface{}{ + common.AttributeStartTimeUnixNano: int64(startTimestamp), + "http_request_duration_seconds_bucket": float64(33444), + }, + ts: timestamp.AsTime().UTC(), + vType: common.InfluxMetricValueTypeHistogram, + }, + { + measurement: "prometheus", + tags: map[string]string{ + "node": "42", + "otel.library.name": "My Library", + "otel.library.version": "latest", + "method": "post", + "code": "200", + "le": "0.2", + }, + fields: map[string]interface{}{ + common.AttributeStartTimeUnixNano: int64(startTimestamp), + "http_request_duration_seconds_bucket": float64(100392), + }, + ts: timestamp.AsTime().UTC(), + vType: common.InfluxMetricValueTypeHistogram, + }, + { + measurement: "prometheus", + tags: map[string]string{ + "node": "42", + "otel.library.name": "My Library", + "otel.library.version": "latest", + "method": "post", + "code": "200", + "le": "0.5", + }, + fields: map[string]interface{}{ + common.AttributeStartTimeUnixNano: int64(startTimestamp), + "http_request_duration_seconds_bucket": float64(129389), + }, + ts: timestamp.AsTime().UTC(), + vType: common.InfluxMetricValueTypeHistogram, + }, + { + measurement: "prometheus", + tags: map[string]string{ + "node": "42", + "otel.library.name": "My Library", + "otel.library.version": "latest", + "method": "post", + "code": "200", + "le": "1", + }, + fields: map[string]interface{}{ + common.AttributeStartTimeUnixNano: int64(startTimestamp), + "http_request_duration_seconds_bucket": float64(133988), + }, + ts: timestamp.AsTime().UTC(), + vType: common.InfluxMetricValueTypeHistogram, + }, + } + + assert.Equal(t, expected, w.points) } - - assert.Equal(t, expected, w.points) } func TestWriteMetric_v2_histogram_missingInfinityBucket(t *testing.T) { - w := new(MockInfluxWriter) - c, err := otel2influx.NewOtelMetricsToLineProtocol(new(common.NoopLogger), w, common.MetricsSchemaTelegrafPrometheusV2) - require.NoError(t, err) - - metrics := pmetric.NewMetrics() - rm := metrics.ResourceMetrics().AppendEmpty() - rm.Resource().Attributes().PutStr("node", "42") - ilMetrics := rm.ScopeMetrics().AppendEmpty() - ilMetrics.Scope().SetName("My Library") - ilMetrics.Scope().SetVersion("latest") - m := ilMetrics.Metrics().AppendEmpty() - m.SetName("http_request_duration_seconds") - m.SetEmptyHistogram() - m.SetDescription("A histogram of the request duration") - m.Histogram().SetAggregationTemporality(pmetric.AggregationTemporalityCumulative) - dp := m.Histogram().DataPoints().AppendEmpty() - dp.Attributes().PutInt("code", 200) - dp.Attributes().PutStr("method", "post") - dp.SetStartTimestamp(startTimestamp) - dp.SetTimestamp(timestamp) - dp.SetCount(144320) - dp.SetSum(53423) - dp.BucketCounts().FromRaw([]uint64{24054, 9390, 66948, 28997, 4599, 10332}) - dp.ExplicitBounds().FromRaw([]float64{0.05, 0.1, 0.2, 0.5, 1}) - - err = c.WriteMetrics(context.Background(), metrics) - require.NoError(t, err) - - expected := []mockPoint{ - { - measurement: "prometheus", - tags: map[string]string{ - "node": "42", - "otel.library.name": "My Library", - "otel.library.version": "latest", - "method": "post", - "code": "200", - }, - fields: map[string]interface{}{ - common.AttributeStartTimeUnixNano: int64(startTimestamp), - "http_request_duration_seconds_count": float64(144320), - "http_request_duration_seconds_sum": float64(53423), - }, - ts: timestamp.AsTime().UTC(), - vType: common.InfluxMetricValueTypeHistogram, - }, - { - measurement: "prometheus", - tags: map[string]string{ - "node": "42", - "otel.library.name": "My Library", - "otel.library.version": "latest", - "method": "post", - "code": "200", - "le": "0.05", - }, - fields: map[string]interface{}{ - common.AttributeStartTimeUnixNano: int64(startTimestamp), - "http_request_duration_seconds_bucket": float64(24054), - }, - ts: timestamp.AsTime().UTC(), - vType: common.InfluxMetricValueTypeHistogram, - }, - { - measurement: "prometheus", - tags: map[string]string{ - "node": "42", - "otel.library.name": "My Library", - "otel.library.version": "latest", - "method": "post", - "code": "200", - "le": "0.1", - }, - fields: map[string]interface{}{ - common.AttributeStartTimeUnixNano: int64(startTimestamp), - "http_request_duration_seconds_bucket": float64(33444), - }, - ts: timestamp.AsTime().UTC(), - vType: common.InfluxMetricValueTypeHistogram, - }, - { - measurement: "prometheus", - tags: map[string]string{ - "node": "42", - "otel.library.name": "My Library", - "otel.library.version": "latest", - "method": "post", - "code": "200", - "le": "0.2", - }, - fields: map[string]interface{}{ - common.AttributeStartTimeUnixNano: int64(startTimestamp), - "http_request_duration_seconds_bucket": float64(100392), - }, - ts: timestamp.AsTime().UTC(), - vType: common.InfluxMetricValueTypeHistogram, - }, - { - measurement: "prometheus", - tags: map[string]string{ - "node": "42", - "otel.library.name": "My Library", - "otel.library.version": "latest", - "method": "post", - "code": "200", - "le": "0.5", - }, - fields: map[string]interface{}{ - common.AttributeStartTimeUnixNano: int64(startTimestamp), - "http_request_duration_seconds_bucket": float64(129389), - }, - ts: timestamp.AsTime().UTC(), - vType: common.InfluxMetricValueTypeHistogram, - }, - { - measurement: "prometheus", - tags: map[string]string{ - "node": "42", - "otel.library.name": "My Library", - "otel.library.version": "latest", - "method": "post", - "code": "200", - "le": "1", - }, - fields: map[string]interface{}{ - common.AttributeStartTimeUnixNano: int64(startTimestamp), - "http_request_duration_seconds_bucket": float64(133988), - }, - ts: timestamp.AsTime().UTC(), - vType: common.InfluxMetricValueTypeHistogram, - }, + temporalities := [2]pmetric.AggregationTemporality{pmetric.AggregationTemporalityCumulative, pmetric.AggregationTemporalityDelta} + for _, temporality := range temporalities { + w := new(MockInfluxWriter) + c, err := otel2influx.NewOtelMetricsToLineProtocol(new(common.NoopLogger), w, common.MetricsSchemaTelegrafPrometheusV2) + require.NoError(t, err) + + metrics := pmetric.NewMetrics() + rm := metrics.ResourceMetrics().AppendEmpty() + rm.Resource().Attributes().PutStr("node", "42") + ilMetrics := rm.ScopeMetrics().AppendEmpty() + ilMetrics.Scope().SetName("My Library") + ilMetrics.Scope().SetVersion("latest") + m := ilMetrics.Metrics().AppendEmpty() + m.SetName("http_request_duration_seconds") + m.SetEmptyHistogram() + m.SetDescription("A histogram of the request duration") + m.Histogram().SetAggregationTemporality(temporality) + dp := m.Histogram().DataPoints().AppendEmpty() + dp.Attributes().PutInt("code", 200) + dp.Attributes().PutStr("method", "post") + dp.SetStartTimestamp(startTimestamp) + dp.SetTimestamp(timestamp) + dp.SetCount(144320) + dp.SetSum(53423) + dp.BucketCounts().FromRaw([]uint64{24054, 9390, 66948, 28997, 4599, 10332}) + dp.ExplicitBounds().FromRaw([]float64{0.05, 0.1, 0.2, 0.5, 1}) + + err = c.WriteMetrics(context.Background(), metrics) + require.NoError(t, err) + + expected := []mockPoint{ + { + measurement: "prometheus", + tags: map[string]string{ + "node": "42", + "otel.library.name": "My Library", + "otel.library.version": "latest", + "method": "post", + "code": "200", + }, + fields: map[string]interface{}{ + common.AttributeStartTimeUnixNano: int64(startTimestamp), + "http_request_duration_seconds_count": float64(144320), + "http_request_duration_seconds_sum": float64(53423), + }, + ts: timestamp.AsTime().UTC(), + vType: common.InfluxMetricValueTypeHistogram, + }, + { + measurement: "prometheus", + tags: map[string]string{ + "node": "42", + "otel.library.name": "My Library", + "otel.library.version": "latest", + "method": "post", + "code": "200", + "le": "0.05", + }, + fields: map[string]interface{}{ + common.AttributeStartTimeUnixNano: int64(startTimestamp), + "http_request_duration_seconds_bucket": float64(24054), + }, + ts: timestamp.AsTime().UTC(), + vType: common.InfluxMetricValueTypeHistogram, + }, + { + measurement: "prometheus", + tags: map[string]string{ + "node": "42", + "otel.library.name": "My Library", + "otel.library.version": "latest", + "method": "post", + "code": "200", + "le": "0.1", + }, + fields: map[string]interface{}{ + common.AttributeStartTimeUnixNano: int64(startTimestamp), + "http_request_duration_seconds_bucket": float64(33444), + }, + ts: timestamp.AsTime().UTC(), + vType: common.InfluxMetricValueTypeHistogram, + }, + { + measurement: "prometheus", + tags: map[string]string{ + "node": "42", + "otel.library.name": "My Library", + "otel.library.version": "latest", + "method": "post", + "code": "200", + "le": "0.2", + }, + fields: map[string]interface{}{ + common.AttributeStartTimeUnixNano: int64(startTimestamp), + "http_request_duration_seconds_bucket": float64(100392), + }, + ts: timestamp.AsTime().UTC(), + vType: common.InfluxMetricValueTypeHistogram, + }, + { + measurement: "prometheus", + tags: map[string]string{ + "node": "42", + "otel.library.name": "My Library", + "otel.library.version": "latest", + "method": "post", + "code": "200", + "le": "0.5", + }, + fields: map[string]interface{}{ + common.AttributeStartTimeUnixNano: int64(startTimestamp), + "http_request_duration_seconds_bucket": float64(129389), + }, + ts: timestamp.AsTime().UTC(), + vType: common.InfluxMetricValueTypeHistogram, + }, + { + measurement: "prometheus", + tags: map[string]string{ + "node": "42", + "otel.library.name": "My Library", + "otel.library.version": "latest", + "method": "post", + "code": "200", + "le": "1", + }, + fields: map[string]interface{}{ + common.AttributeStartTimeUnixNano: int64(startTimestamp), + "http_request_duration_seconds_bucket": float64(133988), + }, + ts: timestamp.AsTime().UTC(), + vType: common.InfluxMetricValueTypeHistogram, + }, + } + + assert.Equal(t, expected, w.points) } - - assert.Equal(t, expected, w.points) } func TestWriteMetric_v2_summary(t *testing.T) { From 5ac9243f56afbd5622a7af05c9682a717e3f53c0 Mon Sep 17 00:00:00 2001 From: Jacob Marble Date: Wed, 7 Jun 2023 13:46:17 -0700 Subject: [PATCH 29/37] chore(otel2influx): implement configurable span dimensions Fixes #251 This change breaks the external API for the `otel2influx` module. Each of the otel2influx traces, metrics, and logs exporters now takes a config object, each of which has a default constructor. This way, we can add other config options for future features. --- otel2influx/common.go | 20 +- otel2influx/go.mod | 14 +- otel2influx/go.sum | 358 +----------------- otel2influx/logs.go | 31 +- otel2influx/metrics.go | 37 +- otel2influx/metrics_otel_v1.go | 21 +- otel2influx/metrics_telegraf_prometheus_v1.go | 36 +- .../metrics_telegraf_prometheus_v1_test.go | 38 +- otel2influx/metrics_telegraf_prometheus_v2.go | 39 +- .../metrics_telegraf_prometheus_v2_test.go | 37 +- otel2influx/traces.go | 163 +++++--- otel2influx/writer.go | 18 +- otel2influx/writer_test.go | 11 +- tests-integration/go.mod | 36 +- tests-integration/go.sum | 302 ++++++++------- tests-integration/helper_otelcol_test.go | 29 +- tests-integration/otel2influx_test.go | 6 +- 17 files changed, 473 insertions(+), 723 deletions(-) diff --git a/otel2influx/common.go b/otel2influx/common.go index 0056f018..66839d22 100644 --- a/otel2influx/common.go +++ b/otel2influx/common.go @@ -147,33 +147,17 @@ func convertResourceTags(resource pcommon.Resource) map[string]string { tags[k] = v.AsString() return true }) - // TODO dropped attributes counts return tags } -func convertResourceFields(resource pcommon.Resource) map[string]interface{} { - fields := make(map[string]interface{}, resource.Attributes().Len()) - resource.Attributes().Range(func(k string, v pcommon.Value) bool { - fields[k] = v.AsRaw() - return true - }) - // TODO dropped attributes counts - return fields -} - -func convertScopeFields(is pcommon.InstrumentationScope) map[string]interface{} { - fields := make(map[string]interface{}, is.Attributes().Len()+2) - is.Attributes().Range(func(k string, v pcommon.Value) bool { - fields[k] = v.AsRaw() - return true - }) +func convertScopeFields(is pcommon.InstrumentationScope) map[string]any { + fields := is.Attributes().AsRaw() if name := is.Name(); name != "" { fields[semconv.AttributeTelemetrySDKName] = name } if version := is.Version(); version != "" { fields[semconv.AttributeTelemetrySDKVersion] = version } - // TODO dropped attributes counts return fields } diff --git a/otel2influx/go.mod b/otel2influx/go.mod index 1849b800..2704a588 100644 --- a/otel2influx/go.mod +++ b/otel2influx/go.mod @@ -5,11 +5,11 @@ go 1.19 require ( github.com/influxdata/influxdb-observability/common v0.4.2 github.com/stretchr/testify v1.8.4 - go.opentelemetry.io/collector/component v0.79.0 go.opentelemetry.io/collector/consumer v0.79.0 go.opentelemetry.io/collector/pdata v1.0.0-rcv0012 go.opentelemetry.io/collector/semconv v0.79.0 go.uber.org/multierr v1.11.0 + golang.org/x/exp v0.0.0-20230522175609-2e198f4a06a1 ) require ( @@ -17,21 +17,9 @@ require ( github.com/gogo/protobuf v1.3.2 // indirect github.com/golang/protobuf v1.5.3 // indirect github.com/json-iterator/go v1.1.12 // indirect - github.com/knadh/koanf v1.5.0 // indirect - github.com/mitchellh/copystructure v1.2.0 // indirect - github.com/mitchellh/mapstructure v1.5.0 // indirect - github.com/mitchellh/reflectwalk v1.0.2 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - go.opentelemetry.io/collector v0.79.0 // indirect - go.opentelemetry.io/collector/confmap v0.79.0 // indirect - go.opentelemetry.io/collector/featuregate v1.0.0-rcv0012 // indirect - go.opentelemetry.io/otel v1.16.0 // indirect - go.opentelemetry.io/otel/metric v1.16.0 // indirect - go.opentelemetry.io/otel/trace v1.16.0 // indirect - go.uber.org/atomic v1.10.0 // indirect - go.uber.org/zap v1.24.0 // indirect golang.org/x/net v0.10.0 // indirect golang.org/x/sys v0.8.0 // indirect golang.org/x/text v0.9.0 // indirect diff --git a/otel2influx/go.sum b/otel2influx/go.sum index 68ccd5a0..dc6ce08e 100644 --- a/otel2influx/go.sum +++ b/otel2influx/go.sum @@ -1,439 +1,85 @@ -cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= -github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= -github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= -github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= -github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= -github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= -github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= -github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= -github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= -github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= -github.com/aws/aws-sdk-go-v2 v1.9.2/go.mod h1:cK/D0BBs0b/oWPIcX/Z/obahJK1TT7IPVjy53i/mX/4= -github.com/aws/aws-sdk-go-v2/config v1.8.3/go.mod h1:4AEiLtAb8kLs7vgw2ZV3p2VZ1+hBavOc84hqxVNpCyw= -github.com/aws/aws-sdk-go-v2/credentials v1.4.3/go.mod h1:FNNC6nQZQUuyhq5aE5c7ata8o9e4ECGmS4lAXC7o1mQ= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.6.0/go.mod h1:gqlclDEZp4aqJOancXK6TN24aKhT0W0Ae9MHk3wzTMM= -github.com/aws/aws-sdk-go-v2/internal/ini v1.2.4/go.mod h1:ZcBrrI3zBKlhGFNYWvju0I3TR93I7YIgAfy82Fh4lcQ= -github.com/aws/aws-sdk-go-v2/service/appconfig v1.4.2/go.mod h1:FZ3HkCe+b10uFZZkFdvf98LHW21k49W8o8J366lqVKY= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.3.2/go.mod h1:72HRZDLMtmVQiLG2tLfQcaWLCssELvGl+Zf2WVxMmR8= -github.com/aws/aws-sdk-go-v2/service/sso v1.4.2/go.mod h1:NBvT9R1MEF+Ud6ApJKM0G+IkPchKS7p7c2YPKwHmBOk= -github.com/aws/aws-sdk-go-v2/service/sts v1.7.2/go.mod h1:8EzeIqfWt2wWT4rJVu3f21TfrhJ8AEMzVybRNSb/b4g= -github.com/aws/smithy-go v1.8.0/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= -github.com/benbjohnson/clock v1.3.0 h1:ip6w0uFQkncKQ979AypyG0ER7mqUSBdKLOgAle/AT8A= -github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= -github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= -github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= -github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= -github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= -github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= -github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= -github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= -github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= -github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= -github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= -github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU= -github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M= -github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= -github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY= -github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= -github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= -github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= -github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= -github.com/go-ldap/ldap v3.0.2+incompatible/go.mod h1:qfd9rJvER9Q0/D/Sqn1DfHRoBp40uXYvFoEVrNEPqRc= -github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= -github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= -github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= -github.com/go-logr/logr v1.2.4 h1:g01GSCwiDw2xSZfjJ2/T9M+S6pFdcNtFYsp+Y43HYDQ= -github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= -github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= -github.com/go-test/deep v1.0.2-0.20181118220953-042da051cf31/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA= -github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= -github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= -github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= -github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= -github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= -github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= -github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= -github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= -github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= -github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= -github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= -github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= -github.com/hashicorp/consul/api v1.13.0/go.mod h1:ZlVrynguJKcYr54zGaDbaL3fOvKC9m72FhPvA8T35KQ= -github.com/hashicorp/consul/sdk v0.8.0/go.mod h1:GBvyrGALthsZObzUGsfgHZQDXjg4lOjagTIwIR1vPms= -github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= -github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= -github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= -github.com/hashicorp/go-hclog v0.0.0-20180709165350-ff2cf002a8dd/go.mod h1:9bjs9uLqI8l75knNv3lV1kA55veR+WUPSiKIWcQHudI= -github.com/hashicorp/go-hclog v0.8.0/go.mod h1:5CU+agLiy3J7N7QjHK5d05KxGsuXiQLrjA0H7acj2lQ= -github.com/hashicorp/go-hclog v0.12.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= -github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= -github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= -github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= -github.com/hashicorp/go-multierror v1.1.0/go.mod h1:spPvp8C1qA32ftKqdAHm4hHTbPw+vmowP0z+KUhOZdA= -github.com/hashicorp/go-plugin v1.0.1/go.mod h1:++UyYGoz3o5w9ZzAdZxtQKrWWP+iqPBn3cQptSMzBuY= -github.com/hashicorp/go-retryablehttp v0.5.4/go.mod h1:9B5zBasrRhHXnJnui7y6sL7es7NDiJgTc6Er0maI1Xs= -github.com/hashicorp/go-rootcerts v1.0.1/go.mod h1:pqUvnprVnM5bf7AOirdbb01K4ccR319Vf4pU3K5EGc8= -github.com/hashicorp/go-rootcerts v1.0.2/go.mod h1:pqUvnprVnM5bf7AOirdbb01K4ccR319Vf4pU3K5EGc8= -github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU= -github.com/hashicorp/go-sockaddr v1.0.2/go.mod h1:rB4wwRAUzs07qva3c5SdrY/NEtAUjGlgmH/UkBUC97A= -github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= -github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= -github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= -github.com/hashicorp/go-version v1.1.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= -github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= -github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= -github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= -github.com/hashicorp/mdns v1.0.4/go.mod h1:mtBihi+LeNXGtG8L9dX59gAEa12BDtBQSp4v/YAJqrc= -github.com/hashicorp/memberlist v0.3.0/go.mod h1:MS2lj3INKhZjWNqd3N0m3J+Jxf3DAOnAH9VT3Sh9MUE= -github.com/hashicorp/serf v0.9.6/go.mod h1:TXZNMjZQijwlDvp+r0b63xZ45H7JmCmgg4gpTwn9UV4= -github.com/hashicorp/vault/api v1.0.4/go.mod h1:gDcqh3WGcR1cpF5AJz/B1UFheUEneMoIospckxBxk6Q= -github.com/hashicorp/vault/sdk v0.1.13/go.mod h1:B+hVj7TpuQY1Y/GPbCpffmgd+tSEwvhkWnjtSYCaS2M= -github.com/hashicorp/yamux v0.0.0-20180604194846-3520598351bb/go.mod h1:+NfK9FKeTrX5uv1uIXGdwYDTeHna2qgaIlx54MXqjAM= -github.com/hashicorp/yamux v0.0.0-20181012175058-2f1d1f20f75d/go.mod h1:+NfK9FKeTrX5uv1uIXGdwYDTeHna2qgaIlx54MXqjAM= -github.com/hjson/hjson-go/v4 v4.0.0 h1:wlm6IYYqHjOdXH1gHev4VoXCaW20HdQAGCxdOEEg2cs= -github.com/hjson/hjson-go/v4 v4.0.0/go.mod h1:KaYt3bTw3zhBjYqnXkYywcYctk0A2nxeEFTse3rH13E= -github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= -github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= -github.com/joho/godotenv v1.3.0 h1:Zjp+RcGpHhGlrMbJzXTrZZPrWj+1vfm90La1wgB6Bhc= -github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg= -github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= -github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= -github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= -github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= -github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/knadh/koanf v1.5.0 h1:q2TSd/3Pyc/5yP9ldIrSdIz26MCcyNQzW0pEAugLPNs= -github.com/knadh/koanf v1.5.0/go.mod h1:Hgyjp4y8v44hpZtPzs7JZfRAW5AhN7KfZcwv1RYggDs= -github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= -github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= -github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= -github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= -github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= -github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= -github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= -github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= -github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= -github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcMEpPG5Rm84= -github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE= -github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= -github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= -github.com/miekg/dns v1.1.26/go.mod h1:bPDLeHnStXmXAq1m/Ch/hvfNHr14JKNPMBo3VZKjuso= -github.com/miekg/dns v1.1.41/go.mod h1:p6aan82bvRIyn+zDIv9xYNUpwa73JcSh9BKwknJysuI= -github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= -github.com/mitchellh/cli v1.1.0/go.mod h1:xcISNoH86gajksDmfB23e/pu+B+GeFRMYmoHXxx3xhI= -github.com/mitchellh/copystructure v1.0.0/go.mod h1:SNtv71yrdKgLRyLFxmLdkAbkKEFWgYaq1OVrnRcwhnw= -github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= -github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= -github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= -github.com/mitchellh/go-testing-interface v0.0.0-20171004221916-a61a99592b77/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= -github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= -github.com/mitchellh/go-wordwrap v1.0.0/go.mod h1:ZXFpozHsX6DPmq2I0TCekCxypsnAUbP2oI0UX1GXzOo= -github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= -github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= -github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= -github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/mitchellh/reflectwalk v1.0.0/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= -github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= -github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= -github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= -github.com/npillmayer/nestext v0.1.3/go.mod h1:h2lrijH8jpicr25dFY+oAJLyzlya6jhnuG+zWp9L0Uk= -github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA= -github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= -github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= -github.com/pelletier/go-toml v1.7.0/go.mod h1:vwGMzjaWMwyfHwgIBhI2YUM4fB6nL6lVAvS1LBMMhTE= -github.com/pelletier/go-toml v1.9.5 h1:4yBQzkHv+7BHq2PQUZF3Mx0IYxG7LsP222s7Agd3ve8= -github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= -github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= -github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= -github.com/posener/complete v1.2.3/go.mod h1:WZIdtGGp+qx0sLrYKtIRAruyNpv6hFCicSgv7Sy7s/s= -github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= -github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= -github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= -github.com/prometheus/client_golang v1.11.1/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= -github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= -github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= -github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= -github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= -github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= -github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= -github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= -github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= -github.com/rhnvrm/simples3 v0.6.1/go.mod h1:Y+3vYm2V7Y4VijFoJHHTrja6OgPrJ2cBti8dPGkC3sA= -github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= -github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= -github.com/ryanuber/columnize v2.1.0+incompatible/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= -github.com/ryanuber/go-glob v1.0.0/go.mod h1:807d1WSdnB0XRJzKNil9Om6lcp/3a0v4qIHxIXzX/Yc= -github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= -github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= -github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= -github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= -github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= -github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= -github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= -github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= -go.etcd.io/etcd/api/v3 v3.5.4/go.mod h1:5GB2vv4A4AOn3yk7MftYGHkUfGtDHnEraIjym4dYz5A= -go.etcd.io/etcd/client/pkg/v3 v3.5.4/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= -go.etcd.io/etcd/client/v3 v3.5.4/go.mod h1:ZaRkVgBZC+L+dLCjTcF1hRXpgZXQPOvnA/Ak/gq3kiY= go.opentelemetry.io/collector v0.79.0 h1:Lra7U0ilMor1g5WVkO3YZ0kZYsvzAtGN+Uq+CmC96JY= -go.opentelemetry.io/collector v0.79.0/go.mod h1:O2Vfwykphq9VqdATZiAypjnJMS3WFBXwFSe/0ujo38Q= -go.opentelemetry.io/collector/component v0.79.0 h1:ZKLJ4qa0AngmyGp1RQBJgl6OIP6mxdfrVpbz09h/W34= -go.opentelemetry.io/collector/component v0.79.0/go.mod h1:rX0gixMemcXZTZaML5zUiT+5txZUYkWnACscJkFVj18= -go.opentelemetry.io/collector/confmap v0.79.0 h1:a4XVde3lLP81BiSbt8AzVD6pvQBX8YkrB9ZtMSHKv1A= -go.opentelemetry.io/collector/confmap v0.79.0/go.mod h1:cKr2c7lVtEJCuMOncUPlcROJBbTFaHiPjYp1Y8RbL+Q= go.opentelemetry.io/collector/consumer v0.79.0 h1:V/4PCvbTw2Bt+lYb/ogac0g/nCCb3oKnmz+jM3t5Dyk= go.opentelemetry.io/collector/consumer v0.79.0/go.mod h1:VfqIyUI5K20zXx3mfVN+skmA+V3sV5fNorJ5TaIOj/U= -go.opentelemetry.io/collector/featuregate v1.0.0-rcv0012 h1:pSO81lfikGEgRXHepmOGy2o6WWCly427UJCgMJC5c8g= -go.opentelemetry.io/collector/featuregate v1.0.0-rcv0012/go.mod h1:/kVAsGUCyJXIDSgHftCN63QiwAEVHRLX2Kh/S+dqgHY= go.opentelemetry.io/collector/pdata v1.0.0-rcv0012 h1:R+cfEUMyLn9Q1QknyQ4QU77pbfc1aJKYEXFHtnwSbCg= go.opentelemetry.io/collector/pdata v1.0.0-rcv0012/go.mod h1:rEAKFqc1L03lidKtra/2/dJtI0Hp+JsQxuPEIkj/2Vg= go.opentelemetry.io/collector/semconv v0.79.0 h1:74pzP4c7xWk9Eihs14kEQvE4m4hHgXrQ/YbWkdn1bVY= go.opentelemetry.io/collector/semconv v0.79.0/go.mod h1:TlYPtzvsXyHOgr5eATi43qEMqwSmIziivJB2uctKswo= -go.opentelemetry.io/otel v1.16.0 h1:Z7GVAX/UkAXPKsy94IU+i6thsQS4nb7LviLpnaNeW8s= -go.opentelemetry.io/otel v1.16.0/go.mod h1:vl0h9NUa1D5s1nv3A5vZOYWn8av4K8Ml6JDeHrT/bx4= -go.opentelemetry.io/otel/metric v1.16.0 h1:RbrpwVG1Hfv85LgnZ7+txXioPDoh6EdbZHo26Q3hqOo= -go.opentelemetry.io/otel/metric v1.16.0/go.mod h1:QE47cpOmkwipPiefDwo2wDzwJrlfxxNYodqc4xnGCo4= -go.opentelemetry.io/otel/trace v1.16.0 h1:8JRpaObFoW0pxuVPapkgH8UhHQj+bJW8jJsCZEu5MQs= -go.opentelemetry.io/otel/trace v1.16.0/go.mod h1:Yt9vYq1SdNz3xdjZZK7wcXv1qv2pwLkqr2QVwea0ef0= -go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= -go.uber.org/atomic v1.10.0 h1:9qC72Qh0+3MqyJbAn8YU5xVq1frD8bn3JtD2oXtafVQ= -go.uber.org/atomic v1.10.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= -go.uber.org/goleak v1.1.11 h1:wy28qYRKZgnJTxGxvye5/wgWr1EKjmUDGYox5mGlRlI= -go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= -go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo= -go.uber.org/zap v1.24.0 h1:FiJd5l1UOLj0wCgbSE0rwwXHzEdAZS6hiiSnxJN/D60= -go.uber.org/zap v1.24.0/go.mod h1:2kMP+WWQ8aoFoedH3T2sq6iJ2yDWpHbP0f6MQbS9Gkg= -golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190923035154-9ee001bba392/go.mod h1:/lpIB1dKB+9EgE3H3cr1v9wB50oz8l4C4h62xy7jSTY= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= -golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= -golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= +golang.org/x/exp v0.0.0-20230522175609-2e198f4a06a1 h1:k/i9J1pBpvlfR+9QsetwPyERsqu1GIbi967PQMq3Ivc= +golang.org/x/exp v0.0.0-20230522175609-2e198f4a06a1/go.mod h1:V1LtkGg67GoY2N1AnLN78QLrzxkLyJw7RJb1gzOOz9w= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= -golang.org/x/net v0.0.0-20210410081132-afb366fc7cd1/go.mod h1:9tjilg8BloeKEkVJvy7fQ90B1CfIiPueXVOjqfkSzI8= golang.org/x/net v0.10.0 h1:X2//UzNDwYmtCLn7To6G58Wr6f5ahEAQgKNzv9Y951M= golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= -golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= -golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190129075346-302c3dd5f1cc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190403152447-81d4e9dc473e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190922100055-0a153f010e69/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190924154521-2837fb4f24fe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200124204421-9fbb57f87de9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210303074136-134d130e1a04/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.8.0 h1:EBmGv8NaZBZTWvrbjNoL6HVt+IVy3QDQpJs7VRIw3tU= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.1-0.20181227161524-e6919f6577db/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= -golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.9.0 h1:2sjJmO8cDvYveuX97RDLsxlyUxLl+GHoLxBiRdHllBE= golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= -golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= -golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190907020128-2ca718005c18/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= -google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= -google.golang.org/genproto v0.0.0-20190404172233-64821d5d2107/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= -google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 h1:KpwkzHKEF7B9Zxg18WzOa7djJ+Ha5DzthMyZYQfEn2A= google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1/go.mod h1:nKE/iIaLqn2bQwXBg8f1g2Ylh6r5MN5CmZvuzZCgsCU= -google.golang.org/grpc v1.14.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= -google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= -google.golang.org/grpc v1.22.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= -google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= -google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= -google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= -google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= google.golang.org/grpc v1.55.0 h1:3Oj82/tFSCeUrRTg/5E/7d/W5A1tj6Ky1ABAuZuv5ag= google.golang.org/grpc v1.55.0/go.mod h1:iYEXKGkEBhg1PjZQvoYEVPTDkHo1/bjTnfwTeGONTY8= -google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= -google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= -google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= -google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= -google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= -google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.30.0 h1:kPPoIgf3TsEvrm0PFe15JQ+570QVxYzEvvHqChK+cng= google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= -gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= -gopkg.in/asn1-ber.v1 v1.0.0-20181015200546-f715ec2f112d/go.mod h1:cuepJuh7vyXfUyUwEgHQXw849cJrilpS5NeIjOWESAw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= -gopkg.in/square/go-jose.v2 v2.3.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= -gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= diff --git a/otel2influx/logs.go b/otel2influx/logs.go index 270b44c5..60a52b10 100644 --- a/otel2influx/logs.go +++ b/otel2influx/logs.go @@ -6,22 +6,35 @@ import ( "errors" "fmt" + "go.opentelemetry.io/collector/consumer/consumererror" "go.opentelemetry.io/collector/pdata/pcommon" "go.opentelemetry.io/collector/pdata/plog" "github.com/influxdata/influxdb-observability/common" ) +type OtelLogsToLineProtocolConfig struct { + Logger common.Logger + Writer InfluxWriter +} + +func DefaultOtelLogsToLineProtocolConfig() *OtelLogsToLineProtocolConfig { + return &OtelLogsToLineProtocolConfig{ + Logger: new(common.NoopLogger), + Writer: new(NoopInfluxWriter), + } +} + type OtelLogsToLineProtocol struct { logger common.Logger writer InfluxWriter } -func NewOtelLogsToLineProtocol(logger common.Logger, writer InfluxWriter) *OtelLogsToLineProtocol { +func NewOtelLogsToLineProtocol(config *OtelLogsToLineProtocolConfig) (*OtelLogsToLineProtocol, error) { return &OtelLogsToLineProtocol{ - logger: logger, - writer: writer, - } + logger: config.Logger, + writer: config.Writer, + }, nil } func (c *OtelLogsToLineProtocol) WriteLogs(ctx context.Context, ld plog.Logs) error { @@ -32,16 +45,16 @@ func (c *OtelLogsToLineProtocol) WriteLogs(ctx context.Context, ld plog.Logs) er ilLogs := resourceLogs.ScopeLogs().At(j) for k := 0; k < ilLogs.LogRecords().Len(); k++ { logRecord := ilLogs.LogRecords().At(k) - if err := c.writeLogRecord(ctx, resourceLogs.Resource(), ilLogs.Scope(), logRecord, batch); err != nil { - return fmt.Errorf("failed to convert OTLP log record to line protocol: %w", err) + if err := c.enqueueLogRecord(resourceLogs.Resource(), ilLogs.Scope(), logRecord, batch); err != nil { + return consumererror.NewPermanent(fmt.Errorf("failed to convert OTLP log record to line protocol: %w", err)) } } } } - return batch.FlushBatch(ctx) + return batch.WriteBatch(ctx) } -func (c *OtelLogsToLineProtocol) writeLogRecord(ctx context.Context, resource pcommon.Resource, instrumentationLibrary pcommon.InstrumentationScope, logRecord plog.LogRecord, batch InfluxWriterBatch) error { +func (c *OtelLogsToLineProtocol) enqueueLogRecord(resource pcommon.Resource, instrumentationLibrary pcommon.InstrumentationScope, logRecord plog.LogRecord, batch InfluxWriterBatch) error { ts := logRecord.Timestamp().AsTime() if ts.IsZero() { // This is a valid condition in OpenTelemetry, but not in InfluxDB. @@ -95,7 +108,7 @@ func (c *OtelLogsToLineProtocol) writeLogRecord(ctx context.Context, resource pc fields[common.AttributeDroppedAttributesCount] = droppedAttributesCount } - if err := batch.WritePoint(ctx, measurement, tags, fields, ts, common.InfluxMetricValueTypeUntyped); err != nil { + if err := batch.EnqueuePoint(measurement, tags, fields, ts, common.InfluxMetricValueTypeUntyped); err != nil { return fmt.Errorf("failed to write point for int gauge: %w", err) } diff --git a/otel2influx/metrics.go b/otel2influx/metrics.go index f10790d6..815e2e23 100644 --- a/otel2influx/metrics.go +++ b/otel2influx/metrics.go @@ -4,14 +4,29 @@ import ( "context" "fmt" + "go.opentelemetry.io/collector/consumer/consumererror" "go.opentelemetry.io/collector/pdata/pcommon" "go.opentelemetry.io/collector/pdata/pmetric" "github.com/influxdata/influxdb-observability/common" ) +type OtelMetricsToLineProtocolConfig struct { + Logger common.Logger + Writer InfluxWriter + Schema common.MetricsSchema +} + +func DefaultOtelMetricsToLineProtocolConfig() *OtelMetricsToLineProtocolConfig { + return &OtelMetricsToLineProtocolConfig{ + Logger: new(common.NoopLogger), + Writer: new(NoopInfluxWriter), + Schema: common.MetricsSchemaTelegrafPrometheusV1, + } +} + type metricWriter interface { - writeMetric(ctx context.Context, resource pcommon.Resource, instrumentationScope pcommon.InstrumentationScope, metric pmetric.Metric, batch InfluxWriterBatch) error + enqueueMetric(resource pcommon.Resource, instrumentationScope pcommon.InstrumentationScope, metric pmetric.Metric, batch InfluxWriterBatch) error } type OtelMetricsToLineProtocol struct { @@ -19,26 +34,26 @@ type OtelMetricsToLineProtocol struct { mw metricWriter } -func NewOtelMetricsToLineProtocol(logger common.Logger, iw InfluxWriter, schema common.MetricsSchema) (*OtelMetricsToLineProtocol, error) { +func NewOtelMetricsToLineProtocol(config *OtelMetricsToLineProtocolConfig) (*OtelMetricsToLineProtocol, error) { var mw metricWriter - switch schema { + switch config.Schema { case common.MetricsSchemaTelegrafPrometheusV1: mw = &metricWriterTelegrafPrometheusV1{ - logger: logger, + logger: config.Logger, } case common.MetricsSchemaTelegrafPrometheusV2: mw = &metricWriterTelegrafPrometheusV2{ - logger: logger, + logger: config.Logger, } case common.MetricsSchemaOtelV1: mw = &metricWriterOtelV1{ - logger: logger, + logger: config.Logger, } default: - return nil, fmt.Errorf("unrecognized metrics schema %d", schema) + return nil, fmt.Errorf("unrecognized metrics schema %d", config.Logger) } return &OtelMetricsToLineProtocol{ - iw: iw, + iw: config.Writer, mw: mw, }, nil } @@ -51,11 +66,11 @@ func (c *OtelMetricsToLineProtocol) WriteMetrics(ctx context.Context, md pmetric ilMetrics := resourceMetrics.ScopeMetrics().At(j) for k := 0; k < ilMetrics.Metrics().Len(); k++ { metric := ilMetrics.Metrics().At(k) - if err := c.mw.writeMetric(ctx, resourceMetrics.Resource(), ilMetrics.Scope(), metric, batch); err != nil { - return fmt.Errorf("failed to convert OTLP metric to line protocol: %w", err) + if err := c.mw.enqueueMetric(resourceMetrics.Resource(), ilMetrics.Scope(), metric, batch); err != nil { + return consumererror.NewPermanent(fmt.Errorf("failed to convert OTLP metric to line protocol: %w", err)) } } } } - return batch.FlushBatch(ctx) + return batch.WriteBatch(ctx) } diff --git a/otel2influx/metrics_otel_v1.go b/otel2influx/metrics_otel_v1.go index c334f661..d48a681f 100644 --- a/otel2influx/metrics_otel_v1.go +++ b/otel2influx/metrics_otel_v1.go @@ -1,13 +1,11 @@ package otel2influx import ( - "context" "errors" "fmt" "strconv" "strings" - "go.opentelemetry.io/collector/consumer/consumererror" "go.opentelemetry.io/collector/pdata/pcommon" "go.opentelemetry.io/collector/pdata/pmetric" "go.uber.org/multierr" @@ -21,7 +19,7 @@ type metricWriterOtelV1 struct { logger common.Logger } -func (m *metricWriterOtelV1) writeMetric(ctx context.Context, resource pcommon.Resource, is pcommon.InstrumentationScope, pm pmetric.Metric, batch InfluxWriterBatch) (err error) { +func (m *metricWriterOtelV1) enqueueMetric(resource pcommon.Resource, is pcommon.InstrumentationScope, pm pmetric.Metric, batch InfluxWriterBatch) (err error) { defer func() { if r := recover(); r != nil { var rerr error @@ -35,11 +33,6 @@ func (m *metricWriterOtelV1) writeMetric(ctx context.Context, resource pcommon.R } err = multierr.Combine(err, rerr) } - - if err != nil && !consumererror.IsPermanent(err) { - m.logger.Debug(err.Error()) - err = nil - } }() // TODO metric description @@ -51,9 +44,9 @@ func (m *metricWriterOtelV1) writeMetric(ctx context.Context, resource pcommon.R //case pmetric.MetricTypeGauge: // return m.writeGauge(ctx, resource, is, pm.Name(), pm.Gauge(), batch) case pmetric.MetricTypeSum: - m.writeSum(ctx, measurementName, resourceTags, scopeFields, pm, batch) + m.enqueueSum(measurementName, resourceTags, scopeFields, pm, batch) case pmetric.MetricTypeHistogram: - m.writeHistogram(ctx, measurementName, resourceTags, scopeFields, pm, batch) + m.enqueueHistogram(measurementName, resourceTags, scopeFields, pm, batch) default: err = fmt.Errorf("unrecognized metric type %q", pm.Type()) } @@ -72,7 +65,7 @@ func formatFieldKeyMetricSumOtelV1(temporality string, monotonic bool, dataPoint return fmt.Sprintf("value_%s_%s_%s", strings.ToLower(temporality), monotonicity, strings.ToLower(dataPointValueType)) } -func (m *metricWriterOtelV1) writeSum(ctx context.Context, measurementName string, resourceTags map[string]string, scopeFields map[string]interface{}, pm pmetric.Metric, batch InfluxWriterBatch) { +func (m *metricWriterOtelV1) enqueueSum(measurementName string, resourceTags map[string]string, scopeFields map[string]interface{}, pm pmetric.Metric, batch InfluxWriterBatch) { temporality := pm.Sum().AggregationTemporality().String() monotonic := pm.Sum().IsMonotonic() @@ -112,14 +105,14 @@ func (m *metricWriterOtelV1) writeSum(ctx context.Context, measurementName strin return true }) - err := batch.WritePoint(ctx, measurementName, tags, fields, dataPoint.Timestamp().AsTime(), common.InfluxMetricValueTypeUntyped) + err := batch.EnqueuePoint(measurementName, tags, fields, dataPoint.Timestamp().AsTime(), common.InfluxMetricValueTypeUntyped) if err != nil { panic(err) } } } -func (m *metricWriterOtelV1) writeHistogram(ctx context.Context, measurementName string, resourceTags map[string]string, scopeFields map[string]interface{}, pm pmetric.Metric, batch InfluxWriterBatch) { +func (m *metricWriterOtelV1) enqueueHistogram(measurementName string, resourceTags map[string]string, scopeFields map[string]interface{}, pm pmetric.Metric, batch InfluxWriterBatch) { temporality := strings.ToLower(pm.Histogram().AggregationTemporality().String()) for i := 0; i < pm.Histogram().DataPoints().Len(); i++ { @@ -167,7 +160,7 @@ func (m *metricWriterOtelV1) writeHistogram(ctx context.Context, measurementName return true }) - err := batch.WritePoint(ctx, measurementName, tags, fields, dataPoint.Timestamp().AsTime(), common.InfluxMetricValueTypeUntyped) + err := batch.EnqueuePoint(measurementName, tags, fields, dataPoint.Timestamp().AsTime(), common.InfluxMetricValueTypeUntyped) if err != nil { panic(err) } diff --git a/otel2influx/metrics_telegraf_prometheus_v1.go b/otel2influx/metrics_telegraf_prometheus_v1.go index adc518fb..36507cfa 100644 --- a/otel2influx/metrics_telegraf_prometheus_v1.go +++ b/otel2influx/metrics_telegraf_prometheus_v1.go @@ -1,7 +1,6 @@ package otel2influx import ( - "context" "errors" "fmt" "strconv" @@ -17,20 +16,20 @@ type metricWriterTelegrafPrometheusV1 struct { logger common.Logger } -func (c *metricWriterTelegrafPrometheusV1) writeMetric(ctx context.Context, resource pcommon.Resource, instrumentationLibrary pcommon.InstrumentationScope, metric pmetric.Metric, batch InfluxWriterBatch) error { +func (c *metricWriterTelegrafPrometheusV1) enqueueMetric(resource pcommon.Resource, instrumentationLibrary pcommon.InstrumentationScope, metric pmetric.Metric, batch InfluxWriterBatch) error { // Ignore metric.Description() and metric.Unit() . switch metric.Type() { case pmetric.MetricTypeGauge: - return c.writeGauge(ctx, resource, instrumentationLibrary, metric.Name(), metric.Gauge(), batch) + return c.enqueueGauge(resource, instrumentationLibrary, metric.Name(), metric.Gauge(), batch) case pmetric.MetricTypeSum: if metric.Sum().IsMonotonic() { - return c.writeSum(ctx, resource, instrumentationLibrary, metric.Name(), metric.Sum(), batch) + return c.enqueueSum(resource, instrumentationLibrary, metric.Name(), metric.Sum(), batch) } - return c.writeGaugeFromSum(ctx, resource, instrumentationLibrary, metric.Name(), metric.Sum(), batch) + return c.enqueueGaugeFromSum(resource, instrumentationLibrary, metric.Name(), metric.Sum(), batch) case pmetric.MetricTypeHistogram: - return c.writeHistogram(ctx, resource, instrumentationLibrary, metric.Name(), metric.Histogram(), batch) + return c.enqueueHistogram(resource, instrumentationLibrary, metric.Name(), metric.Histogram(), batch) case pmetric.MetricTypeSummary: - return c.writeSummary(ctx, resource, instrumentationLibrary, metric.Name(), metric.Summary(), batch) + return c.enqueueSummary(resource, instrumentationLibrary, metric.Name(), metric.Summary(), batch) default: return fmt.Errorf("unknown metric type %q", metric.Type()) } @@ -68,7 +67,7 @@ func (c *metricWriterTelegrafPrometheusV1) initMetricTagsAndTimestamp(resource p return } -func (c *metricWriterTelegrafPrometheusV1) writeGauge(ctx context.Context, resource pcommon.Resource, instrumentationLibrary pcommon.InstrumentationScope, measurement string, gauge pmetric.Gauge, batch InfluxWriterBatch) error { +func (c *metricWriterTelegrafPrometheusV1) enqueueGauge(resource pcommon.Resource, instrumentationLibrary pcommon.InstrumentationScope, measurement string, gauge pmetric.Gauge, batch InfluxWriterBatch) error { for i := 0; i < gauge.DataPoints().Len(); i++ { dataPoint := gauge.DataPoints().At(i) tags, fields, ts, err := c.initMetricTagsAndTimestamp(resource, instrumentationLibrary, dataPoint) @@ -87,7 +86,7 @@ func (c *metricWriterTelegrafPrometheusV1) writeGauge(ctx context.Context, resou return fmt.Errorf("unsupported gauge data point type %d", dataPoint.ValueType()) } - if err = batch.WritePoint(ctx, measurement, tags, fields, ts, common.InfluxMetricValueTypeGauge); err != nil { + if err = batch.EnqueuePoint(measurement, tags, fields, ts, common.InfluxMetricValueTypeGauge); err != nil { return fmt.Errorf("failed to write point for gauge: %w", err) } } @@ -95,8 +94,7 @@ func (c *metricWriterTelegrafPrometheusV1) writeGauge(ctx context.Context, resou return nil } -func (c *metricWriterTelegrafPrometheusV1) writeGaugeFromSum(ctx context.Context, resource pcommon.Resource, instrumentationLibrary pcommon.InstrumentationScope, measurement string, sum pmetric.Sum, batch InfluxWriterBatch) error { - +func (c *metricWriterTelegrafPrometheusV1) enqueueGaugeFromSum(resource pcommon.Resource, instrumentationLibrary pcommon.InstrumentationScope, measurement string, sum pmetric.Sum, batch InfluxWriterBatch) error { for i := 0; i < sum.DataPoints().Len(); i++ { dataPoint := sum.DataPoints().At(i) tags, fields, ts, err := c.initMetricTagsAndTimestamp(resource, instrumentationLibrary, dataPoint) @@ -115,7 +113,7 @@ func (c *metricWriterTelegrafPrometheusV1) writeGaugeFromSum(ctx context.Context return fmt.Errorf("unsupported sum (as gauge) data point type %d", dataPoint.ValueType()) } - if err = batch.WritePoint(ctx, measurement, tags, fields, ts, common.InfluxMetricValueTypeGauge); err != nil { + if err = batch.EnqueuePoint(measurement, tags, fields, ts, common.InfluxMetricValueTypeGauge); err != nil { return fmt.Errorf("failed to write point for sum (as gauge): %w", err) } } @@ -123,8 +121,7 @@ func (c *metricWriterTelegrafPrometheusV1) writeGaugeFromSum(ctx context.Context return nil } -func (c *metricWriterTelegrafPrometheusV1) writeSum(ctx context.Context, resource pcommon.Resource, instrumentationLibrary pcommon.InstrumentationScope, measurement string, sum pmetric.Sum, batch InfluxWriterBatch) error { - +func (c *metricWriterTelegrafPrometheusV1) enqueueSum(resource pcommon.Resource, instrumentationLibrary pcommon.InstrumentationScope, measurement string, sum pmetric.Sum, batch InfluxWriterBatch) error { for i := 0; i < sum.DataPoints().Len(); i++ { dataPoint := sum.DataPoints().At(i) tags, fields, ts, err := c.initMetricTagsAndTimestamp(resource, instrumentationLibrary, dataPoint) @@ -143,7 +140,7 @@ func (c *metricWriterTelegrafPrometheusV1) writeSum(ctx context.Context, resourc return fmt.Errorf("unsupported sum data point type %d", dataPoint.ValueType()) } - if err = batch.WritePoint(ctx, measurement, tags, fields, ts, common.InfluxMetricValueTypeSum); err != nil { + if err = batch.EnqueuePoint(measurement, tags, fields, ts, common.InfluxMetricValueTypeSum); err != nil { return fmt.Errorf("failed to write point for sum: %w", err) } } @@ -151,8 +148,7 @@ func (c *metricWriterTelegrafPrometheusV1) writeSum(ctx context.Context, resourc return nil } -func (c *metricWriterTelegrafPrometheusV1) writeHistogram(ctx context.Context, resource pcommon.Resource, instrumentationLibrary pcommon.InstrumentationScope, measurement string, histogram pmetric.Histogram, batch InfluxWriterBatch) error { - +func (c *metricWriterTelegrafPrometheusV1) enqueueHistogram(resource pcommon.Resource, instrumentationLibrary pcommon.InstrumentationScope, measurement string, histogram pmetric.Histogram, batch InfluxWriterBatch) error { for i := 0; i < histogram.DataPoints().Len(); i++ { dataPoint := histogram.DataPoints().At(i) tags, fields, ts, err := c.initMetricTagsAndTimestamp(resource, instrumentationLibrary, dataPoint) @@ -186,7 +182,7 @@ func (c *metricWriterTelegrafPrometheusV1) writeHistogram(ctx context.Context, r fields[boundFieldKey] = float64(bucketCount) } - if err = batch.WritePoint(ctx, measurement, tags, fields, ts, common.InfluxMetricValueTypeHistogram); err != nil { + if err = batch.EnqueuePoint(measurement, tags, fields, ts, common.InfluxMetricValueTypeHistogram); err != nil { return fmt.Errorf("failed to write point for histogram: %w", err) } } @@ -194,7 +190,7 @@ func (c *metricWriterTelegrafPrometheusV1) writeHistogram(ctx context.Context, r return nil } -func (c *metricWriterTelegrafPrometheusV1) writeSummary(ctx context.Context, resource pcommon.Resource, instrumentationLibrary pcommon.InstrumentationScope, measurement string, summary pmetric.Summary, batch InfluxWriterBatch) error { +func (c *metricWriterTelegrafPrometheusV1) enqueueSummary(resource pcommon.Resource, instrumentationLibrary pcommon.InstrumentationScope, measurement string, summary pmetric.Summary, batch InfluxWriterBatch) error { for i := 0; i < summary.DataPoints().Len(); i++ { dataPoint := summary.DataPoints().At(i) tags, fields, ts, err := c.initMetricTagsAndTimestamp(resource, instrumentationLibrary, dataPoint) @@ -210,7 +206,7 @@ func (c *metricWriterTelegrafPrometheusV1) writeSummary(ctx context.Context, res fields[quantileFieldKey] = valueAtQuantile.Value() } - if err = batch.WritePoint(ctx, measurement, tags, fields, ts, common.InfluxMetricValueTypeSummary); err != nil { + if err = batch.EnqueuePoint(measurement, tags, fields, ts, common.InfluxMetricValueTypeSummary); err != nil { return fmt.Errorf("failed to write point for summary: %w", err) } } diff --git a/otel2influx/metrics_telegraf_prometheus_v1_test.go b/otel2influx/metrics_telegraf_prometheus_v1_test.go index c52f80e0..c4bb1c09 100644 --- a/otel2influx/metrics_telegraf_prometheus_v1_test.go +++ b/otel2influx/metrics_telegraf_prometheus_v1_test.go @@ -16,7 +16,10 @@ import ( func TestWriteMetric_v1_gauge(t *testing.T) { w := new(MockInfluxWriter) - c, err := otel2influx.NewOtelMetricsToLineProtocol(new(common.NoopLogger), w, common.MetricsSchemaTelegrafPrometheusV1) + cfg := otel2influx.DefaultOtelMetricsToLineProtocolConfig() + cfg.Writer = w + cfg.Schema = common.MetricsSchemaTelegrafPrometheusV1 + c, err := otel2influx.NewOtelMetricsToLineProtocol(cfg) require.NoError(t, err) metrics := pmetric.NewMetrics() @@ -79,11 +82,15 @@ func TestWriteMetric_v1_gauge(t *testing.T) { assert.Equal(t, expected, w.points) } +var temporalities = [2]pmetric.AggregationTemporality{pmetric.AggregationTemporalityCumulative, pmetric.AggregationTemporalityDelta} + func TestWriteMetric_v1_gaugeFromSum(t *testing.T) { - temporalities := [2]pmetric.AggregationTemporality{pmetric.AggregationTemporalityCumulative, pmetric.AggregationTemporalityDelta} for _, temporality := range temporalities { w := new(MockInfluxWriter) - c, err := otel2influx.NewOtelMetricsToLineProtocol(new(common.NoopLogger), w, common.MetricsSchemaTelegrafPrometheusV1) + cfg := otel2influx.DefaultOtelMetricsToLineProtocolConfig() + cfg.Writer = w + cfg.Schema = common.MetricsSchemaTelegrafPrometheusV1 + c, err := otel2influx.NewOtelMetricsToLineProtocol(cfg) require.NoError(t, err) metrics := pmetric.NewMetrics() @@ -150,12 +157,14 @@ func TestWriteMetric_v1_gaugeFromSum(t *testing.T) { } func TestWriteMetric_v1_sum(t *testing.T) { - temporalities := [2]pmetric.AggregationTemporality{pmetric.AggregationTemporalityCumulative, pmetric.AggregationTemporalityDelta} - for _, temporality := range temporalities { w := new(MockInfluxWriter) - c, err := otel2influx.NewOtelMetricsToLineProtocol(new(common.NoopLogger), w, common.MetricsSchemaTelegrafPrometheusV1) + cfg := otel2influx.DefaultOtelMetricsToLineProtocolConfig() + cfg.Writer = w + cfg.Schema = common.MetricsSchemaTelegrafPrometheusV1 + c, err := otel2influx.NewOtelMetricsToLineProtocol(cfg) require.NoError(t, err) + metrics := pmetric.NewMetrics() rm := metrics.ResourceMetrics().AppendEmpty() rm.Resource().Attributes().PutStr("container.name", "42") @@ -224,10 +233,12 @@ func TestWriteMetric_v1_sum(t *testing.T) { } func TestWriteMetric_v1_histogram(t *testing.T) { - temporalities := [2]pmetric.AggregationTemporality{pmetric.AggregationTemporalityCumulative, pmetric.AggregationTemporalityDelta} for _, temporality := range temporalities { w := new(MockInfluxWriter) - c, err := otel2influx.NewOtelMetricsToLineProtocol(new(common.NoopLogger), w, common.MetricsSchemaTelegrafPrometheusV1) + cfg := otel2influx.DefaultOtelMetricsToLineProtocolConfig() + cfg.Writer = w + cfg.Schema = common.MetricsSchemaTelegrafPrometheusV1 + c, err := otel2influx.NewOtelMetricsToLineProtocol(cfg) require.NoError(t, err) metrics := pmetric.NewMetrics() @@ -288,10 +299,12 @@ func TestWriteMetric_v1_histogram(t *testing.T) { } func TestWriteMetric_v1_histogram_missingInfinityBucket(t *testing.T) { - temporalities := [2]pmetric.AggregationTemporality{pmetric.AggregationTemporalityCumulative, pmetric.AggregationTemporalityDelta} for _, temporality := range temporalities { w := new(MockInfluxWriter) - c, err := otel2influx.NewOtelMetricsToLineProtocol(new(common.NoopLogger), w, common.MetricsSchemaTelegrafPrometheusV1) + cfg := otel2influx.DefaultOtelMetricsToLineProtocolConfig() + cfg.Writer = w + cfg.Schema = common.MetricsSchemaTelegrafPrometheusV1 + c, err := otel2influx.NewOtelMetricsToLineProtocol(cfg) require.NoError(t, err) metrics := pmetric.NewMetrics() @@ -349,7 +362,10 @@ func TestWriteMetric_v1_histogram_missingInfinityBucket(t *testing.T) { func TestWriteMetric_v1_summary(t *testing.T) { w := new(MockInfluxWriter) - c, err := otel2influx.NewOtelMetricsToLineProtocol(new(common.NoopLogger), w, common.MetricsSchemaTelegrafPrometheusV1) + cfg := otel2influx.DefaultOtelMetricsToLineProtocolConfig() + cfg.Writer = w + cfg.Schema = common.MetricsSchemaTelegrafPrometheusV1 + c, err := otel2influx.NewOtelMetricsToLineProtocol(cfg) require.NoError(t, err) metrics := pmetric.NewMetrics() diff --git a/otel2influx/metrics_telegraf_prometheus_v2.go b/otel2influx/metrics_telegraf_prometheus_v2.go index cc068b0e..9c84b110 100644 --- a/otel2influx/metrics_telegraf_prometheus_v2.go +++ b/otel2influx/metrics_telegraf_prometheus_v2.go @@ -1,7 +1,6 @@ package otel2influx import ( - "context" "errors" "fmt" "strconv" @@ -17,20 +16,20 @@ type metricWriterTelegrafPrometheusV2 struct { logger common.Logger } -func (c *metricWriterTelegrafPrometheusV2) writeMetric(ctx context.Context, resource pcommon.Resource, instrumentationLibrary pcommon.InstrumentationScope, metric pmetric.Metric, batch InfluxWriterBatch) error { +func (c *metricWriterTelegrafPrometheusV2) enqueueMetric(resource pcommon.Resource, instrumentationLibrary pcommon.InstrumentationScope, metric pmetric.Metric, batch InfluxWriterBatch) error { // Ignore metric.Description() and metric.Unit() . switch metric.Type() { case pmetric.MetricTypeGauge: - return c.writeGauge(ctx, resource, instrumentationLibrary, metric.Name(), metric.Gauge(), batch) + return c.enqueueGauge(resource, instrumentationLibrary, metric.Name(), metric.Gauge(), batch) case pmetric.MetricTypeSum: if metric.Sum().IsMonotonic() { - return c.writeSum(ctx, resource, instrumentationLibrary, metric.Name(), metric.Sum(), batch) + return c.enqueueSum(resource, instrumentationLibrary, metric.Name(), metric.Sum(), batch) } - return c.writeGaugeFromSum(ctx, resource, instrumentationLibrary, metric.Name(), metric.Sum(), batch) + return c.enqueueGaugeFromSum(resource, instrumentationLibrary, metric.Name(), metric.Sum(), batch) case pmetric.MetricTypeHistogram: - return c.writeHistogram(ctx, resource, instrumentationLibrary, metric.Name(), metric.Histogram(), batch) + return c.enqueueHistogram(resource, instrumentationLibrary, metric.Name(), metric.Histogram(), batch) case pmetric.MetricTypeSummary: - return c.writeSummary(ctx, resource, instrumentationLibrary, metric.Name(), metric.Summary(), batch) + return c.enqueueSummary(resource, instrumentationLibrary, metric.Name(), metric.Summary(), batch) default: return fmt.Errorf("unknown metric type %q", metric.Type()) } @@ -68,7 +67,7 @@ func (c *metricWriterTelegrafPrometheusV2) initMetricTagsAndTimestamp(resource p return } -func (c *metricWriterTelegrafPrometheusV2) writeGauge(ctx context.Context, resource pcommon.Resource, instrumentationLibrary pcommon.InstrumentationScope, measurement string, gauge pmetric.Gauge, batch InfluxWriterBatch) error { +func (c *metricWriterTelegrafPrometheusV2) enqueueGauge(resource pcommon.Resource, instrumentationLibrary pcommon.InstrumentationScope, measurement string, gauge pmetric.Gauge, batch InfluxWriterBatch) error { for i := 0; i < gauge.DataPoints().Len(); i++ { dataPoint := gauge.DataPoints().At(i) tags, fields, ts, err := c.initMetricTagsAndTimestamp(resource, instrumentationLibrary, dataPoint) @@ -87,7 +86,7 @@ func (c *metricWriterTelegrafPrometheusV2) writeGauge(ctx context.Context, resou return fmt.Errorf("unsupported gauge data point type %d", dataPoint.ValueType()) } - if err = batch.WritePoint(ctx, common.MeasurementPrometheus, tags, fields, ts, common.InfluxMetricValueTypeGauge); err != nil { + if err = batch.EnqueuePoint(common.MeasurementPrometheus, tags, fields, ts, common.InfluxMetricValueTypeGauge); err != nil { return fmt.Errorf("failed to write point for gauge: %w", err) } } @@ -95,7 +94,7 @@ func (c *metricWriterTelegrafPrometheusV2) writeGauge(ctx context.Context, resou return nil } -func (c *metricWriterTelegrafPrometheusV2) writeGaugeFromSum(ctx context.Context, resource pcommon.Resource, instrumentationLibrary pcommon.InstrumentationScope, measurement string, sum pmetric.Sum, batch InfluxWriterBatch) error { +func (c *metricWriterTelegrafPrometheusV2) enqueueGaugeFromSum(resource pcommon.Resource, instrumentationLibrary pcommon.InstrumentationScope, measurement string, sum pmetric.Sum, batch InfluxWriterBatch) error { for i := 0; i < sum.DataPoints().Len(); i++ { dataPoint := sum.DataPoints().At(i) @@ -115,7 +114,7 @@ func (c *metricWriterTelegrafPrometheusV2) writeGaugeFromSum(ctx context.Context return fmt.Errorf("unsupported sum (as gauge) data point type %d", dataPoint.ValueType()) } - if err = batch.WritePoint(ctx, common.MeasurementPrometheus, tags, fields, ts, common.InfluxMetricValueTypeGauge); err != nil { + if err = batch.EnqueuePoint(common.MeasurementPrometheus, tags, fields, ts, common.InfluxMetricValueTypeGauge); err != nil { return fmt.Errorf("failed to write point for sum (as gauge): %w", err) } } @@ -123,8 +122,7 @@ func (c *metricWriterTelegrafPrometheusV2) writeGaugeFromSum(ctx context.Context return nil } -func (c *metricWriterTelegrafPrometheusV2) writeSum(ctx context.Context, resource pcommon.Resource, instrumentationLibrary pcommon.InstrumentationScope, measurement string, sum pmetric.Sum, batch InfluxWriterBatch) error { - +func (c *metricWriterTelegrafPrometheusV2) enqueueSum(resource pcommon.Resource, instrumentationLibrary pcommon.InstrumentationScope, measurement string, sum pmetric.Sum, batch InfluxWriterBatch) error { for i := 0; i < sum.DataPoints().Len(); i++ { dataPoint := sum.DataPoints().At(i) tags, fields, ts, err := c.initMetricTagsAndTimestamp(resource, instrumentationLibrary, dataPoint) @@ -143,7 +141,7 @@ func (c *metricWriterTelegrafPrometheusV2) writeSum(ctx context.Context, resourc return fmt.Errorf("unsupported sum data point type %d", dataPoint.ValueType()) } - if err = batch.WritePoint(ctx, common.MeasurementPrometheus, tags, fields, ts, common.InfluxMetricValueTypeSum); err != nil { + if err = batch.EnqueuePoint(common.MeasurementPrometheus, tags, fields, ts, common.InfluxMetricValueTypeSum); err != nil { return fmt.Errorf("failed to write point for sum: %w", err) } } @@ -151,8 +149,7 @@ func (c *metricWriterTelegrafPrometheusV2) writeSum(ctx context.Context, resourc return nil } -func (c *metricWriterTelegrafPrometheusV2) writeHistogram(ctx context.Context, resource pcommon.Resource, instrumentationLibrary pcommon.InstrumentationScope, measurement string, histogram pmetric.Histogram, batch InfluxWriterBatch) error { - +func (c *metricWriterTelegrafPrometheusV2) enqueueHistogram(resource pcommon.Resource, instrumentationLibrary pcommon.InstrumentationScope, measurement string, histogram pmetric.Histogram, batch InfluxWriterBatch) error { for i := 0; i < histogram.DataPoints().Len(); i++ { dataPoint := histogram.DataPoints().At(i) tags, fields, ts, err := c.initMetricTagsAndTimestamp(resource, instrumentationLibrary, dataPoint) @@ -175,7 +172,7 @@ func (c *metricWriterTelegrafPrometheusV2) writeHistogram(ctx context.Context, r f[measurement+common.MetricHistogramMaxSuffix] = dataPoint.Max() } - if err = batch.WritePoint(ctx, common.MeasurementPrometheus, tags, f, ts, common.InfluxMetricValueTypeHistogram); err != nil { + if err = batch.EnqueuePoint(common.MeasurementPrometheus, tags, f, ts, common.InfluxMetricValueTypeHistogram); err != nil { return fmt.Errorf("failed to write point for histogram: %w", err) } } @@ -208,7 +205,7 @@ func (c *metricWriterTelegrafPrometheusV2) writeHistogram(ctx context.Context, r t[common.MetricHistogramBoundKeyV2] = boundTagValue f[measurement+common.MetricHistogramBucketSuffix] = float64(bucketCount) - if err = batch.WritePoint(ctx, common.MeasurementPrometheus, t, f, ts, common.InfluxMetricValueTypeHistogram); err != nil { + if err = batch.EnqueuePoint(common.MeasurementPrometheus, t, f, ts, common.InfluxMetricValueTypeHistogram); err != nil { return fmt.Errorf("failed to write point for histogram: %w", err) } } @@ -217,7 +214,7 @@ func (c *metricWriterTelegrafPrometheusV2) writeHistogram(ctx context.Context, r return nil } -func (c *metricWriterTelegrafPrometheusV2) writeSummary(ctx context.Context, resource pcommon.Resource, instrumentationLibrary pcommon.InstrumentationScope, measurement string, summary pmetric.Summary, batch InfluxWriterBatch) error { +func (c *metricWriterTelegrafPrometheusV2) enqueueSummary(resource pcommon.Resource, instrumentationLibrary pcommon.InstrumentationScope, measurement string, summary pmetric.Summary, batch InfluxWriterBatch) error { for i := 0; i < summary.DataPoints().Len(); i++ { dataPoint := summary.DataPoints().At(i) tags, fields, ts, err := c.initMetricTagsAndTimestamp(resource, instrumentationLibrary, dataPoint) @@ -234,7 +231,7 @@ func (c *metricWriterTelegrafPrometheusV2) writeSummary(ctx context.Context, res f[measurement+common.MetricSummaryCountSuffix] = float64(dataPoint.Count()) f[measurement+common.MetricSummarySumSuffix] = dataPoint.Sum() - if err = batch.WritePoint(ctx, common.MeasurementPrometheus, tags, f, ts, common.InfluxMetricValueTypeSummary); err != nil { + if err = batch.EnqueuePoint(common.MeasurementPrometheus, tags, f, ts, common.InfluxMetricValueTypeSummary); err != nil { return fmt.Errorf("failed to write point for summary: %w", err) } } @@ -254,7 +251,7 @@ func (c *metricWriterTelegrafPrometheusV2) writeSummary(ctx context.Context, res t[common.MetricSummaryQuantileKeyV2] = quantileTagValue f[measurement] = float64(valueAtQuantile.Value()) - if err = batch.WritePoint(ctx, common.MeasurementPrometheus, t, f, ts, common.InfluxMetricValueTypeSummary); err != nil { + if err = batch.EnqueuePoint(common.MeasurementPrometheus, t, f, ts, common.InfluxMetricValueTypeSummary); err != nil { return fmt.Errorf("failed to write point for summary: %w", err) } } diff --git a/otel2influx/metrics_telegraf_prometheus_v2_test.go b/otel2influx/metrics_telegraf_prometheus_v2_test.go index 5a15bb4b..40740b52 100644 --- a/otel2influx/metrics_telegraf_prometheus_v2_test.go +++ b/otel2influx/metrics_telegraf_prometheus_v2_test.go @@ -2,9 +2,10 @@ package otel2influx_test import ( "context" - "go.opentelemetry.io/collector/pdata/pmetric" "testing" + "go.opentelemetry.io/collector/pdata/pmetric" + "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -14,7 +15,10 @@ import ( func TestWriteMetric_v2_gauge(t *testing.T) { w := new(MockInfluxWriter) - c, err := otel2influx.NewOtelMetricsToLineProtocol(new(common.NoopLogger), w, common.MetricsSchemaTelegrafPrometheusV2) + cfg := otel2influx.DefaultOtelMetricsToLineProtocolConfig() + cfg.Writer = w + cfg.Schema = common.MetricsSchemaTelegrafPrometheusV2 + c, err := otel2influx.NewOtelMetricsToLineProtocol(cfg) require.NoError(t, err) metrics := pmetric.NewMetrics() @@ -78,10 +82,12 @@ func TestWriteMetric_v2_gauge(t *testing.T) { } func TestWriteMetric_v2_gaugeFromSum(t *testing.T) { - temporalities := [2]pmetric.AggregationTemporality{pmetric.AggregationTemporalityCumulative, pmetric.AggregationTemporalityDelta} for _, temporality := range temporalities { w := new(MockInfluxWriter) - c, err := otel2influx.NewOtelMetricsToLineProtocol(new(common.NoopLogger), w, common.MetricsSchemaTelegrafPrometheusV2) + cfg := otel2influx.DefaultOtelMetricsToLineProtocolConfig() + cfg.Writer = w + cfg.Schema = common.MetricsSchemaTelegrafPrometheusV2 + c, err := otel2influx.NewOtelMetricsToLineProtocol(cfg) require.NoError(t, err) metrics := pmetric.NewMetrics() @@ -148,10 +154,12 @@ func TestWriteMetric_v2_gaugeFromSum(t *testing.T) { } func TestWriteMetric_v2_sum(t *testing.T) { - temporalities := [2]pmetric.AggregationTemporality{pmetric.AggregationTemporalityCumulative, pmetric.AggregationTemporalityDelta} for _, temporality := range temporalities { w := new(MockInfluxWriter) - c, err := otel2influx.NewOtelMetricsToLineProtocol(new(common.NoopLogger), w, common.MetricsSchemaTelegrafPrometheusV2) + cfg := otel2influx.DefaultOtelMetricsToLineProtocolConfig() + cfg.Writer = w + cfg.Schema = common.MetricsSchemaTelegrafPrometheusV2 + c, err := otel2influx.NewOtelMetricsToLineProtocol(cfg) require.NoError(t, err) metrics := pmetric.NewMetrics() @@ -222,10 +230,12 @@ func TestWriteMetric_v2_sum(t *testing.T) { } func TestWriteMetric_v2_histogram(t *testing.T) { - temporalities := [2]pmetric.AggregationTemporality{pmetric.AggregationTemporalityCumulative, pmetric.AggregationTemporalityDelta} for _, temporality := range temporalities { w := new(MockInfluxWriter) - c, err := otel2influx.NewOtelMetricsToLineProtocol(new(common.NoopLogger), w, common.MetricsSchemaTelegrafPrometheusV2) + cfg := otel2influx.DefaultOtelMetricsToLineProtocolConfig() + cfg.Writer = w + cfg.Schema = common.MetricsSchemaTelegrafPrometheusV2 + c, err := otel2influx.NewOtelMetricsToLineProtocol(cfg) require.NoError(t, err) metrics := pmetric.NewMetrics() @@ -366,10 +376,12 @@ func TestWriteMetric_v2_histogram(t *testing.T) { } func TestWriteMetric_v2_histogram_missingInfinityBucket(t *testing.T) { - temporalities := [2]pmetric.AggregationTemporality{pmetric.AggregationTemporalityCumulative, pmetric.AggregationTemporalityDelta} for _, temporality := range temporalities { w := new(MockInfluxWriter) - c, err := otel2influx.NewOtelMetricsToLineProtocol(new(common.NoopLogger), w, common.MetricsSchemaTelegrafPrometheusV2) + cfg := otel2influx.DefaultOtelMetricsToLineProtocolConfig() + cfg.Writer = w + cfg.Schema = common.MetricsSchemaTelegrafPrometheusV2 + c, err := otel2influx.NewOtelMetricsToLineProtocol(cfg) require.NoError(t, err) metrics := pmetric.NewMetrics() @@ -507,7 +519,10 @@ func TestWriteMetric_v2_histogram_missingInfinityBucket(t *testing.T) { func TestWriteMetric_v2_summary(t *testing.T) { w := new(MockInfluxWriter) - c, err := otel2influx.NewOtelMetricsToLineProtocol(new(common.NoopLogger), w, common.MetricsSchemaTelegrafPrometheusV2) + cfg := otel2influx.DefaultOtelMetricsToLineProtocolConfig() + cfg.Writer = w + cfg.Schema = common.MetricsSchemaTelegrafPrometheusV2 + c, err := otel2influx.NewOtelMetricsToLineProtocol(cfg) require.NoError(t, err) metrics := pmetric.NewMetrics() diff --git a/otel2influx/traces.go b/otel2influx/traces.go index a79211c1..04d98f3f 100644 --- a/otel2influx/traces.go +++ b/otel2influx/traces.go @@ -6,63 +6,94 @@ import ( "encoding/json" "errors" "fmt" + "strings" "time" - "go.opentelemetry.io/collector/component" "go.opentelemetry.io/collector/consumer/consumererror" "go.opentelemetry.io/collector/pdata/pcommon" "go.opentelemetry.io/collector/pdata/ptrace" semconv "go.opentelemetry.io/collector/semconv/v1.16.0" "go.uber.org/multierr" + "golang.org/x/exp/maps" "github.com/influxdata/influxdb-observability/common" ) -type OtelTracesToLineProtocol struct { - logger common.Logger - w InfluxWriter +type OtelTracesToLineProtocolConfig struct { + Logger common.Logger + Writer InfluxWriter + // SpanDimensions are span attributes to be used as line protocol tags. + // These are always included as tags: + // - trace ID + // - span ID + // The default values are strongly recommended for use with Jaeger: + // - service.name + // - span.name + // Other common attributes can be found here: + // - https://github.com/open-telemetry/opentelemetry-collector/tree/main/semconv + SpanDimensions []string } -func NewOtelTracesToLineProtocol(logger common.Logger, w InfluxWriter) (*OtelTracesToLineProtocol, error) { - return &OtelTracesToLineProtocol{ - logger: logger, - w: w, - }, nil +func DefaultOtelTracesToLineProtocolConfig() *OtelTracesToLineProtocolConfig { + return &OtelTracesToLineProtocolConfig{ + Logger: new(common.NoopLogger), + Writer: new(NoopInfluxWriter), + SpanDimensions: []string{ + semconv.AttributeServiceName, + common.AttributeSpanName, + }, + } } -func (c *OtelTracesToLineProtocol) Start(ctx context.Context, host component.Host) error { - // TODO remove this method - return nil +type OtelTracesToLineProtocol struct { + logger common.Logger + influxWriter InfluxWriter + + spanDimensions map[string]struct{} } -func (c *OtelTracesToLineProtocol) Shutdown(ctx context.Context) error { - // TODO remove this method - return nil +func NewOtelTracesToLineProtocol(config *OtelTracesToLineProtocolConfig) (*OtelTracesToLineProtocol, error) { + spanDimensions := make(map[string]struct{}, len(config.SpanDimensions)) + { + duplicateDimensions := make(map[string]struct{}) + for _, k := range config.SpanDimensions { + if _, found := spanDimensions[k]; found { + duplicateDimensions[k] = struct{}{} + } else { + spanDimensions[k] = struct{}{} + } + } + if len(duplicateDimensions) > 0 { + return nil, fmt.Errorf("duplicate dimension(s) configured: %s", + strings.Join(maps.Keys(duplicateDimensions), ",")) + } + } + + return &OtelTracesToLineProtocol{ + logger: config.Logger, + influxWriter: config.Writer, + spanDimensions: spanDimensions, + }, nil } func (c *OtelTracesToLineProtocol) WriteTraces(ctx context.Context, td ptrace.Traces) error { - batch := c.w.NewBatch() + batch := c.influxWriter.NewBatch() for i := 0; i < td.ResourceSpans().Len(); i++ { resourceSpans := td.ResourceSpans().At(i) - resourceFields := convertResourceFields(resourceSpans.Resource()) for j := 0; j < resourceSpans.ScopeSpans().Len(); j++ { scopeSpans := resourceSpans.ScopeSpans().At(j) - scopeFields := convertScopeFields(scopeSpans.Scope()) - for k, v := range resourceFields { - scopeFields[k] = v - } for k := 0; k < scopeSpans.Spans().Len(); k++ { span := scopeSpans.Spans().At(k) - if err := c.writeSpan(ctx, span, scopeFields, batch); err != nil { - return fmt.Errorf("failed to convert OTLP span to line protocol: %w", err) + if err := c.enqueueSpan(ctx, span, scopeSpans.Scope().Attributes(), resourceSpans.Resource().Attributes(), batch); err != nil { + return consumererror.NewPermanent(fmt.Errorf("failed to convert OTLP span to line protocol: %w", err)) } } } } - return batch.FlushBatch(ctx) + return batch.WriteBatch(ctx) } -func (c *OtelTracesToLineProtocol) writeSpan(ctx context.Context, span ptrace.Span, scopeFields map[string]interface{}, batch InfluxWriterBatch) (err error) { +func (c *OtelTracesToLineProtocol) enqueueSpan(ctx context.Context, span ptrace.Span, scopeAttributes, resourceAttributes pcommon.Map, batch InfluxWriterBatch) (err error) { defer func() { if r := recover(); r != nil { var rerr error @@ -76,30 +107,48 @@ func (c *OtelTracesToLineProtocol) writeSpan(ctx context.Context, span ptrace.Sp } err = multierr.Combine(err, rerr) } - - if err != nil && !consumererror.IsPermanent(err) { - c.logger.Debug(err.Error()) - err = nil - } }() traceID := span.TraceID() if traceID.IsEmpty() { - return errors.New("span has no trace ID") + err = errors.New("span has no trace ID") + return } spanID := span.SpanID() if spanID.IsEmpty() { - return errors.New("span has no span ID") + err = errors.New("span has no span ID") + return } measurement := common.MeasurementSpans - tags := map[string]string{ - common.AttributeTraceID: hex.EncodeToString(traceID[:]), - common.AttributeSpanID: hex.EncodeToString(spanID[:]), + tags := make(map[string]string, len(c.spanDimensions)+2) + fields := make(map[string]interface{}, scopeAttributes.Len()+resourceAttributes.Len()+10) + + droppedAttributesCount := uint64(span.DroppedAttributesCount()) + attributesField := make(map[string]any) + + for _, attributes := range []pcommon.Map{resourceAttributes, scopeAttributes, span.Attributes()} { + attributes.Range(func(k string, v pcommon.Value) bool { + if _, found := c.spanDimensions[k]; found { + if _, found = tags[k]; found { + c.logger.Debug("dimension %s already exists as a tag", k) + attributesField[k] = v.AsRaw() + } + tags[k] = v.AsString() + } else { + attributesField[k] = v.AsRaw() + } + return true + }) } - fields := make(map[string]interface{}, len(scopeFields)+span.Attributes().Len()+9) - for k, v := range scopeFields { - fields[k] = v + if len(attributesField) > 0 { + marshalledAttributes, err := json.Marshal(attributesField) + if err != nil { + c.logger.Debug("failed to marshal attributes to JSON", err) + droppedAttributesCount += uint64(span.Attributes().Len()) + } else { + fields[common.AttributeAttributes] = string(marshalledAttributes) + } } if traceState := span.TraceState().AsRaw(); traceState != "" { @@ -117,7 +166,8 @@ func (c *OtelTracesToLineProtocol) writeSpan(ctx context.Context, span ptrace.Sp ts := span.StartTimestamp().AsTime() if ts.IsZero() { - return errors.New("span has no timestamp") + err = errors.New("span has no timestamp") + return } if endTime := span.EndTimestamp().AsTime(); !endTime.IsZero() { @@ -125,20 +175,6 @@ func (c *OtelTracesToLineProtocol) writeSpan(ctx context.Context, span ptrace.Sp fields[common.AttributeDurationNano] = endTime.Sub(ts).Nanoseconds() } - droppedAttributesCount := uint64(span.DroppedAttributesCount()) - if span.Attributes().Len() > 0 { - marshalledAttributes, err := json.Marshal(span.Attributes().AsRaw()) - if err != nil { - c.logger.Debug("failed to marshal attributes to JSON", err) - droppedAttributesCount += uint64(span.Attributes().Len()) - } else { - fields[common.AttributeAttributes] = string(marshalledAttributes) - } - } - if droppedAttributesCount > 0 { - fields[common.AttributeDroppedAttributesCount] = droppedAttributesCount - } - droppedEventsCount := uint64(span.DroppedEventsCount()) for i := 0; i < span.Events().Len(); i++ { if err = c.writeSpanEvent(ctx, traceID, spanID, span.Events().At(i), batch); err != nil { @@ -173,8 +209,21 @@ func (c *OtelTracesToLineProtocol) writeSpan(ctx context.Context, span ptrace.Sp fields[semconv.OtelStatusDescription] = message } - if err := batch.WritePoint(ctx, measurement, tags, fields, ts, common.InfluxMetricValueTypeUntyped); err != nil { - return fmt.Errorf("failed to write point for span: %w", err) + tags[common.AttributeTraceID] = hex.EncodeToString(traceID[:]) + tags[common.AttributeSpanID] = hex.EncodeToString(spanID[:]) + + for k := range tags { + if _, found := fields[k]; found { + c.logger.Debug("tag already exists as a field; field will be dropped", "tag key", k) + droppedAttributesCount++ + } + } + if droppedAttributesCount > 0 { + fields[common.AttributeDroppedAttributesCount] = droppedAttributesCount + } + + if err = batch.EnqueuePoint(measurement, tags, fields, ts, common.InfluxMetricValueTypeUntyped); err != nil { + return fmt.Errorf("failed to enqueue point for span: %w", err) } return nil @@ -218,7 +267,7 @@ func (c *OtelTracesToLineProtocol) writeSpanEvent(ctx context.Context, traceID p common.AttributeSpanID: hex.EncodeToString(spanID[:]), } - err := batch.WritePoint(ctx, common.MeasurementLogs, tags, fields, spanEvent.Timestamp().AsTime(), common.InfluxMetricValueTypeUntyped) + err := batch.EnqueuePoint(common.MeasurementLogs, tags, fields, spanEvent.Timestamp().AsTime(), common.InfluxMetricValueTypeUntyped) if err != nil { return fmt.Errorf("failed to write point for span event: %w", err) } @@ -275,7 +324,7 @@ func (c *OtelTracesToLineProtocol) writeSpanLink(ctx context.Context, traceID pc fields[common.AttributeDroppedAttributesCount] = droppedAttributesCount } - if err := batch.WritePoint(ctx, common.MeasurementSpanLinks, tags, fields, ts, common.InfluxMetricValueTypeUntyped); err != nil { + if err := batch.EnqueuePoint(common.MeasurementSpanLinks, tags, fields, ts, common.InfluxMetricValueTypeUntyped); err != nil { return fmt.Errorf("failed to write point for span link: %w", err) } return nil diff --git a/otel2influx/writer.go b/otel2influx/writer.go index 8526c3bd..5c2a14d5 100644 --- a/otel2influx/writer.go +++ b/otel2influx/writer.go @@ -12,6 +12,20 @@ type InfluxWriter interface { } type InfluxWriterBatch interface { - WritePoint(ctx context.Context, measurement string, tags map[string]string, fields map[string]interface{}, ts time.Time, vType common.InfluxMetricValueType) error - FlushBatch(ctx context.Context) error + EnqueuePoint(measurement string, tags map[string]string, fields map[string]interface{}, ts time.Time, vType common.InfluxMetricValueType) error + WriteBatch(ctx context.Context) error +} + +type NoopInfluxWriter struct{} + +func (w *NoopInfluxWriter) NewBatch() InfluxWriterBatch { + return w +} + +func (w *NoopInfluxWriter) EnqueuePoint(measurement string, tags map[string]string, fields map[string]interface{}, ts time.Time, vType common.InfluxMetricValueType) error { + return nil +} + +func (w *NoopInfluxWriter) WriteBatch(ctx context.Context) error { + return nil } diff --git a/otel2influx/writer_test.go b/otel2influx/writer_test.go index 24577baa..5299c40a 100644 --- a/otel2influx/writer_test.go +++ b/otel2influx/writer_test.go @@ -2,9 +2,10 @@ package otel2influx_test import ( "context" - "go.opentelemetry.io/collector/pdata/pcommon" "time" + "go.opentelemetry.io/collector/pdata/pcommon" + "github.com/influxdata/influxdb-observability/common" "github.com/influxdata/influxdb-observability/otel2influx" ) @@ -28,15 +29,11 @@ func (w *MockInfluxWriter) NewBatch() otel2influx.InfluxWriterBatch { return &MockInfluxWriterBatch{w: w} } -func (w *MockInfluxWriter) WritePoint(_ context.Context, measurement string, tags map[string]string, fields map[string]interface{}, ts time.Time, vType common.InfluxMetricValueType) error { - return nil -} - type MockInfluxWriterBatch struct { w *MockInfluxWriter } -func (b *MockInfluxWriterBatch) WritePoint(ctx context.Context, measurement string, tags map[string]string, fields map[string]interface{}, ts time.Time, vType common.InfluxMetricValueType) error { +func (b *MockInfluxWriterBatch) EnqueuePoint(measurement string, tags map[string]string, fields map[string]interface{}, ts time.Time, vType common.InfluxMetricValueType) error { b.w.points = append(b.w.points, mockPoint{ measurement: measurement, tags: tags, @@ -47,7 +44,7 @@ func (b *MockInfluxWriterBatch) WritePoint(ctx context.Context, measurement stri return nil } -func (b *MockInfluxWriterBatch) FlushBatch(ctx context.Context) error { +func (b *MockInfluxWriterBatch) WriteBatch(ctx context.Context) error { return nil } diff --git a/tests-integration/go.mod b/tests-integration/go.mod index 91d2ddf2..d1c5736c 100644 --- a/tests-integration/go.mod +++ b/tests-integration/go.mod @@ -26,17 +26,17 @@ require ( contrib.go.opencensus.io/exporter/prometheus v0.4.2 // indirect github.com/alecthomas/participle v0.4.1 // indirect github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137 // indirect - github.com/apache/arrow/go/v11 v11.0.0 // indirect + github.com/antlr/antlr4/runtime/Go/antlr/v4 v4.0.0-20230305170008-8188dc5388df // indirect github.com/awnumar/memcall v0.1.2 // indirect github.com/awnumar/memguard v0.22.3 // indirect - github.com/benbjohnson/clock v1.3.0 // indirect + github.com/benbjohnson/clock v1.3.3 // indirect github.com/beorn7/perks v1.0.1 // indirect - github.com/blues/jsonata-go v1.5.4 // indirect github.com/cenkalti/backoff/v4 v4.2.1 // indirect github.com/cespare/xxhash/v2 v2.2.0 // indirect + github.com/compose-spec/compose-go v1.13.4 // indirect github.com/coreos/go-semver v0.3.1 // indirect github.com/davecgh/go-spew v1.1.1 // indirect - github.com/fatih/color v1.13.0 // indirect + github.com/fatih/color v1.15.0 // indirect github.com/felixge/httpsnoop v1.0.3 // indirect github.com/fsnotify/fsnotify v1.6.0 // indirect github.com/go-kit/log v0.2.1 // indirect @@ -49,12 +49,13 @@ require ( github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect github.com/golang/protobuf v1.5.3 // indirect github.com/golang/snappy v0.0.4 // indirect + github.com/google/cel-go v0.14.1-0.20230424164844-d39523c445fc // indirect github.com/google/uuid v1.3.0 // indirect github.com/gosnmp/gosnmp v1.35.0 // indirect github.com/inconshreveable/mousetrap v1.1.0 // indirect - github.com/influxdata/influxdb-observability/common v0.4.2 // indirect + github.com/influxdata/influxdb-observability/common v0.4.3 // indirect github.com/influxdata/influxdb-observability/influx2otel v0.3.15 // indirect - github.com/influxdata/influxdb-observability/otel2influx v0.3.15 // indirect + github.com/influxdata/influxdb-observability/otel2influx v0.4.3 // indirect github.com/influxdata/toml v0.0.0-20190415235208-270119a8ce65 // indirect github.com/jaegertracing/jaeger v1.41.0 // indirect github.com/json-iterator/go v1.1.12 // indirect @@ -62,7 +63,7 @@ require ( github.com/knadh/koanf v1.5.0 // indirect github.com/lufia/plan9stats v0.0.0-20220913051719-115f729f3c8c // indirect github.com/mattn/go-colorable v0.1.13 // indirect - github.com/mattn/go-isatty v0.0.16 // indirect + github.com/mattn/go-isatty v0.0.19 // indirect github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect github.com/mitchellh/copystructure v1.2.0 // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect @@ -72,7 +73,6 @@ require ( github.com/naoina/go-stringutil v0.1.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.79.0 // indirect github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.79.0 // indirect - github.com/philhofer/fwd v1.1.1 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect github.com/power-devops/perfstat v0.0.0-20220216144756-c35f1ee13d7c // indirect github.com/prometheus/client_golang v1.15.1 // indirect @@ -82,15 +82,17 @@ require ( github.com/prometheus/prometheus v1.8.2-0.20210430082741-2a4b8e12bbf2 // indirect github.com/prometheus/statsd_exporter v0.22.7 // indirect github.com/rs/cors v1.9.0 // indirect - github.com/shirou/gopsutil/v3 v3.23.4 // indirect - github.com/shoenig/go-m1cpu v0.1.5 // indirect + github.com/shirou/gopsutil/v3 v3.23.5 // indirect + github.com/shoenig/go-m1cpu v0.1.6 // indirect + github.com/sirupsen/logrus v1.9.0 // indirect github.com/sleepinggenius2/gosmi v0.4.4 // indirect github.com/spf13/cobra v1.7.0 // indirect github.com/spf13/pflag v1.0.5 // indirect - github.com/tinylib/msgp v1.1.6 // indirect + github.com/stoewer/go-strcase v1.2.0 // indirect github.com/tklauser/go-sysconf v0.3.11 // indirect github.com/tklauser/numcpus v0.6.0 // indirect - github.com/yusufpapurcu/wmi v1.2.2 // indirect + github.com/youmark/pkcs8 v0.0.0-20201027041543-1326539a0a0a // indirect + github.com/yusufpapurcu/wmi v1.2.3 // indirect go.opencensus.io v0.24.0 // indirect go.opentelemetry.io/collector/featuregate v1.0.0-rcv0012 // indirect go.opentelemetry.io/collector/semconv v0.79.0 // indirect @@ -105,12 +107,14 @@ require ( go.opentelemetry.io/otel/trace v1.16.0 // indirect go.uber.org/atomic v1.11.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/crypto v0.5.0 // indirect + golang.org/x/crypto v0.8.0 // indirect + golang.org/x/exp v0.0.0-20230522175609-2e198f4a06a1 // indirect golang.org/x/net v0.10.0 // indirect golang.org/x/sys v0.8.0 // indirect golang.org/x/text v0.9.0 // indirect gonum.org/v1/gonum v0.13.0 // indirect - google.golang.org/genproto v0.0.0-20230524185152-1884fd1fac28 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20230530153820-e85fd2cbaebc // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20230530153820-e85fd2cbaebc // indirect google.golang.org/protobuf v1.30.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect @@ -121,3 +125,7 @@ replace ( github.com/influxdata/influxdb-observability/influx2otel => ../influx2otel github.com/influxdata/influxdb-observability/otel2influx => ../otel2influx ) + +replace github.com/open-telemetry/opentelemetry-collector-contrib/exporter/influxdbexporter => ../../opentelemetry-collector-contrib/exporter/influxdbexporter + +replace github.com/influxdata/telegraf => ../../telegraf diff --git a/tests-integration/go.sum b/tests-integration/go.sum index 7a9e30f6..6b7f3625 100644 --- a/tests-integration/go.sum +++ b/tests-integration/go.sum @@ -19,40 +19,40 @@ cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKP cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk= cloud.google.com/go v0.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECHg= cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb8= -cloud.google.com/go v0.110.0 h1:Zc8gqp3+a9/Eyph2KDmcGaPtbKRIoqq4YTlL4NMD0Ys= +cloud.google.com/go v0.110.1 h1:oDJ19Fu9TX9Xs06iyCw4yifSqZ7JQ8BeuVHcTmWQlOA= cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= -cloud.google.com/go/bigquery v1.50.0 h1:RscMV6LbnAmhAzD893Lv9nXXy2WCaJmbxYPWDLbGqNQ= +cloud.google.com/go/bigquery v1.51.1 h1:qI/8vkBbzLkv0BJmzE7ajA6uZqQC+C31MAwgb+vJe2U= cloud.google.com/go/bigtable v1.2.0/go.mod h1:JcVAOl45lrTmQfLj7T6TxyMzIN/3FGGcFm+2xVAli2o= -cloud.google.com/go/compute v1.19.0 h1:+9zda3WGgW1ZSTlVppLCYFIr48Pa35q1uG2N1itbCEQ= +cloud.google.com/go/compute v1.19.1 h1:am86mquDUgjGNWxiGn+5PGLbmgiWXlE/yNWpIpNvuXY= cloud.google.com/go/compute/metadata v0.2.3 h1:mg4jlk7mCAj6xXp9UJ4fjI9VUI5rubuGBW5aJ7UnBMY= cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= -cloud.google.com/go/iam v0.13.0 h1:+CmB+K0J/33d0zSQ9SlFWUeCCEn5XJA0ZMZ3pHE9u8k= -cloud.google.com/go/monitoring v1.13.0 h1:2qsrgXGVoRXpP7otZ14eE1I568zAa92sJSDPyOJvwjM= +cloud.google.com/go/iam v1.0.0 h1:hlQJMovyJJwYjZcTohUH4o1L8Z8kYz+E+W/zktiLCBc= +cloud.google.com/go/monitoring v1.14.0 h1:duMLMV61WSPUSC93WIocFQMG7P7Byjmo73oLDO++Srs= cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= -cloud.google.com/go/pubsub v1.30.0 h1:vCge8m7aUKBJYOgrZp7EsNDf6QMd2CAlXZqWTn3yq6s= +cloud.google.com/go/pubsub v1.30.1 h1:RdzTlwhswvROjPIoTfnSJ9tEp0LY2S5ATX90anOw7E8= cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= -cloud.google.com/go/storage v1.28.1 h1:F5QDG5ChchaAVQhINh24U99OWHURqrW8OmQcGKXcbgI= +cloud.google.com/go/storage v1.29.0 h1:6weCgzRvMg7lzuUurI4697AqIRPU1SvzHhynwpW31jI= code.cloudfoundry.org/clock v1.0.0 h1:kFXWQM4bxYvdBw2X8BbBeXwQNgfoWv1vqAk2ZZyBN2o= collectd.org v0.3.0/go.mod h1:A/8DzQBkF6abtvrT2j/AU/4tiBgJWYyh0y/oB/4MlWE= collectd.org v0.5.0 h1:y4uFSAuOmeVhG3GCRa3/oH+ysePfO/+eGJNfd0Qa3d8= contrib.go.opencensus.io/exporter/prometheus v0.4.2 h1:sqfsYl5GIY/L570iT+l93ehxaWJs2/OwXtiWwew3oAg= contrib.go.opencensus.io/exporter/prometheus v0.4.2/go.mod h1:dvEHbiKmgvbr5pjaF9fpw1KeYcjrnC1J8B+JKjsZyRQ= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= -github.com/Azure/azure-amqp-common-go/v3 v3.2.3 h1:uDF62mbd9bypXWi19V1bN5NZEO84JqgmI5G73ibAmrk= -github.com/Azure/azure-event-hubs-go/v3 v3.3.20 h1:LRAy00JlV5aDqd0LFXwfwFReYzl03CtH/kD91OHrT94= +github.com/Azure/azure-amqp-common-go/v4 v4.1.0 h1:gcS6P4q/Qv1nmdq1IWoU3mLYlHnvNxAhVjxReEFmSz8= +github.com/Azure/azure-event-hubs-go/v3 v3.5.0 h1:H3nhguNPKFH+Z6GP0GZTJVsiuHjqrz5rsRsD816zNkQ= github.com/Azure/azure-kusto-go v0.8.0 h1:AeO6VBRGzB1BhmWeheSyN+WSrx+1wmhHm47vzptitdw= github.com/Azure/azure-pipeline-go v0.2.3 h1:7U9HBg1JFK3jHl5qmo4CTZKFTVgMwdFHMVtCdfBE21U= github.com/Azure/azure-sdk-for-go v52.5.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= @@ -65,18 +65,18 @@ github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armresources v0. github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v0.3.0 h1:Px2UA+2RvSSvv+RvJNuUB6n7rs5Wsel4dXLe90Um2n4= github.com/Azure/azure-storage-blob-go v0.15.0 h1:rXtgp8tN1p29GvpGgfJetavIG0V7OgcSXPpwp3tx6qk= github.com/Azure/azure-storage-queue-go v0.0.0-20191125232315-636801874cdd h1:b3wyxBl3vvr15tUAziPBPK354y+LSdfPCpex5oBttHo= -github.com/Azure/go-amqp v0.17.0 h1:HHXa3149nKrI0IZwyM7DRcRy5810t9ZICDutn4BYzj4= +github.com/Azure/go-amqp v0.19.1 h1:S1l3HiSMU7Rhko2f70lBH6Vd0mLj5UZiTWC6xKY5Kho= github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8= github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 h1:UQHMgLO+TxOElx5B5HZ4hJQsoJ/PvUvKRhJHDQXO8P8= github.com/Azure/go-autorest v14.2.0+incompatible h1:V5VMDjClD3GiElqLWO7mz2MxNAK/vTfRHdAubSIPRgs= github.com/Azure/go-autorest v14.2.0+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24= github.com/Azure/go-autorest/autorest v0.11.12/go.mod h1:eipySxLmqSyC5s5k1CLupqet0PSENBEDP93LQ9a8QYw= github.com/Azure/go-autorest/autorest v0.11.18/go.mod h1:dSiJPy22c3u0OtOKDNttNgqpNFY/GeWa7GH/Pz56QRA= -github.com/Azure/go-autorest/autorest v0.11.28 h1:ndAExarwr5Y+GaHE6VCaY1kyS/HwwGGyuimVhWsHOEM= +github.com/Azure/go-autorest/autorest v0.11.29 h1:I4+HL/JDvErx2LjyzaVxllw2lRDB5/BT2Bm4g20iqYw= github.com/Azure/go-autorest/autorest/adal v0.9.5/go.mod h1:B7KF7jKIeC9Mct5spmyCB/A8CG/sEz1vwIRGv/bbw7A= github.com/Azure/go-autorest/autorest/adal v0.9.13/go.mod h1:W/MM4U6nLxnIskrw4UwWzlHfGjwUS50aOsc/I3yuU8M= -github.com/Azure/go-autorest/autorest/adal v0.9.21 h1:jjQnVFXPfekaqb8vIsv2G1lxshoW+oGv4MDlhRtnYZk= -github.com/Azure/go-autorest/autorest/azure/auth v0.5.11 h1:P6bYXFoao05z5uhOQzbC3Qd8JqF3jUoocoTeIxkp2cA= +github.com/Azure/go-autorest/autorest/adal v0.9.23 h1:Yepx8CvFxwNKpH6ja7RZ+sKX+DWYNldbLiALMC3BTz8= +github.com/Azure/go-autorest/autorest/azure/auth v0.5.12 h1:wkAZRgT/pn8HhFyzfe9UnqOjJYqlembgCTi72Bm/xKk= github.com/Azure/go-autorest/autorest/azure/cli v0.4.5 h1:0W/yGmFdTIT77fvdlGZ0LMISoLHFJ7Tx4U0yeB+uFs4= github.com/Azure/go-autorest/autorest/date v0.3.0 h1:7gUk1U5M/CQbp9WoqinNzJar+8KY+LPI6wiWrP/myHw= github.com/Azure/go-autorest/autorest/date v0.3.0/go.mod h1:BI0uouVdmngYNUzGWeSYnokU+TrmwEsOqdt8Y6sso74= @@ -102,19 +102,19 @@ github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go github.com/Masterminds/goutils v1.1.1 h1:5nUrii3FMTL5diU80unEVvNevw1nH4+ZV4DSLVJLSYI= github.com/Masterminds/semver v1.5.0 h1:H65muMkzWKEuNDnfl9d70GUjFniHKHRbFPGBuZ3QEww= github.com/Masterminds/sprig v2.22.0+incompatible h1:z4yfnGrZ7netVz+0EDJ0Wi+5VZCSYp4Z0m2dk6cEM60= -github.com/Mellanox/rdmamap v0.0.0-20191106181932-7c3c4763a6ee h1:atI/FFjXh6hIVlPE1Jup9m8N4B9q/OSbMUe2EBahs+w= +github.com/Mellanox/rdmamap v1.1.0 h1:A/W1wAXw+6vm58f3VklrIylgV+eDJlPVIMaIKuxgUT4= github.com/Microsoft/go-winio v0.4.16/go.mod h1:XB6nPKklQyQ7GC9LdcBEcBl8PF76WugXOPRXwdLnMv0= -github.com/Microsoft/go-winio v0.5.2 h1:a9IhgEQBCUEk6QCdml9CiJGhAws+YwffDHEMp1VMrpA= +github.com/Microsoft/go-winio v0.6.0 h1:slsWYD/zyx7lCXoZVlvQrj0hPTM1HI4+v1sIda2yDvg= github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= github.com/PuerkitoBio/purell v1.1.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo= -github.com/Shopify/sarama v1.37.2 h1:LoBbU0yJPte0cE5TZCGdlzZRmMgMtZU/XgnUKZg9Cv4= +github.com/Shopify/sarama v1.38.1 h1:lqqPUPQZ7zPqYlWpTh+LQ9bhYNu2xJL6k1SJN4WVe2A= github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI= github.com/VividCortex/gohistogram v1.0.0/go.mod h1:Pf5mBqqDxYaXu3hDrrU+w6nw50o/4+TcAqDqk/vUH7g= -github.com/aerospike/aerospike-client-go/v5 v5.10.0 h1:+Vwl4x3Fqx8HHlLAydfDNUbjB4fJ9QvIv5PuiechDP8= +github.com/aerospike/aerospike-client-go/v5 v5.11.0 h1:z3ZmDSm3I10VMXXIIrsFCFq3IenwFqTCnLNyvnFVzrk= github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5/go.mod h1:SkGFH1ia65gfNATL8TAiHDNxPzPdmEL5uirI2Uyuz6c= github.com/agnivade/levenshtein v1.0.1/go.mod h1:CURSv5d9Uaml+FovSIICkLbAUZ9S4RqaHDIsdSBg7lM= github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw= @@ -132,27 +132,29 @@ github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk5 github.com/alecthomas/units v0.0.0-20210208195552-ff826a37aa15/go.mod h1:OMCwj8VM1Kc9e19TLln2VL61YJF0x1XFtfdL4JdbSyE= github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137 h1:s6gZFSlWYmbqAuRjVTiNNhvNRfY2Wxp9nhfyel4rklc= github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137/go.mod h1:OMCwj8VM1Kc9e19TLln2VL61YJF0x1XFtfdL4JdbSyE= -github.com/aliyun/alibaba-cloud-sdk-go v1.62.77 h1:qibzE6j4xrBUDXQ+VZGguqYKQSAkd7z2y3UQz/RNvcc= +github.com/aliyun/alibaba-cloud-sdk-go v1.62.337 h1:nH1tF26CyGrWKHKAWMAs1LfMPfz/rwopYHPvu+TAchg= github.com/amir/raidman v0.0.0-20170415203553-1ccc43bfb9c9 h1:FXrPTd8Rdlc94dKccl7KPmdmIbVh/OjelJ8/vgMRzcQ= github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8= -github.com/andybalholm/brotli v1.0.4 h1:V7DdXeJtZscaqfNuAdSRuRFzuiKlHSC/Zh3zl9qY3JY= +github.com/andybalholm/brotli v1.0.5 h1:8uQZIdzKmjc/iuPu7O2ioW48L81FgatrcpfFmiq/cCs= github.com/antchfx/jsonquery v1.3.1 h1:kh3599hMLpygvcxoENcj99eCvnS++JjRX10LjNYhK58= github.com/antchfx/xmlquery v1.3.15 h1:aJConNMi1sMha5G8YJoAIF5P+H+qG1L73bSItWHo8Tw= -github.com/antchfx/xpath v1.2.3 h1:CCZWOzv5bAqjVv0offZ2LVgVYFbeldKQVuLNbViZdes= +github.com/antchfx/xpath v1.2.4 h1:dW1HB/JxKvGtJ9WyVGJ0sIoEcqftV3SqIstujI+B9XY= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= +github.com/antlr/antlr4/runtime/Go/antlr/v4 v4.0.0-20230305170008-8188dc5388df h1:7RFfzj4SSt6nnvCPbCqijJi1nWCd+TqAT3bYCStRC18= +github.com/antlr/antlr4/runtime/Go/antlr/v4 v4.0.0-20230305170008-8188dc5388df/go.mod h1:pSwJ0fSY5KhvocuWSx4fz3BA8OrA1bQn+K1Eli3BRwM= github.com/apache/arrow/go/arrow v0.0.0-20191024131854-af6fa24be0db/go.mod h1:VTxUBvSJ3s3eHAg65PNgrsn5BtqCRPdmyXh6rAfdxN0= github.com/apache/arrow/go/arrow v0.0.0-20211112161151-bc219186db40 h1:q4dksr6ICHXqG5hm0ZW5IHyeEJXoIJSOZeBLmWPNeIQ= -github.com/apache/arrow/go/v11 v11.0.0 h1:hqauxvFQxww+0mEU/2XHG6LT7eZternCZq+A5Yly2uM= -github.com/apache/arrow/go/v11 v11.0.0/go.mod h1:Eg5OsL5H+e299f7u5ssuXsuHQVEGC4xei5aX110hRiI= +github.com/apache/arrow/go/v12 v12.0.0 h1:xtZE63VWl7qLdB0JObIXvvhGjoVNrQ9ciIHG2OK5cmc= +github.com/apache/arrow/go/v13 v13.0.0-20230505140406-c2f7d13e16c4 h1:52eb1WoACdMjA+mN9205EboLaS4MIoT1UZ859D3o4+0= github.com/apache/iotdb-client-go v0.12.2-0.20220722111104-cd17da295b46 h1:28HyUQcr8ZCyCAatR0gkf9PuLr52U2T+66tx5Th0nxI= github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= github.com/apache/thrift v0.13.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= -github.com/apache/thrift v0.17.0 h1:cMd2aj52n+8VoAtvSvLn4kDC3aZ6IAkBuqWQ2IDu7wo= +github.com/apache/thrift v0.18.1 h1:lNhK/1nqjbwbiOPDBPFJVKxgDEGSepKuTh6OLiXW8kg= github.com/aristanetworks/glog v0.0.0-20191112221043-67e8567f59f3 h1:Bmjk+DjIi3tTAU0wxGaFbfjGUqlxxSXARq9A96Kgoos= github.com/aristanetworks/goarista v0.0.0-20190325233358-a123909ec740 h1:FD4/ikKOFxwP8muWDypbmBWc634+YcAs3eBrYAmRdZY= github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= -github.com/armon/go-metrics v0.3.10 h1:FR+drcQStOe+32sYyJYyZ7FIdgoGGBnwLl+flodp8Uo= +github.com/armon/go-metrics v0.4.1 h1:hR91U9KYmb6bLBYLQjyM+3j+rcd/UhE+G78SFnF8gJA= github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/aryann/difflib v0.0.0-20170710044230-e206f873d14a/go.mod h1:DAHtR1m6lCRdSC2Tm3DSWRPvIPr6xNKyeHdqDQSQT+A= @@ -171,53 +173,54 @@ github.com/aws/aws-sdk-go v1.34.28/go.mod h1:H7NKnBqNVzoTJpGfLrQkkD+ytBA93eiDYi/ github.com/aws/aws-sdk-go v1.38.3/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro= github.com/aws/aws-sdk-go-v2 v0.18.0/go.mod h1:JWVYvqSMppoMJC0x5wdwiImzgXTI9FuZwxzkQq9wy+g= github.com/aws/aws-sdk-go-v2 v1.9.2/go.mod h1:cK/D0BBs0b/oWPIcX/Z/obahJK1TT7IPVjy53i/mX/4= -github.com/aws/aws-sdk-go-v2 v1.17.3 h1:shN7NlnVzvDUgPQ+1rLMSxY8OWRNDRYtiqe0p/PgrhY= -github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.8 h1:tcFliCWne+zOuUfKNRn8JdFBuWPDuISDH08wD2ULkhk= +github.com/aws/aws-sdk-go-v2 v1.18.0 h1:882kkTpSFhdgYRKVZ/VCgf7sd0ru57p2JCxz4/oN5RY= +github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.10 h1:dK82zF6kkPeCo8J1e+tGx4JdvDIQzj7ygIoLg8WMuGs= github.com/aws/aws-sdk-go-v2/config v1.8.3/go.mod h1:4AEiLtAb8kLs7vgw2ZV3p2VZ1+hBavOc84hqxVNpCyw= -github.com/aws/aws-sdk-go-v2/config v1.17.8 h1:b9LGqNnOdg9vR4Q43tBTVWk4J6F+W774MSchvKJsqnE= +github.com/aws/aws-sdk-go-v2/config v1.18.8 h1:lDpy0WM8AHsywOnVrOHaSMfpaiV2igOw8D7svkFkXVA= github.com/aws/aws-sdk-go-v2/credentials v1.4.3/go.mod h1:FNNC6nQZQUuyhq5aE5c7ata8o9e4ECGmS4lAXC7o1mQ= -github.com/aws/aws-sdk-go-v2/credentials v1.13.2 h1:F/v1w0XcFDZjL0bCdi9XWJenoPKjGbzljBhDKcryzEQ= +github.com/aws/aws-sdk-go-v2/credentials v1.13.20 h1:oZCEFcrMppP/CNiS8myzv9JgOzq2s0d3v3MXYil/mxQ= github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue v1.2.0 h1:8kvinmbIDObqsWegKP0JjeanYPiA4GUVpAtciNWE+jw= github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.6.0/go.mod h1:gqlclDEZp4aqJOancXK6TN24aKhT0W0Ae9MHk3wzTMM= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.12.19 h1:E3PXZSI3F2bzyj6XxUXdTIfvp425HHhwKsFvmzBwHgs= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.3 h1:jJPgroehGvjrde3XufFIJUZVK5A2L9a3KwSFgKy9n8w= github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.7.1 h1:p9Dys1g2YdaqMalnp6AwCA+tpMMdJNGw5YYKP/u3sUk= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.27 h1:I3cakv2Uy1vNmmhRQmFptYDxOvBnwCdNwyw63N0RaRU= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.21 h1:5NbbMrIzmUn/TXFqAle6mgrH5m9cOvMLRGL7pnG8tRE= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.33 h1:kG5eQilShqmJbv11XL1VpyDbaEJzWxd4zRiCG30GSn4= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.27 h1:vFQlirhuM8lLlpI7imKOMsjdQLuN9CPi+k44F/OFVsk= github.com/aws/aws-sdk-go-v2/internal/ini v1.2.4/go.mod h1:ZcBrrI3zBKlhGFNYWvju0I3TR93I7YIgAfy82Fh4lcQ= -github.com/aws/aws-sdk-go-v2/internal/ini v1.3.24 h1:wj5Rwc05hvUSvKuOF29IYb9QrCLjU+rHAy/x/o0DK2c= +github.com/aws/aws-sdk-go-v2/internal/ini v1.3.28 h1:KeTxcGdNnQudb46oOl4d90f2I33DF/c6q3RnZAmvQdQ= github.com/aws/aws-sdk-go-v2/service/appconfig v1.4.2/go.mod h1:FZ3HkCe+b10uFZZkFdvf98LHW21k49W8o8J366lqVKY= -github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.21.6 h1:Mwb2A5ygEijjkxgM3hVEiWSHwdH82nkyU2wgP4u/Hxk= -github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.15.13 h1:GHcZP8i1OaVLCQ3ZBl5P/r8F9UUeSH3vD3HQS4sx4Ag= +github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.25.9 h1:7jgW378oM948BxuOBarXeeaKSrRaCj7didsdeSwYGGo= +github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.20.9 h1:sXs+JjIwgKA27t+5O8YgXl0cmZpEmctyDVO5y6cMdqA= github.com/aws/aws-sdk-go-v2/service/dynamodb v1.17.3 h1:2oB4ikNEMLaPtu6lbNFJyTSayBILvrOfa2VfOffcuvU= github.com/aws/aws-sdk-go-v2/service/dynamodbstreams v1.4.0 h1:QbFWJr2SAyVYvyoOHvJU6sCGLnqNT94ZbWElJMEI1JY= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.10 h1:dpiPHgmFstgkLG07KaYAewvuptq5kvo52xn7tVSrtrQ= -github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.7.19 h1:V03dAtcAN4Qtly7H3/0B6m3t/cyl4FgyKFqK738fyJw= +github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.7.23 h1:5AwQnYQT3ZX/N7hPTAx4ClWyucaiqr2esQRMNbJIby0= github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.3.2/go.mod h1:72HRZDLMtmVQiLG2tLfQcaWLCssELvGl+Zf2WVxMmR8= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.21 h1:5C6XgTViSb0bunmU57b3CT+MhxULqHH2721FVA+/kDM= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.27 h1:0iKliEXAcCa2qVtRs7Ot5hItA2MsufrphbRFlz1Owxo= github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.9.0 h1:0BOlTqnNnrEO04oYKzDxMMe68t107pmIotn18HtVonY= -github.com/aws/aws-sdk-go-v2/service/kinesis v1.15.19 h1:qVaBkJxFxm6o/9DPNnJU6L9O3V7ycEKhCvRm2BFBQTU= +github.com/aws/aws-sdk-go-v2/service/kinesis v1.17.8 h1:9Kk24woetm1Tm4cAZNoJStJW1VQAeh92lLD9XZ4176g= github.com/aws/aws-sdk-go-v2/service/s3 v1.19.0 h1:5mRAms4TjSTOGYsqKYte5kHr1PzpMJSyLThjF3J+hw0= github.com/aws/aws-sdk-go-v2/service/sso v1.4.2/go.mod h1:NBvT9R1MEF+Ud6ApJKM0G+IkPchKS7p7c2YPKwHmBOk= -github.com/aws/aws-sdk-go-v2/service/sso v1.11.25 h1:GFZitO48N/7EsFDt8fMa5iYdmWqkUDDB3Eje6z3kbG0= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.13.8 h1:jcw6kKZrtNfBPJkaHrscDOZoe5gvi9wjudnxvozYFJo= +github.com/aws/aws-sdk-go-v2/service/sso v1.12.8 h1:5cb3D6xb006bPTqEfCNaEA6PPEfBXxxy4NNeX/44kGk= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.14.8 h1:NZaj0ngZMzsubWZbrEFSB4rgSQRbFq38Sd6KBxHuOIU= github.com/aws/aws-sdk-go-v2/service/sts v1.7.2/go.mod h1:8EzeIqfWt2wWT4rJVu3f21TfrhJ8AEMzVybRNSb/b4g= -github.com/aws/aws-sdk-go-v2/service/sts v1.17.4 h1:YNncBj5dVYd05i4ZQ+YicOotSXo0ufc9P8kTioi13EM= -github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.14.5 h1:GSHbD9kvt0AfuPJClqzByC2Y+RkDBtT1UUr+ZtVtttU= +github.com/aws/aws-sdk-go-v2/service/sts v1.19.0 h1:2DQLAKDteoEDI8zpCzqBMaZlJuoE9iTYD0gFmXVax9E= +github.com/aws/aws-sdk-go-v2/service/timestreamwrite v1.16.0 h1:HHVOprdnZxhM6F5JgljW8nCklfwUyOlbd/wuca6vORA= github.com/aws/smithy-go v1.8.0/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/aws/smithy-go v1.13.5 h1:hgz0X/DX0dGqTYpGALqXJoRKRj5oQ7150i5FdTePzO8= github.com/awslabs/kinesis-aggregation/go v0.0.0-20210630091500-54e17340d32f h1:Pf0BjJDga7C98f0vhw+Ip5EaiE07S3lTKpIYPNS0nMo= -github.com/benbjohnson/clock v1.3.0 h1:ip6w0uFQkncKQ979AypyG0ER7mqUSBdKLOgAle/AT8A= -github.com/benbjohnson/clock v1.3.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= +github.com/benbjohnson/clock v1.3.3 h1:g+rSsSaAzhHJYcIQE78hJ3AhyjjtQvleKDjlhdBnIhc= +github.com/benbjohnson/clock v1.3.3/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= github.com/blues/jsonata-go v1.5.4 h1:XCsXaVVMrt4lcpKeJw6mNJHqQpWU751cnHdCFUq3xd8= -github.com/blues/jsonata-go v1.5.4/go.mod h1:uns2jymDrnI7y+UFYCqsRTEiAH22GyHnNXrkupAVFWI= github.com/bmatcuk/doublestar/v3 v3.0.0 h1:TQtVPlDnAYwcrVNB2JiGuMc++H5qzWZd9PhkNo5WyHI= github.com/bmizerany/pat v0.0.0-20170815010413-6226ea591a40/go.mod h1:8rLXio+WjiTceGBHIoTvn60HIbs7Hm7bcHjyrSqYB9c= github.com/boltdb/bolt v1.3.1/go.mod h1:clJnj/oiGkjum5o1McbSZDSLxVThjynRyGBgiAx27Ps= +github.com/boschrexroth/ctrlx-datalayer-golang v1.3.0 h1:rwOJNZEGwMGbKziTcGpcoMdK0lfZE78lxR+UzLw+pRM= +github.com/bufbuild/protocompile v0.4.0 h1:LbFKd2XowZvQ/kajzguUp2DC9UEIQhIq77fZZlaQsNA= github.com/c-bata/go-prompt v0.2.2/go.mod h1:VzqtzE2ksDBcdln8G7mk2RX9QyGjH+OVqOCSiVIqS34= github.com/caio/go-tdigest v3.1.0+incompatible h1:uoVMJ3Q5lXmVLCCqaMGHLBWnbGoN6Lpu7OAUPR60cds= github.com/casbin/casbin/v2 v2.1.2/go.mod h1:YcPU1XXisHhLzuxH9coDNf2FbKpjGlbCg3n9yuLkIJQ= @@ -235,18 +238,22 @@ github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XL github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= -github.com/cisco-ie/nx-telemetry-proto v0.0.0-20220628142927-f4160bcb943c h1:k3y2XtIffIk230a+e0d7vbs5ebTvH3OcCMKN/jS6IAY= +github.com/cisco-ie/nx-telemetry-proto v0.0.0-20230117155933-f64c045c77df h1:GmrltUp5Qf5XhT+LmqMDizsgm/6VHTSxPWRdrq21yRo= +github.com/clarify/clarify-go v0.2.4 h1:4MH6UHS3PFSNeitAkS/k3ur6ASxZpiRa6EezkbCVLVs= github.com/clbanning/x2j v0.0.0-20191024224557-825249438eec/go.mod h1:jMjuTZXRI4dUb/I5gc9Hdhagfvm9+RyrPryS/auMzxE= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= +github.com/cloudevents/sdk-go/v2 v2.14.0 h1:Nrob4FwVgi5L4tV9lhjzZcjYqFVyJzsA56CwPaPfv6s= github.com/cloudflare/golz4 v0.0.0-20150217214814-ef862a3cdc58 h1:F1EaeKL/ta07PY/k9Os/UFtwERei2/XzGemhpGnBKNg= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= +github.com/compose-spec/compose-go v1.13.4 h1:O6xAsPqaY1s9KXteiO7wRCDTJLahv1XP/z/eUO9EfbI= +github.com/compose-spec/compose-go v1.13.4/go.mod h1:rsiZ8uaOHJYJemDBzTe9UBpaq5ZFVEOO4TxM2G3SJxk= github.com/containerd/containerd v1.4.3/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= github.com/containerd/containerd v1.6.18 h1:qZbsLvmyu+Vlty0/Ex5xc0z2YtKpIsb5n45mAMI+2Ns= -github.com/coocood/freecache v1.2.2 h1:UPkJCxhRujykq1jXuwxAPgDHnm6lKGrLZPnuHzgWRtE= +github.com/coocood/freecache v1.2.3 h1:lcBwpZrwBZRZyLk/8EMyQVXRiFl663cCuMOrjCALeto= github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= github.com/coreos/go-semver v0.3.1 h1:yi21YpKnrx1gt5R+la8n5WgS0kCrsPp33dmEyHReZr4= @@ -279,9 +286,9 @@ github.com/dimchansky/utfbom v1.1.1 h1:vV6w1AhK4VMnhBno/TPVCoK9U/LP0PkLCS9tbxHdi github.com/djherbis/times v1.5.0 h1:79myA211VwPhFTqUk8xehWrsEO+zcIZj0zT8mXPVARU= github.com/dnaeon/go-vcr v1.0.1/go.mod h1:aBB1+wY4s93YsC3HHjMBMrwTj2R9FHDzUr9KyGc8n1E= github.com/docker/distribution v2.7.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= -github.com/docker/distribution v2.8.1+incompatible h1:Q50tZOPR6T/hjNsyc9g8/syEs6bk8XXApsHjKukMl68= +github.com/docker/distribution v2.8.2+incompatible h1:T3de5rq0dB1j30rp0sA2rER+m322EBzniBPB6ZIzuh8= github.com/docker/docker v20.10.5+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= -github.com/docker/docker v23.0.0+incompatible h1:L6c28tNyqZ4/ub9AZC9d5QUuunoHHfEH4/Ue+h/E5nE= +github.com/docker/docker v23.0.4+incompatible h1:Kd3Bh9V/rO+XpTP/BLqM+gx8z7+Yb0AA2Ibj+nNo4ek= github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ= github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec= github.com/docker/go-units v0.3.3/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= @@ -291,11 +298,12 @@ github.com/doclambda/protobufquery v0.0.0-20220727165953-0da287796ee9 h1:677nbAF github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= +github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY= github.com/dynatrace-oss/dynatrace-metric-utils-go v0.5.0 h1:wHGPJSXvwKQVf/XfhjUPyrhpcPKWNy8F3ikH+eiwoBg= github.com/eapache/go-resiliency v1.1.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs= github.com/eapache/go-resiliency v1.3.0 h1:RRL0nge+cWGlxXbUzJ7yMcq6w2XBEr19dCN6HECGaT0= -github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21 h1:YEetp8/yCZMuEPMUDHG0CW/brkkEp8mzqk2+ODEitlw= github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1:+020luEh2TKB4/GOp8oxxtq0Daoen/Cii55CzbTV6DU= +github.com/eapache/go-xerial-snappy v0.0.0-20230111030713-bf00bc1b83b6 h1:8yY/I9ndfrgrXUbOGObLHKBR4Fl3nZXwM2c7OYTT8hM= github.com/eapache/queue v1.1.0 h1:YOEu7KNc61ntiQlcEeUIoDTJ2o8mQznoNvUhiigpIqc= github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I= github.com/eclipse/paho.golang v0.10.0 h1:oUGPjRwWcZQRgDD9wVDV7y7i7yBSxts3vcvcNJo8B4Q= @@ -305,7 +313,7 @@ github.com/edsrzf/mmap-go v1.0.0/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaB github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc= github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633 h1:H2pdYOb3KQ1/YsqVWoWNLQO+fusocsw354rqGTZtAgw= github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= -github.com/emicklei/go-restful/v3 v3.8.0 h1:eCZ8ulSerjdAiaNpF7GxXIE7ZCMo1moN1qX+S609eVw= +github.com/emicklei/go-restful/v3 v3.10.1 h1:rc42Y5YTp7Am7CS630D7JmhRjq4UlEUuEKfrDac4bSQ= github.com/envoyproxy/go-control-plane v0.6.9/go.mod h1:SBwIajubJHhxtWwsL9s8ss4safvEdbitLhGGK48rN6g= github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= @@ -317,8 +325,8 @@ github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7 github.com/evanphx/json-patch v4.9.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU= -github.com/fatih/color v1.13.0 h1:8LOYc1KYPPmyKMuN8QV2DNRWNbLo6LZ0iLs8+mlH53w= -github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= +github.com/fatih/color v1.15.0 h1:kOqh6YHBtK8aywxGerMG2Eq3H6Qgoqeo13Bk2Mv/nBs= +github.com/fatih/color v1.15.0/go.mod h1:0h5ZqXfHYED7Bhv2ZJamyIOUej9KtShiJESRwBDUSsw= github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M= github.com/felixge/httpsnoop v1.0.3 h1:s/nj+GCswXYzN5v2DpNMuMQYe+0DDwt5WVCU6CWBdXk= github.com/felixge/httpsnoop v1.0.3/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= @@ -392,14 +400,14 @@ github.com/go-openapi/jsonpointer v0.17.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwds github.com/go-openapi/jsonpointer v0.18.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M= github.com/go-openapi/jsonpointer v0.19.2/go.mod h1:3akKfEdA7DF1sugOqz1dVQHBcuDBPKZGEoHC/NkiQRg= github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= -github.com/go-openapi/jsonpointer v0.19.5 h1:gZr+CIYByUqjcgeLXnQu2gHYQC9o73G2XUeOFYEICuY= github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= +github.com/go-openapi/jsonpointer v0.19.6 h1:eCs3fxoIi3Wh6vtgmLTOjdhSpiqphQ+DaPn38N2ZdrE= github.com/go-openapi/jsonreference v0.17.0/go.mod h1:g4xxGn04lDIRh0GJb5QlpE3HfopLOL6uZrK/VgnsK9I= github.com/go-openapi/jsonreference v0.18.0/go.mod h1:g4xxGn04lDIRh0GJb5QlpE3HfopLOL6uZrK/VgnsK9I= github.com/go-openapi/jsonreference v0.19.2/go.mod h1:jMjeRr2HHw6nAVajTXJ4eiUwohSTlpa0o73RUL1owJc= github.com/go-openapi/jsonreference v0.19.3/go.mod h1:rjx6GuL8TTa9VaixXglHmQmIL98+wF9xc8zWvFonSJ8= github.com/go-openapi/jsonreference v0.19.5/go.mod h1:RdybgQwPxbL4UEjuAruzK1x3nE69AqPYEJeo/TWfEeg= -github.com/go-openapi/jsonreference v0.20.0 h1:MYlu0sBgChmCfJxxUKZ8g1cPWFOB37YSZqewK7OKeyA= +github.com/go-openapi/jsonreference v0.20.2 h1:3sVjiK66+uXK/6oQ8xgcRKcFgQ5KXa2KvnJRumpMGbE= github.com/go-openapi/loads v0.17.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU= github.com/go-openapi/loads v0.18.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU= github.com/go-openapi/loads v0.19.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU= @@ -445,7 +453,7 @@ github.com/go-openapi/swag v0.19.9/go.mod h1:ao+8BpOPyKdpQz3AOJfbeEVpLmWAvlT1IfT github.com/go-openapi/swag v0.19.12/go.mod h1:eFdyEBkTdoAf/9RXBvj4cr1nH7GD8Kzo5HTt47gr72M= github.com/go-openapi/swag v0.19.13/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= github.com/go-openapi/swag v0.19.14/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= -github.com/go-openapi/swag v0.22.1 h1:S6xFhsBKAtvfphnJwRzeCh3OEGsTL/crXdEetSxLs0Q= +github.com/go-openapi/swag v0.22.3 h1:yMBqmnQ0gyZvEb/+KzuWZOXgllrXT4SADYbvDaXHv/g= github.com/go-openapi/validate v0.18.0/go.mod h1:Uh4HdOzKt19xGIGm1qHf/ofbX1YQ4Y+MYsct2VUrAJ4= github.com/go-openapi/validate v0.19.2/go.mod h1:1tRCw7m3jtI8eNWEEliiAqUIcBztB2KDnRCRMUi7GTA= github.com/go-openapi/validate v0.19.3/go.mod h1:90Vh6jjkTn+OT1Eefm0ZixWNFjhtOH7vS9k0lo6zwJo= @@ -492,7 +500,7 @@ github.com/gobuffalo/packr/v2 v2.2.0/go.mod h1:CaAwI0GPIAv+5wKLtv8Afwl+Cm78K/I/V github.com/gobuffalo/syncx v0.0.0-20190224160051-33c29581e754/go.mod h1:HhnNqWY95UYwwW3uSASeV7vtgYkT2t16hJgV3AEPUpw= github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y= github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8= -github.com/goccy/go-json v0.9.11 h1:/pAaQDLHEoCq/5FFmSKBswWmK6H0e8g4159Kc/X/nqk= +github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/gofrs/uuid v3.3.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= github.com/gofrs/uuid v4.2.0+incompatible h1:yyYWMnhkhrKwwr8gAOcOCYxOOscHgDS9yZgBrnJfGa0= @@ -505,7 +513,7 @@ github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXP github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang-jwt/jwt v3.2.1+incompatible h1:73Z+4BJcrTC+KczS6WvTPvRGOp1WmfEP4Q1lOd9Z/+c= -github.com/golang-jwt/jwt/v4 v4.4.2 h1:rcc4lwaZgFMCZ5jxF9ABolDcIHdBytAFgqFPbSJQAYs= +github.com/golang-jwt/jwt/v4 v4.5.0 h1:7cYmW1XlMY7h7ii7UhUyChSgS5wUJEnm9uZVTGqOWzg= github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe h1:lXe2qZdvpiX5WZkZR4hgp4KJVfY3nMkvmwbVkpv1rVY= github.com/golang-sql/sqlexp v0.1.0 h1:ZCD6MBpcuOVfGVqsEmY5/4FtYiKz6tSyUv9LPEDei6A= github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= @@ -550,9 +558,11 @@ github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= +github.com/google/cel-go v0.14.1-0.20230424164844-d39523c445fc h1:jd+stC3Fqf9kaqgCLOdm4Da/AN3txPTlmLB6tStXAcU= +github.com/google/cel-go v0.14.1-0.20230424164844-d39523c445fc/go.mod h1:YzWEoI07MC/a/wj9in8GeVatqfypkldgBlwXh9bCwqY= github.com/google/flatbuffers v1.11.0/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8= -github.com/google/flatbuffers v22.9.30-0.20221019131441-5792623df42e+incompatible h1:Bqgl5d9t2UlT8pv9Oc/lkkI8yYk0jCwHkZKkHzbxEsc= -github.com/google/gnostic v0.5.7-v3refs h1:FhTMOKj2VhjpouxvWJAV1TL304uMlb9zcDqkl6cEI54= +github.com/google/flatbuffers v23.3.3+incompatible h1:5PJI/WbJkaMTvpGxsHVKG/LurN/KnWXNyGpwSCDgen0= +github.com/google/gnostic v0.6.9 h1:ZK/5VhkoX835RikCHpSUJV9a+S3e1zLh59YnyWeBW+0= github.com/google/gnxi v0.0.0-20221016143401-2aeceb5a2901 h1:xlsMG0I0F6Ou3a4zRWu3cThivTt2N2V1cZafIloTBTU= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= @@ -571,11 +581,12 @@ github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeN github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-github/v32 v32.1.0 h1:GWkQOdXqviCPx7Q7Fj+KyPoGm4SwHRh8rheoPhd27II= -github.com/google/go-querystring v1.0.0 h1:Xkwi/a1rcvNg1PPYe5vI8GbeBY/jrVuDX5ASuANWTrk= github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck= +github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= +github.com/google/gopacket v1.1.19 h1:ves8RnFZPGiFnTS0uPQStjwru6uO6h+nlr9j6fL7kF8= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= @@ -592,15 +603,16 @@ github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLe github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210323184331-8eee2492667d/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= +github.com/google/s2a-go v0.1.3 h1:FAgZmpLl/SXurPEZyCMPBIiiYeTbqfjlbdnCNTAkbGE= github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/googleapis/enterprise-certificate-proxy v0.2.1 h1:RY7tHKZcRlk788d5WSo/e83gOyyy742E8GSs771ySpg= +github.com/googleapis/enterprise-certificate-proxy v0.2.3 h1:yk9/cqRKtT9wXZSsRH9aurXEpJX+U6FLtpYTdC3R06k= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= -github.com/googleapis/gax-go/v2 v2.7.0 h1:IcsPKeInNvYi7eqSaDjiZqDDKu5rsmunY0Y1YupQSSQ= +github.com/googleapis/gax-go/v2 v2.8.0 h1:UBtEZqx1bjXtOQ5BVTkuYghXrr3N4V123VKJK67vJZc= github.com/googleapis/gnostic v0.4.1/go.mod h1:LRhVm6pbyptWbWbuZ38d1eyptfvIytN3ir6b65WBswg= github.com/gopcua/opcua v0.3.7 h1:iGjLW3D+ztnjtZQPKsJ0nwibHyDw1m11NfqOU8KSFQ8= github.com/gophercloud/gophercloud v0.16.0/go.mod h1:wRtmUelyIIv3CSSDI47aUwbs075O6i+LY+pXsKCBsb4= @@ -623,14 +635,14 @@ github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgf github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= github.com/grpc-ecosystem/grpc-gateway v1.16.0 h1:gmcG1KaJ57LophUzW0Hy8NmPhnMZb4M0+kPpLofRdBo= github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.0 h1:BZHcxBETFHIdVyhyEfOvn/RdU/QGdLI4y34qQGjGWO0= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0 h1:YBftPWNWd4WwGqtY2yeZL2ef8rHAxPBD8KFhJpmcqms= github.com/gwos/tcg/sdk v0.0.0-20220621192633-df0eac0a1a4c h1:pVr0TkSFnMP4BWSsEak/4bxD8/K+foJ9V8DGyZ6PIDE= github.com/hailocab/go-hostpool v0.0.0-20160125115350-e80d13ce29ed h1:5upAirOpQc1Q53c0bnx2ufif5kANL7bfZWcc6VJWJd8= github.com/harlow/kinesis-consumer v0.3.6-0.20211204214318-c2b9f79d7ab6 h1:38nI+nE+oUmLmlNjuByhvnmuBrcQVLNkOJhSSM4eJv0= github.com/hashicorp/consul/api v1.3.0/go.mod h1:MmDNSzIMUjNpY/mQ398R4bk2FnqQLoPndWW5VkKPlCE= github.com/hashicorp/consul/api v1.8.1/go.mod h1:sDjTOq0yUyv5G4h+BqSea7Fn6BU+XbolEz1952UB+mk= github.com/hashicorp/consul/api v1.13.0/go.mod h1:ZlVrynguJKcYr54zGaDbaL3fOvKC9m72FhPvA8T35KQ= -github.com/hashicorp/consul/api v1.18.0 h1:R7PPNzTCeN6VuQNDwwhZWJvzCtGSrNpJqfb22h3yH9g= +github.com/hashicorp/consul/api v1.20.0 h1:9IHTjNVSZ7MIwjlW3N3a7iGiykCMDpxZu8jsxFJh0yc= github.com/hashicorp/consul/sdk v0.3.0/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= github.com/hashicorp/consul/sdk v0.7.0/go.mod h1:fY08Y9z5SvJqevyZNy6WWPXiG3KwBPAvlcdx16zZ0fM= github.com/hashicorp/consul/sdk v0.8.0/go.mod h1:GBvyrGALthsZObzUGsfgHZQDXjg4lOjagTIwIR1vPms= @@ -666,7 +678,7 @@ github.com/hashicorp/go-version v1.2.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09 github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/hashicorp/golang-lru v0.5.4 h1:YDjusn29QI/Das2iO9M0BHnIbxPeyuCHsjMW+lJfyTc= +github.com/hashicorp/golang-lru v0.6.0 h1:uL2shRDx7RTrOrTCUZEGP/wJUFiUI8QT6E7z5o8jga4= github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= @@ -694,7 +706,7 @@ github.com/hudl/fargo v1.3.0/go.mod h1:y3CKSmjA+wD2gak7sUSXTAoopbhU08POFhmITJgmK github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/imdario/mergo v0.3.5/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= -github.com/imdario/mergo v0.3.12 h1:b6R2BslTbIEToALKP7LxUvijTsNI9TAe80pLWN2g/HU= +github.com/imdario/mergo v0.3.15 h1:M8XP7IuFNsqUx6VPK2P9OSmsYsI/YFaGil0uD21V3dM= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= @@ -720,20 +732,18 @@ github.com/influxdata/promql/v2 v2.12.0/go.mod h1:fxOPu+DY0bqCTCECchSRtWfc+0X19y github.com/influxdata/roaring v0.4.13-0.20180809181101-fc520f41fab6/go.mod h1:bSgUQ7q5ZLSO+bKBGqJiCBGAl+9DxyW63zLTujjUlOE= github.com/influxdata/tail v1.0.1-0.20210707231403-b283181d1fa7 h1:0rQOs1VHLVFpAAOIR0mJEvVOIaMYFgYdreeVbgI9sII= github.com/influxdata/tdigest v0.0.0-20181121200506-bf2b5ad3c0a9/go.mod h1:Js0mqiSBE6Ffsg94weZZ2c+v/ciT8QRHFOap7EKDrR0= -github.com/influxdata/telegraf v1.25.3 h1:+Dq6FhMQfR1MqEWvUXfo7IjHx6D4if1eQUDiVT4j8P8= -github.com/influxdata/telegraf v1.25.3/go.mod h1:1LoLDNuXSrFDpvKyhiKx+FTDVaaASrFiPSx30hMEvmw= github.com/influxdata/toml v0.0.0-20190415235208-270119a8ce65 h1:vvyMtD5LTJc1W9sQKjDkAWdcg0478CszSdzlHtiAXCY= github.com/influxdata/toml v0.0.0-20190415235208-270119a8ce65/go.mod h1:zApaNFpP/bTpQItGZNNUMISDMDAnTXu9UqJ4yT3ocz8= github.com/influxdata/usage-client v0.0.0-20160829180054-6d3895376368/go.mod h1:Wbbw6tYNvwa5dlB6304Sd+82Z3f7PmVZHVKU637d4po= github.com/influxdata/wlog v0.0.0-20160411224016-7c63b0a71ef8 h1:W2IgzRCb0L9VzMujq/QuTaZUKcH8096jWwP519mHN6Q= -github.com/intel/iaevents v1.0.0 h1:J8lETV13FMImV0VbOrKhkA790z7+cAHQ/28gbiefu7E= +github.com/intel/iaevents v1.1.0 h1:FzxMBfXk/apG2EUXUCfaq3gUQ+q+TgZ1HNMjjUILUGE= github.com/jackc/chunkreader/v2 v2.0.1 h1:i+RDz65UE+mmpjTfyz0MoVTnzeYxroil2G82ki7MGG8= -github.com/jackc/pgconn v1.13.0 h1:3L1XMNV2Zvca/8BYhzcRFS70Lr0WlDg16Di6SFGAbys= +github.com/jackc/pgconn v1.14.0 h1:vrbA9Ud87g6JdFWkHTJXppVce58qPIdP7N8y0Ml/A7Q= github.com/jackc/pgio v1.0.0 h1:g12B9UwVnzGhueNavwioyEEpAmqMe1E/BN9ES+8ovkE= github.com/jackc/pgpassfile v1.0.0 h1:/6Hmqy13Ss2zCq62VdNG8tM1wchn8zjSGOBJ6icpsIM= -github.com/jackc/pgproto3/v2 v2.3.1 h1:nwj7qwf0S+Q7ISFfBndqeLwSwxs+4DPsbRFjECT1Y4Y= -github.com/jackc/pgservicefile v0.0.0-20200714003250-2b9c44734f2b h1:C8S2+VttkHFdOOCXJe+YGfa4vHYwlt4Zx+IVXQ97jYg= -github.com/jackc/pgtype v1.12.0 h1:Dlq8Qvcch7kiehm8wPGIW0W3KsCCHJnRacKW0UM8n5w= +github.com/jackc/pgproto3/v2 v2.3.2 h1:7eY55bdBeCz1F2fTzSz69QC+pG46jYq9/jtSPiJ5nn0= +github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a h1:bbPeKD0xmW/Y25WS6cokEszi5g+S0QxI/d45PkRi7Nk= +github.com/jackc/pgtype v1.14.0 h1:y+xUdabmyMkJLyApYuPj38mW+aAIqCe5uuBB51rH3Vw= github.com/jackc/pgx/v4 v4.17.1 h1:tASdE79tX9LOQu3MMvioWT6YaZkf58ZhmLHhV4sv5WM= github.com/jackc/puddle v1.3.0 h1:eHK/5clGOatcjX3oWGBO/MpxpbHzSwud5EWTSCI+MX0= github.com/jaegertracing/jaeger v1.41.0 h1:vVNky8dP46M2RjGaZ7qRENqylW+tBFay3h57N16Ip7M= @@ -744,8 +754,9 @@ github.com/jcmturner/dnsutils/v2 v2.0.0 h1:lltnkeZGL0wILNvrNiVCR6Ro5PGU/SeBvVO/8 github.com/jcmturner/gofork v1.7.6 h1:QH0l3hzAU1tfT3rZCnW5zXl+orbkNMMRGJfdJjHVETg= github.com/jcmturner/gokrb5/v8 v8.4.3 h1:iTonLeSJOn7MVUtyMT+arAn5AKAPrkilzhGw8wE/Tq8= github.com/jcmturner/rpc/v2 v2.0.3 h1:7FXXj8Ti1IaVFpSAziCZWNzbNuZmnvw/i6CqLNdWfZY= +github.com/jeremywohl/flatten/v2 v2.0.0-20211013061545-07e4a09fb8e4 h1:eA9wi6ZzpIRobvXkn/S2Lyw1hr2pc71zxzOPl7Xjs4w= github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= -github.com/jhump/protoreflect v1.8.3-0.20210616212123-6cc1efa697ca h1:a0GZUdb+qnutF8shJxr2qs2qT3fnF+ptxTxPB8+oIvk= +github.com/jhump/protoreflect v1.15.1 h1:HUMERORf3I3ZdX05WaQ6MIpd/NJ434hTp5YiKgfCL6c= github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg= github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= @@ -776,7 +787,7 @@ github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E github.com/jwilder/encoding v0.0.0-20170811194829-b4e1701a28ef/go.mod h1:Ct9fl0F6iIOGgxJ5npU/IUOhOhqlVrGjyIZc8/MagT0= github.com/karrick/godirwalk v1.8.0/go.mod h1:H5KPZjojv4lE+QYImBI8xVtrBRgYrIVsaRPx4tDPEn4= github.com/karrick/godirwalk v1.10.3/go.mod h1:RoGL9dQei4vP9ilrpETWE8CLOZ1kiN0LhBygSwrAsHA= -github.com/karrick/godirwalk v1.17.0 h1:b4kY7nqDdioR/6qnbHQyDvmA17u5G1cZ6J+CZXwSWoI= +github.com/karrick/godirwalk v1.16.2 h1:eY2INUWoB2ZfpF/kXasyjWJ3Ncuof6qZuNWYZFN3kAI= github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 h1:Z9n2FFNUXsshfwJMBgNA0RU6/i7WVaAegv3PtuIHPMs= github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= @@ -789,12 +800,12 @@ github.com/klauspost/compress v1.16.5 h1:IFV2oUNUzZaz+XyusxpLzpzS8Pt5rh0Z16For/d github.com/klauspost/compress v1.16.5/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= github.com/klauspost/cpuid v0.0.0-20170728055534-ae7887de9fa5 h1:2U0HzY8BJ8hVwDKIzp7y4voR9CX/nvcfymLmg2UiOio= github.com/klauspost/cpuid v0.0.0-20170728055534-ae7887de9fa5/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek= -github.com/klauspost/cpuid/v2 v2.0.9 h1:lgaqFMSdTdQYdZ04uHyN2d/eKdOMyi2YLSvlQIBFYa4= +github.com/klauspost/cpuid/v2 v2.2.4 h1:acbojRNwl3o09bUq+yDCtZFc1aiwaAAxtcn8YkZXnvk= github.com/klauspost/crc32 v0.0.0-20161016154125-cb6bfca970f6/go.mod h1:+ZoRqAPRLkC4NPOvfYeR5KNOrY6TD+/sAC3HXPZgDYg= github.com/klauspost/pgzip v1.0.2-0.20170402124221-0bf5dcad4ada/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQKQE9RUs= github.com/knadh/koanf v1.5.0 h1:q2TSd/3Pyc/5yP9ldIrSdIz26MCcyNQzW0pEAugLPNs= github.com/knadh/koanf v1.5.0/go.mod h1:Hgyjp4y8v44hpZtPzs7JZfRAW5AhN7KfZcwv1RYggDs= -github.com/kolo/xmlrpc v0.0.0-20201022064351-38db28db192b h1:iNjcivnc6lhbvJA3LD622NPrUponluJrBWPIwGG/3Bg= +github.com/kolo/xmlrpc v0.0.0-20220921171641-a4b6fa1dd06b h1:udzkj9S/zlT5X367kqJis0QP7YMxobob6zhzq6Yre00= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= @@ -814,6 +825,7 @@ github.com/leodido/ragel-machinery v0.0.0-20181214104525-299bdde78165 h1:bCiVCRC github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-bc2310a04743/go.mod h1:qklhhLq1aX+mtWk9cPHPzaBjWImj5ULL6C7HFJtXQMM= github.com/lightstep/lightstep-tracer-go v0.18.1/go.mod h1:jlF1pusYV4pidLvZ+XD0UBX0ZE6WURAspgAczcDHrL4= +github.com/linkedin/goavro/v2 v2.12.0 h1:rIQQSj8jdAUlKQh6DttK8wCRv4t4QO09g1C4aBWXslg= github.com/logzio/azure-monitor-metrics-receiver v1.0.0 h1:TAzhIZL2ueyyc81qIw8FGg4nUbts4Hvc3oOxSobY1IA= github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0/go.mod h1:zJYVVT2jmtg6P3p1VtQj7WsuWi/y4VnjVBn7F8KPB3I= github.com/lufia/plan9stats v0.0.0-20220913051719-115f729f3c8c h1:VtwQ41oftZwlMnOEbMWQtSEUgU64U4s+GHk7hZK+jtY= @@ -833,7 +845,6 @@ github.com/markbates/safe v1.0.1/go.mod h1:nAqgmRi7cY2nqMc92/bSEeQA+R4OheNU2T1kN github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= -github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= github.com/mattn/go-ieproxy v0.0.1 h1:qiyop7gCflfhwCzGyeT0gro3sF9AIg9HU98JORTkqfI= @@ -843,9 +854,9 @@ github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hd github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcMEpPG5Rm84= github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE= github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= -github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= -github.com/mattn/go-isatty v0.0.16 h1:bq3VjFmv/sOjHtdEhmkEV4x1AJtvUvOJ2PFAZ5+peKQ= github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= +github.com/mattn/go-isatty v0.0.19 h1:JITubQf0MOLdlGRuRq+jtsDlekdYPia9ZFsB8h/APPA= +github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-runewidth v0.0.3/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-sqlite3 v1.11.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= @@ -861,7 +872,7 @@ github.com/microsoft/ApplicationInsights-Go v0.4.4 h1:G4+H9WNs6ygSCe6sUyxRc2U81T github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= github.com/miekg/dns v1.1.26/go.mod h1:bPDLeHnStXmXAq1m/Ch/hvfNHr14JKNPMBo3VZKjuso= github.com/miekg/dns v1.1.41/go.mod h1:p6aan82bvRIyn+zDIv9xYNUpwa73JcSh9BKwknJysuI= -github.com/miekg/dns v1.1.50 h1:DQUfb9uc6smULcREF09Uc+/Gd46YWqJd5DbpPE9xkcA= +github.com/miekg/dns v1.1.51 h1:0+Xg7vObnhrz/4ZCZcZh7zPXlmU0aveS2HDBd0m0qSo= github.com/minio/asm2plan9s v0.0.0-20200509001527-cdd76441f9d8 h1:AMFGa4R4MiIpspGNG7Z948v4n35fFGB3RR3G/ry4FWs= github.com/minio/c2goasm v0.0.0-20190812172519-36a3d3bbc4f3 h1:+n/aFZefKZp7spd8DFdX7uMikMLXX4oubIzJF4kv/wI= github.com/minio/highwayhash v1.0.2 h1:Aak5U0nElisjDCfPSG79Tgzkn2gl66NxOMspRrKnA/g= @@ -922,13 +933,13 @@ github.com/nats-io/jwt/v2 v2.3.0 h1:z2mA1a7tIf5ShggOFlR1oBPgd6hGqcDYsISxZByUzdI= github.com/nats-io/nats-server/v2 v2.1.2/go.mod h1:Afk+wRZqkMQs/p45uXdrVLuab3gwv3Z8C4HTBu8GD/k= github.com/nats-io/nats-server/v2 v2.9.9 h1:bmj0RhvHOc8+z5/RuhI38GqPwtkFAHQuU3e99FVA/TI= github.com/nats-io/nats.go v1.9.1/go.mod h1:ZjDU1L/7fJ09jvUSRVBR2e7+RnLiiIQyqyzEE/Zbp4w= -github.com/nats-io/nats.go v1.19.0 h1:H6j8aBnTQFoVrTGB6Xjd903UMdE7jz6DS4YkmAqgZ9Q= +github.com/nats-io/nats.go v1.24.0 h1:CRiD8L5GOQu/DcfkmgBcTTIQORMwizF+rPk6T0RaHVQ= github.com/nats-io/nkeys v0.1.0/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w= github.com/nats-io/nkeys v0.1.3/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w= github.com/nats-io/nkeys v0.3.0 h1:cgM5tL53EvYRU+2YLXIK0G2mJtK12Ft9oeooSZMA2G8= github.com/nats-io/nuid v1.0.1 h1:5iA8DT8V7q8WK2EScv2padNa/rTESc1KdnPw4TC2paw= github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c= -github.com/netsampler/goflow2 v1.1.1 h1:GpVlvPq4yRbyzoiz0Vp3XilNr5js/0UhHcQI7Ol/MDk= +github.com/netsampler/goflow2 v1.3.3 h1:uheCMgWwbaHnVdsvc2bqbdQe93E73pVF77WGu/kPE7U= github.com/newrelic/newrelic-telemetry-sdk-go v0.8.1 h1:6OX5VXMuj2salqNBc41eXKz6K+nV6OB/hhlGnAKCbwU= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= github.com/npillmayer/nestext v0.1.3/go.mod h1:h2lrijH8jpicr25dFY+oAJLyzlya6jhnuG+zWp9L0Uk= @@ -947,8 +958,6 @@ github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGV github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/influxdbexporter v0.79.0 h1:M0nSWwCj6nbBMRYFnEV7UlU9soM76EpYoe34LR04gc4= -github.com/open-telemetry/opentelemetry-collector-contrib/exporter/influxdbexporter v0.79.0/go.mod h1:MrWV5qzPzuItyqjQVKv3KRcIWn0fWdf40SrJ7t6YosA= github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckextension v0.79.0 h1:M2MgMIW8Iul33Xetpyj6UD9Fk7GMLMQNOUSq6YyubhA= github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckextension v0.79.0/go.mod h1:xATxrZnJmyBhRwsmhS/jq1ZuRGeidR+fkkl8K0QOJZI= github.com/open-telemetry/opentelemetry-collector-contrib/internal/common v0.79.0 h1:MRs7tZ9I29OwPPMTg0uLG+URsV9kClGY/sJ3D9PCrA8= @@ -960,12 +969,13 @@ github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.79.0 github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.79.0/go.mod h1:/wfeJfzu3oAkC2boitFR3dZcnwNtwzryI/SW1LIhDLo= github.com/open-telemetry/opentelemetry-collector-contrib/receiver/influxdbreceiver v0.79.0 h1:/7inX/NXP5qH38CepWZY4ZoG6J6fcHJbbuJOwVrYCu4= github.com/open-telemetry/opentelemetry-collector-contrib/receiver/influxdbreceiver v0.79.0/go.mod h1:bOFWRfsdVEIFp79P4shX3XaftU+N3L3IeiAMA/e8peQ= -github.com/openconfig/gnmi v0.0.0-20220920173703-480bf53a74d2 h1:3YLlQFLDsFTvruKoYBbuYqhCgsXMtNewSrLjNXcF/Sg= +github.com/openconfig/gnmi v0.9.1 h1:hVOdLTaRjdy68oCGJbkf2vrmnUoQ5xbINqBOAMix4xM= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= github.com/opencontainers/image-spec v1.0.1/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= github.com/opencontainers/image-spec v1.1.0-rc2 h1:2zx/Stx4Wc5pIPDvIxHXvXtQFW/7XWJGmnM7r3wg034= -github.com/opencontainers/runc v1.1.3 h1:vIXrkId+0/J2Ymu2m7VjGvbSlAId9XNRPhn2p4b+d8w= +github.com/opencontainers/runc v1.1.5 h1:L44KXEpKmfWDcS02aeGm8QNTFXTo2D+8MYGDIJ/GDEs= +github.com/opensearch-project/opensearch-go/v2 v2.2.0 h1:6RicCBiqboSVtLMjSiKgVQIsND4I3sxELg9uwWe/TKM= github.com/opentracing-contrib/go-observer v0.0.0-20170622124052-a52f23424492/go.mod h1:Ngi6UdF0k5OKD5t5wlmGhe/EDKPoUM3BXZSSfIuJbis= github.com/opentracing-contrib/go-stdlib v1.0.0/go.mod h1:qtI1ogk+2JhVPIXVc6q+NHziSmy2W5GbdQZFUHADCBU= github.com/opentracing/basictracer-go v1.0.0/go.mod h1:QfBfYuafItcjQuMwinw9GhYKwFXS9KnPs5lxoYwgW74= @@ -978,6 +988,7 @@ github.com/openzipkin-contrib/zipkin-go-opentracing v0.4.5/go.mod h1:/wsWhb9smxS github.com/openzipkin/zipkin-go v0.1.6/go.mod h1:QgAqvLzwWbR/WpD4A3cGpPtJrZXNIiJc5AZX7/PBEpw= github.com/openzipkin/zipkin-go v0.2.1/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= github.com/openzipkin/zipkin-go v0.2.2/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= +github.com/p4lang/p4runtime v1.3.0 h1:3fUhHj0JtsGcL2Bh0uxpACdBJBDqpZyLgj93tqKzoJY= github.com/pact-foundation/pact-go v1.0.4/go.mod h1:uExwJY4kCzNPcHRj+hCR/HBbOOIwwtUjcrb0b5/5kLM= github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= @@ -991,16 +1002,14 @@ github.com/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9 github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= github.com/peterh/liner v1.0.1-0.20180619022028-8c1271fcf47f/go.mod h1:xIteQHvHuaLYG9IFj6mSxM0fCKrs34IrEQUhOYuGPHc= github.com/philhofer/fwd v1.0.0/go.mod h1:gk3iGcWd9+svBvR0sR+KPcfE+RNWozjowpeBVG3ZVNU= -github.com/philhofer/fwd v1.1.1 h1:GdGcTjf5RNAxwS4QLsiMzJYj5KEvPJD3Abr261yRQXQ= -github.com/philhofer/fwd v1.1.1/go.mod h1:gk3iGcWd9+svBvR0sR+KPcfE+RNWozjowpeBVG3ZVNU= +github.com/philhofer/fwd v1.1.2 h1:bnDivRJ1EWPjUIRXV5KfORO897HTbpFAQddBdE8t7Gw= github.com/pierrec/lz4 v1.0.2-0.20190131084431-473cd7ce01a1/go.mod h1:3/3N9NVKO0jef7pBehbT1qWhCMrIgbYNnFAZCqQ5LRc= github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= github.com/pierrec/lz4 v2.6.1+incompatible h1:9UY3+iC23yxF0UfGaYrGplQ+79Rg+h/q9FV9ix19jjM= github.com/pierrec/lz4/v4 v4.1.17 h1:kV4Ip+/hUBC+8T6+2EgburRtkE9ef4nbY3f4dFhGjMc= -github.com/pion/dtls/v2 v2.2.4 h1:YSfYwDQgrxMYXLBc/m7PFY5BVtWlNm/DN4qoU2CbcWg= +github.com/pion/dtls/v2 v2.2.7 h1:cSUBsETxepsCSFSxC3mc/aDo14qQLMSL+O6IjG28yV8= github.com/pion/logging v0.2.2 h1:M9+AIj/+pxNsDfAT64+MAVgJO0rsyLnoJKCqf//DoeY= -github.com/pion/transport/v2 v2.0.0 h1:bsMYyqHCbkvHwj+eNCFBuxtlKndKfyGI2vaQmM3fIE4= -github.com/pion/udp v0.1.4 h1:OowsTmu1Od3sD6i3fQUJxJn2fEvJO6L1TidgadtbTI8= +github.com/pion/transport/v2 v2.2.1 h1:7qYnCBlpgSJNYMbLCKuSY9KbQdBFoETvPNETv0y4N7c= github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8 h1:KoWmjvw+nsYOo29YJK9vDA65RGE3NrOnUtO7a+RF9HU= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= @@ -1070,10 +1079,10 @@ github.com/prometheus/prometheus v1.8.2-0.20210430082741-2a4b8e12bbf2 h1:AHi2TGs github.com/prometheus/prometheus v1.8.2-0.20210430082741-2a4b8e12bbf2/go.mod h1:5aBj+GpLB+V5MCnrKm5+JAqEJwzDiLugOmDhgt7sDec= github.com/prometheus/statsd_exporter v0.22.7 h1:7Pji/i2GuhK6Lu7DHrtTkFmNBCudCPT1pX2CziuyQR0= github.com/prometheus/statsd_exporter v0.22.7/go.mod h1:N/TevpjkIh9ccs6nuzY3jQn9dFqnUakOjnEuMPJJJnI= -github.com/rabbitmq/amqp091-go v1.5.0 h1:VouyHPBu1CrKyJVfteGknGOGCzmOz0zcv/tONLkb7rg= +github.com/rabbitmq/amqp091-go v1.8.1 h1:RejT1SBUim5doqcL6s7iN6SBmsQqyTgXb1xMlH0h1hA= github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 h1:N/ElC8H3+5XpJzTSTfLsJV/mx9Q9g7kxmchpfZyxgzM= -github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0 h1:OdAsTTz6OkFY5QxjkYwrChwuRruF69c169dPK26NUlk= +github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec h1:W09IVJc94icq4NjY3clb7Lk8O1qJ8BdBEF8z0ibU0rE= github.com/retailnext/hllpp v1.0.1-0.20180308014038-101a6d2f8b52/go.mod h1:RDpi1RftBQPUCDRw6SmxeaREsAaRKnOclghuzp/WRzc= github.com/rhnvrm/simples3 v0.6.1/go.mod h1:Y+3vYm2V7Y4VijFoJHHTrja6OgPrJ2cBti8dPGkC3sA= github.com/riemann/riemann-go-client v0.5.1-0.20211206220514-f58f10cdce16 h1:bGXoxRwUpPTCaQ86DRE+3wqE9vh3aH8W0HH5L/ygOFM= @@ -1092,7 +1101,7 @@ github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQD github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/ryanuber/columnize v2.1.0+incompatible/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/ryanuber/go-glob v1.0.0/go.mod h1:807d1WSdnB0XRJzKNil9Om6lcp/3a0v4qIHxIXzX/Yc= -github.com/safchain/ethtool v0.0.0-20210803160452-9aa261dae9b1 h1:ZFfeKAhIQiiOrQaI3/znw0gOmYpO28Tcu1YaqMa/jtQ= +github.com/safchain/ethtool v0.3.0 h1:gimQJpsI6sc1yIqP/y8GYgiXn/NjgvpM0RNoWLVVmP0= github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E= github.com/samuel/go-zookeeper v0.0.0-20200724154423-2164a8ac840e h1:CGjiMQ0wMH4wtNWrlj6kiTbkPt2F3rbYnhGX6TWLfco= github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0= @@ -1101,27 +1110,28 @@ github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg github.com/segmentio/kafka-go v0.1.0/go.mod h1:X6itGqS9L4jDletMsxZ7Dz+JFWxM6JHfPOCvTvk+EJo= github.com/segmentio/kafka-go v0.2.0/go.mod h1:X6itGqS9L4jDletMsxZ7Dz+JFWxM6JHfPOCvTvk+EJo= github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo= -github.com/shirou/gopsutil/v3 v3.23.4 h1:hZwmDxZs7Ewt75DV81r4pFMqbq+di2cbt9FsQBqLD2o= -github.com/shirou/gopsutil/v3 v3.23.4/go.mod h1:ZcGxyfzAMRevhUR2+cfhXDH6gQdFYE/t8j1nsU4mPI8= -github.com/shoenig/go-m1cpu v0.1.5 h1:LF57Z/Fpb/WdGLjt2HZilNnmZOxg/q2bSKTQhgbrLrQ= -github.com/shoenig/go-m1cpu v0.1.5/go.mod h1:Wwvst4LR89UxjeFtLRMrpgRiyY4xPsejnVZym39dbAQ= -github.com/shoenig/test v0.6.3 h1:GVXWJFk9PiOjN0KoJ7VrJGH6uLPnqxR7/fe3HUPfE0c= -github.com/shoenig/test v0.6.3/go.mod h1:byHiCGXqrVaflBLAMq/srcZIHynQPQgeyvkvXnjqq0k= -github.com/showwin/speedtest-go v1.2.1 h1:5GrQFGn5N4YRBCaiph6ay6Py9yL2k7Ja10bbUZl9HPE= +github.com/shirou/gopsutil/v3 v3.23.5 h1:5SgDCeQ0KW0S4N0znjeM/eFHXXOKyv2dVNgRq/c9P6Y= +github.com/shirou/gopsutil/v3 v3.23.5/go.mod h1:Ng3Maa27Q2KARVJ0SPZF5NdrQSC3XHKP8IIWrHgMeLY= +github.com/shoenig/go-m1cpu v0.1.6 h1:nxdKQNcEB6vzgA2E2bvzKIYRuNj7XNJ4S/aRSwKzFtM= +github.com/shoenig/go-m1cpu v0.1.6/go.mod h1:1JJMcUBvfNwpq05QDQVAnx3gUHr9IYF7GNg9SUEw2VQ= +github.com/shoenig/test v0.6.4 h1:kVTaSd7WLz5WZ2IaoM0RSzRsUD+m8wRR+5qvntpn4LU= +github.com/shoenig/test v0.6.4/go.mod h1:byHiCGXqrVaflBLAMq/srcZIHynQPQgeyvkvXnjqq0k= +github.com/showwin/speedtest-go v1.6.2 h1:Pu9lxNV3apSanq675C4xmOMcARSccSf4uGVEolzwdHM= github.com/shurcooL/httpfs v0.0.0-20190707220628-8d4bc4ba7749/go.mod h1:ZY1cvUeJuFPAdZ/B6v7RHavJWZn2YPVFQ1OSXhCGOkg= github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= github.com/shurcooL/vfsgen v0.0.0-20181202132449-6a9ea43bcacd/go.mod h1:TrYk7fJVaAttu97ZZKrO9UbRa8izdowaMIZcxYMbVaw= github.com/shurcooL/vfsgen v0.0.0-20200824052919-0d455de96546/go.mod h1:TrYk7fJVaAttu97ZZKrO9UbRa8izdowaMIZcxYMbVaw= github.com/signalfx/com_signalfx_metrics_protobuf v0.0.3 h1:32k2QLgsKhcEs55q4REPKyIadvid5FPy2+VMgvbmKJ0= github.com/signalfx/gohistogram v0.0.0-20160107210732-1ccfd2ff5083 h1:WsShHmu12ZztYPfh9b+I+VjYD1o8iOHhB67WZCMEEE8= -github.com/signalfx/golib/v3 v3.3.46 h1:eiR2kQA5eVTB7nqETfn8raeem8HZhOUNcuMRVzZnOOk= -github.com/signalfx/sapm-proto v0.7.2 h1:iM/y3gezQm1/j7JBS0gXhEJ8ROeneb6DY7n0OcnvLks= +github.com/signalfx/golib/v3 v3.3.50 h1:TTBpfzsO00F8ep6rhLgBmRIPUpRqBenacezjE4xCweI= +github.com/signalfx/sapm-proto v0.12.0 h1:OtOe+Jm8L61Ml8K6X8a89zc8/RlaaMRElCImeGKR/Ew= github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/sirupsen/logrus v1.4.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= github.com/sirupsen/logrus v1.9.0 h1:trlNQbNUG3OdDrDil03MCb1H2o9nJ1x4/5LYw7byDE0= +github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= github.com/sleepinggenius2/gosmi v0.4.4 h1:xgu+Mt7CptuB10IPt3SVXBAA9tARToT4B9xGzjjxQX8= github.com/sleepinggenius2/gosmi v0.4.4/go.mod h1:l8OniPmd3bJzw0MXP2/qh7AhP/e+bTY2CNivIhsnDT0= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= @@ -1140,6 +1150,8 @@ github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnIn github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= +github.com/stoewer/go-strcase v1.2.0 h1:Z2iHWqGXH00XYgqDmNgQbIBxf3wrNq0F3feEy0ainaU= +github.com/stoewer/go-strcase v1.2.0/go.mod h1:IBiWB2sKIp3wVVQ3Y035++gc+knqhUQag1KpM8ahLw8= github.com/streadway/amqp v0.0.0-20190404075320-75d898a42a94/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= github.com/streadway/amqp v0.0.0-20190827072141-edfb9018d271/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= github.com/streadway/handy v0.0.0-20190108123426-d5acb3125c2a/go.mod h1:qNTQ5P5JnDBl6z3cMAg/SywNDC5ABu5ApDIw6lUbRmI= @@ -1159,19 +1171,18 @@ github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/ github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= +github.com/stretchr/testify v1.8.3/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/stvp/go-udp-testing v0.0.0-20201019212854-469649b16807/go.mod h1:7jxmlfBCDBXRzr0eAQJ48XC1hBu1np4CS5+cHEYfwpc= github.com/testcontainers/testcontainers-go v0.18.0 h1:8RXrcIQv5xX/uBOSmZd297gzvA7F0yuRA37/918o7Yg= github.com/thomasklein94/packer-plugin-libvirt v0.3.4 h1:K+NkHFcZuiUTp4ZiDdBhWRMZiSMdsXwGuzyg4THKDAU= -github.com/tidwall/gjson v1.14.3 h1:9jvXn7olKEHU1S9vwoMGliaT8jq1vJ7IH/n9zD9Dnlw= +github.com/tidwall/gjson v1.14.4 h1:uo0p8EbA09J7RQaflQ1aBRffTR7xedD2bcIVSYxLnkM= github.com/tidwall/match v1.1.1 h1:+Ho715JplO36QYgwN9PGYNhgZvoUSc9X2c80KVTi+GA= github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk= github.com/tidwall/pretty v1.2.0 h1:RWIZEg2iJ8/g6fDDYzMpobmaoGh5OLl4AXtGUGPcqCs= github.com/tinylib/msgp v1.0.2/go.mod h1:+d+yLhGm8mzTaHzB+wgMYrodPfmZrzkirds8fDWklFE= -github.com/tinylib/msgp v1.1.6 h1:i+SbKraHhnrf9M5MYmvQhFnbLhAXSDWF8WWsuyRdocw= -github.com/tinylib/msgp v1.1.6/go.mod h1:75BAfg2hauQhs3qedfdDZmWAPcFMAvJE5b9rGOMufyw= +github.com/tinylib/msgp v1.1.8 h1:FCXC1xanKO4I8plpHGH2P7koL/RzZs12l/+r7vakfm0= github.com/tklauser/go-sysconf v0.3.11 h1:89WgdJhk5SNwJfu+GKyYveZ4IaJ7xAkecBo+KdJV0CM= github.com/tklauser/go-sysconf v0.3.11/go.mod h1:GqXfhXY3kiPa0nAXPDIQIWzJbMCB7AmcWpGR8lSZfqI= github.com/tklauser/numcpus v0.6.0 h1:kebhY2Qt+3U6RNK7UqpYNA+tJ23IBEGKkB7JQBfDYms= @@ -1186,10 +1197,10 @@ github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtX github.com/vapourismo/knx-go v0.0.0-20220829185957-fb5458a5389d h1:BJMc7MNW/p80cCkC46JimNuowOWCnSSW5IHjtUrXzNk= github.com/vektah/gqlparser v1.1.2/go.mod h1:1ycwN7Ij5njmMkPPAOaRFY4rET2Enx7IkVv3vaXspKw= github.com/vishvananda/netlink v1.2.1-beta.2 h1:Llsql0lnQEbHj0I1OuKyp8otXp0r3q0mPkuhwHfStVs= -github.com/vishvananda/netns v0.0.2 h1:Cn05BRLm+iRP/DZxyVSsfVyrzgjDbwHwkVt38qvXnNI= +github.com/vishvananda/netns v0.0.4 h1:Oeaw1EM2JMxD51g9uhtC0D7erkIjgmj8+JZc26m1YX8= github.com/vjeantet/grok v1.0.1 h1:2rhIR7J4gThTgcZ1m2JY4TrJZNgjn985U28kT2wQrJ4= github.com/vmware/govmomi v0.28.1-0.20220921224932-b4b508abf208 h1:IDVzGQ2aczmTEfTos4hzmFw20tGQ4zZsVnel9C6VEpA= -github.com/wavefronthq/wavefront-sdk-go v0.11.0 h1:U9iJ4KFKebf4FB87z182DGiu1OXsRexv8DYCEj48HTA= +github.com/wavefronthq/wavefront-sdk-go v0.13.0 h1:3s9maJmzI4orW+hiVBfCNp/SIu8ISXi6rtewmDGzheE= github.com/willf/bitset v1.1.3/go.mod h1:RjeCKbqT1RxIR/KWY6phxZiaY1IyutSBfGjNPySAYV4= github.com/wvanbergen/kafka v0.0.0-20171203153745-e2edea948ddf h1:TOV5PC6fIWwFOFra9xJfRXZcL2pLhMI8oNuDugNxg9Q= github.com/wvanbergen/kazoo-go v0.0.0-20180202103751-f72d8611297a h1:ILoU84rj4AQ3q6cjQvtb9jBjx4xzR/Riq/zYhmDQiOk= @@ -1205,14 +1216,15 @@ github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q github.com/xlab/treeprint v0.0.0-20180616005107-d6fb6747feb6/go.mod h1:ce1O1j6UtZfjr22oyGxGLbauSBp2YVXpARAosm7dHBg= github.com/xlab/treeprint v1.0.0/go.mod h1:IoImgRak9i3zJyuxOKUP1v4UZd1tMoKkq/Cimt1uhCg= github.com/youmark/pkcs8 v0.0.0-20201027041543-1326539a0a0a h1:fZHgsYlfvtyqToslyjUt3VOPF4J7aK/3MPcK7xp3PDk= +github.com/youmark/pkcs8 v0.0.0-20201027041543-1326539a0a0a/go.mod h1:ul22v+Nro/R083muKhosV54bj5niojjWZvU8xrevuH4= github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= github.com/yuin/gopher-lua v0.0.0-20200816102855-ee81675732da h1:NimzV1aGyq29m5ukMK0AMWEhFaL/lrEOaephfuoiARg= -github.com/yusufpapurcu/wmi v1.2.2 h1:KBNDSne4vP5mbSWnJbO+51IMOXJB67QiYCSBrubbPRg= -github.com/yusufpapurcu/wmi v1.2.2/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= +github.com/yusufpapurcu/wmi v1.2.3 h1:E1ctvB7uKFMOJw3fdOW32DwGE9I7t++CRUEMKvFoFiw= +github.com/yusufpapurcu/wmi v1.2.3/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= github.com/zeebo/xxh3 v1.0.2 h1:xZmwmqxHZA8AI603jOQ0tMqmBr9lPeFwGg6d+xy9DC0= go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg= @@ -1227,7 +1239,7 @@ go.mongodb.org/mongo-driver v1.3.4/go.mod h1:MSWZXKOynuguX+JSvwP8i+58jYCXxbia8HS go.mongodb.org/mongo-driver v1.4.3/go.mod h1:WcMNYLx/IlOxLe6JRJiv2uXuCz6zBLndR4SoGjYphSc= go.mongodb.org/mongo-driver v1.4.4/go.mod h1:WcMNYLx/IlOxLe6JRJiv2uXuCz6zBLndR4SoGjYphSc= go.mongodb.org/mongo-driver v1.4.6/go.mod h1:WcMNYLx/IlOxLe6JRJiv2uXuCz6zBLndR4SoGjYphSc= -go.mongodb.org/mongo-driver v1.11.1 h1:QP0znIRTuL0jf1oBQoAoM0C6ZJfBK4kx0Uumtv1A7w8= +go.mongodb.org/mongo-driver v1.11.2 h1:+1v2rDQUWNcGW7/7E0Jvdz51V38XXxJfhzbV17aNHCw= go.opencensus.io v0.20.1/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= go.opencensus.io v0.20.2/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= @@ -1267,9 +1279,9 @@ go.opentelemetry.io/otel v1.16.0 h1:Z7GVAX/UkAXPKsy94IU+i6thsQS4nb7LviLpnaNeW8s= go.opentelemetry.io/otel v1.16.0/go.mod h1:vl0h9NUa1D5s1nv3A5vZOYWn8av4K8Ml6JDeHrT/bx4= go.opentelemetry.io/otel/bridge/opencensus v0.39.0 h1:YHivttTaDhbZIHuPlg1sWsy2P5gj57vzqPfkHItgbwQ= go.opentelemetry.io/otel/bridge/opencensus v0.39.0/go.mod h1:vZ4537pNjFDXEx//WldAR6Ro2LC8wwmFC76njAXwNPE= -go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.12.0 h1:UfDENi+LTcLjQ/JhaXimjlIgn7wWjwbEMmdREm2Gyng= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric v0.35.0 h1:KPV7w2qbszG6XnudnWDffM4CI+KjCYajryGrhoReBR4= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v0.35.0 h1:QgnDVvLLDiLloTGHyP8wIyWtDXMx/ZHg9qNQaofry2s= +go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.16.0 h1:t4ZwRPU+emrcvM2e9DHd0Fsf0JTPVcbfa/BhTDF03d0= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric v0.39.0 h1:f6BwB2OACc3FCbYVznctQ9V6KK7Vq6CjmYXJ7DeSs4E= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v0.39.0 h1:rm+Fizi7lTM2UefJ1TO347fSRcwmIsUAaZmYmIGBRAo= go.opentelemetry.io/otel/exporters/prometheus v0.39.0 h1:whAaiHxOatgtKd+w0dOi//1KUxj3KoPINZdtDaDj3IA= go.opentelemetry.io/otel/exporters/prometheus v0.39.0/go.mod h1:4jo5Q4CROlCpSPsXLhymi+LYrDXd2ObU5wbKayfZs7Y= go.opentelemetry.io/otel/metric v1.16.0 h1:RbrpwVG1Hfv85LgnZ7+txXioPDoh6EdbZHo26Q3hqOo= @@ -1313,13 +1325,14 @@ golang.org/x/crypto v0.0.0-20190617133340-57b3e21c3d56/go.mod h1:yigFU9vqHzYiE8U golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190923035154-9ee001bba392/go.mod h1:/lpIB1dKB+9EgE3H3cr1v9wB50oz8l4C4h62xy7jSTY= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20200302210943-78000ba7a073/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20201208171446-5f87f3452ae9/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= golang.org/x/crypto v0.0.0-20210220033148-5ea612d1eb83/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= -golang.org/x/crypto v0.5.0 h1:U/0M97KRkSFvyD/3FSmdP5W5swImpNgle/EHFhOsQPE= -golang.org/x/crypto v0.5.0/go.mod h1:NK/OQwhpMQP3MwtdjgLlYHnH9ebylxKWv3e0fK+mkQU= +golang.org/x/crypto v0.8.0 h1:pd9TJtTueMTVQXzk8E2XESSMQDj/U7OUu0PqJqPXQjQ= +golang.org/x/crypto v0.8.0/go.mod h1:mRqEX+O9/h5TFCrQhkgjo2yKi0yYA+9ecGkdQoHrywE= golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= @@ -1333,7 +1346,8 @@ golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u0 golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= -golang.org/x/exp v0.0.0-20230321023759-10a507213a29 h1:ooxPy7fPvB4kwsA2h+iBNHkAbp/4JxTSwCmvdjEYmug= +golang.org/x/exp v0.0.0-20230522175609-2e198f4a06a1 h1:k/i9J1pBpvlfR+9QsetwPyERsqu1GIbi967PQMq3Ivc= +golang.org/x/exp v0.0.0-20230522175609-2e198f4a06a1/go.mod h1:V1LtkGg67GoY2N1AnLN78QLrzxkLyJw7RJb1gzOOz9w= golang.org/x/exp/typeparams v0.0.0-20220218215828-6cf2b201936e h1:qyrTQ++p1afMkO4DPEeLGq/3oTsdlvdH4vqZUBWzUKM= golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= @@ -1361,7 +1375,7 @@ golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.8.0 h1:LUYupSeNrTNCGzR/hVBk2NHZO4hXcVaW1k4Qx7rjPx8= +golang.org/x/mod v0.10.0 h1:lFO9qtOdlre5W1jxS3r/4szv2/6iXxScdzjoBMXNhYk= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -1446,7 +1460,7 @@ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220601150217-0de741cfad7f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o= +golang.org/x/sync v0.2.0 h1:PUR+T4wwASmuSTYdKjYHI5TD22Wy5ogLU5qZCOLxBrI= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -1525,15 +1539,15 @@ golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220708085239-5a0f0661e09d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.8.0 h1:EBmGv8NaZBZTWvrbjNoL6HVt+IVy3QDQpJs7VRIw3tU= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= @@ -1558,7 +1572,7 @@ golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxb golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.1.0 h1:xYY+Bajn2a7VBmTM5GikTmnK8ZuX8YgnQCqZpbBNtmA= +golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4= golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -1622,7 +1636,6 @@ golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE= -golang.org/x/tools v0.0.0-20201022035929-9cf592e881e9/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= @@ -1630,7 +1643,7 @@ golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4f golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.7.0 h1:W4OVu8VVOaIO0yzWMNdepAulS7YfoS3Zabrm8DOXXU4= +golang.org/x/tools v0.8.0 h1:vSDcovVPld282ceKgDimkRSC8kpaH1dgyc9UMzlt84Y= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -1668,7 +1681,7 @@ google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34q google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU= google.golang.org/api v0.42.0/go.mod h1:+Oj4s6ch2SEGtPjGqfUfZonBH0GjQH89gTeKKAEGZKI= -google.golang.org/api v0.104.0 h1:KBfmLRqdZEbwQleFlSLnzpQJwhjpmNOk4cKQIBDZ9mg= +google.golang.org/api v0.121.0 h1:8Oopoo8Vavxx6gt+sgs8s8/X60WBAtKQq6JqnkF+xow= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.2.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= @@ -1722,8 +1735,11 @@ google.golang.org/genproto v0.0.0-20210303154014-9728d6b83eeb/go.mod h1:FWY/as6D google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210312152112-fc591d9ea70f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto v0.0.0-20230524185152-1884fd1fac28 h1:+55/MuGJORMxCrkAgo2595fMAnN/4rweCuwibbqrvpc= -google.golang.org/genproto v0.0.0-20230524185152-1884fd1fac28/go.mod h1:nKE/iIaLqn2bQwXBg8f1g2Ylh6r5MN5CmZvuzZCgsCU= +google.golang.org/genproto v0.0.0-20230530153820-e85fd2cbaebc h1:8DyZCyvI8mE1IdLy/60bS+52xfymkE72wv1asokgtao= +google.golang.org/genproto/googleapis/api v0.0.0-20230530153820-e85fd2cbaebc h1:kVKPf/IiYSBWEWtkIn6wZXwWGCnLKcC8oWfZvXjsGnM= +google.golang.org/genproto/googleapis/api v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230530153820-e85fd2cbaebc h1:XSJ8Vk1SWuNr8S18z1NZSziL0CPIXLCCMDOEFtHBOFc= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230530153820-e85fd2cbaebc/go.mod h1:66JfowdXAEgad5O9NnYcsNPLCPZJD++2L9X0PCMODrA= google.golang.org/grpc v1.14.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= @@ -1811,6 +1827,7 @@ gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gotest.tools/v3 v3.0.2/go.mod h1:3SzNCllyD9/Y+b5r9JIKQ474KzkZyqLqEfYqMsX94Bk= gotest.tools/v3 v3.0.3/go.mod h1:Z7Lb0S5l+klDB31fvDQX8ss/FlKDxtlFlw3Oa8Ymbl8= +gotest.tools/v3 v3.4.0 h1:ZazjZUfuVeZGLAmlKKuyv3IKP5orXcwtOwDQH6YVr6o= honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= @@ -1821,40 +1838,41 @@ honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9 honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.3.0 h1:2LdYUZ7CIxnYgskbUZfY7FPggmqnh6shBqfWa8Tn3XU= k8s.io/api v0.21.0/go.mod h1:+YbrhBBGgsxbF6o6Kj4KJPJnBmAKuXDeS3E18bgHNVU= -k8s.io/api v0.25.3 h1:Q1v5UFfYe87vi5H7NU0p4RXC26PPMT8KOpr1TLQbCMQ= +k8s.io/api v0.27.2 h1:+H17AJpUMvl+clT+BPnKf0E3ksMAzoBBg7CntpSuADo= k8s.io/apimachinery v0.21.0/go.mod h1:jbreFvJo3ov9rj7eWT7+sYiRx+qZuCYXwWT1bcDswPY= -k8s.io/apimachinery v0.25.6 h1:r6KIF2AHwLqFfZ0LcOA3I11SF62YZK83dxj1fn14NOQ= +k8s.io/apimachinery v0.27.2 h1:vBjGaKKieaIreI+oQwELalVG4d8f3YAMNpWLzDXkxeg= k8s.io/client-go v0.21.0/go.mod h1:nNBytTF9qPFDEhoqgEPaarobC8QPae13bElIVHzIglA= -k8s.io/client-go v0.25.0 h1:CVWIaCETLMBNiTUta3d5nzRbXvY5Hy9Dpl+VvREpu5E= +k8s.io/client-go v0.27.2 h1:vDLSeuYvCHKeoQRhCXjxXO45nHVv2Ip4Fe0MfioMrhE= k8s.io/gengo v0.0.0-20200413195148-3a45101e95ac/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= k8s.io/klog v1.0.0 h1:Pt+yjF5aB1xDSVbau4VsWe+dQNzA0qv1LlXdC2dF6Q8= k8s.io/klog v1.0.0/go.mod h1:4Bi6QPql/J/LkTDqv7R/cd3hPo4k2DG6Ptcz060Ez5I= k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE= k8s.io/klog/v2 v2.8.0/go.mod h1:hy9LJ/NvuK+iVyP4Ehqva4HxZG/oXyIS3n3Jmire4Ec= -k8s.io/klog/v2 v2.70.1 h1:7aaoSdahviPmR+XkS7FyxlkkXs6tHISSG03RxleQAVQ= +k8s.io/klog/v2 v2.90.1 h1:m4bYOKall2MmOiRaR1J+We67Do7vm9KiQVlT96lnHUw= k8s.io/kube-openapi v0.0.0-20210305001622-591a79e4bda7/go.mod h1:wXW5VT87nVfh/iLV8FpR2uDvrFyomxbtb1KivDbvPTE= -k8s.io/kube-openapi v0.0.0-20220803164354-a70c9af30aea h1:3QOH5+2fGsY8e1qf+GIFpg+zw/JGNrgyZRQR7/m6uWg= +k8s.io/kube-openapi v0.0.0-20230501164219-8b0f38b5fd1f h1:2kWPakN3i/k81b0gvD5C5FJ2kxm1WrQFanWchyKuqGg= k8s.io/utils v0.0.0-20201110183641-67b214c5f920/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= -k8s.io/utils v0.0.0-20220728103510-ee6ede2d64ed h1:jAne/RjBTyawwAy0utX5eqigAwz/lQhTmy+Hr/Cpue4= +k8s.io/utils v0.0.0-20230308161112-d77c459e9343 h1:m7tbIjXGcGIAtpmQr7/NAi7RsWoW3E7Zcm4jI1HicTc= +layeh.com/radius v0.0.0-20221205141417-e7fbddd11d68 h1:2NDro2Jzkrqfngy/sA5GVnChs7fx8EzcQKFi/lI2cfg= lukechampine.com/uint128 v1.2.0 h1:mBi/5l91vocEN8otkC5bDLhi2KdCticRiwbdB0O+rjI= modernc.org/cc/v3 v3.40.0 h1:P3g79IUS/93SYhtoeaHW+kRCIrYaxJ27MFPv+7kaTOw= -modernc.org/ccgo/v3 v3.16.12 h1:gWAnL87wSqwM6EQ1a+36O9zMFjqx1FBj0p9rA4xbQCY= -modernc.org/libc v1.20.3 h1:BodaDPuUse7taQchAClMmbE/yZp3T2ZBiwCDFyBLEXw= +modernc.org/ccgo/v3 v3.16.13 h1:Mkgdzl46i5F/CNR/Kj80Ri59hC8TKAhZrYSaqvkwzUw= +modernc.org/libc v1.22.3 h1:D/g6O5ftAfavceqlLOFwaZuA5KYafKwmr30A6iSqoyY= modernc.org/mathutil v1.5.0 h1:rV0Ko/6SfM+8G+yKiyI830l3Wuz1zRutdslNoQ0kfiQ= -modernc.org/memory v1.4.0 h1:crykUfNSnMAXaOJnnxcSzbUGMqkLWjklJKkBK2nwZwk= +modernc.org/memory v1.5.0 h1:N+/8c5rE6EqugZwHii4IFsaJ7MUhoWX07J5tC/iI5Ds= modernc.org/opt v0.1.3 h1:3XOZf2yznlhC+ibLltsDGzABUGVx8J6pnFMS3E4dcq4= -modernc.org/sqlite v1.19.2 h1:1VaNHEe6amuHhelmAOtibvYpAjwLfT4q6cBB2K7ZlQ8= +modernc.org/sqlite v1.21.0 h1:4aP4MdUf15i3R3M2mx6Q90WHKz3nZLoz96zlB6tNdow= modernc.org/strutil v1.1.3 h1:fNMm+oJklMGYfU9Ylcywl0CO5O6nTfaowNsh2wpPjzY= -modernc.org/token v1.0.1 h1:A3qvTqOwexpfZZeyI0FeGPDlSWX5pjZu9hF4lU+EKWg= +modernc.org/token v1.1.0 h1:Xl7Ap9dKaEs5kLoOQeQmPWevfnk/DM5qcLcYlA8ys6Y= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= -sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2 h1:iXTIw73aPyC+oRdyqqvVJuloN1p0AC/kzH07hu3NE+k= +sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo= sigs.k8s.io/structured-merge-diff/v4 v4.0.2/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= sigs.k8s.io/structured-merge-diff/v4 v4.1.0/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= sigs.k8s.io/structured-merge-diff/v4 v4.2.3 h1:PRbqxJClWWYMNV1dhaG4NsibJbArud9kFxnAMREiWFE= sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= -sigs.k8s.io/yaml v1.2.0 h1:kr/MCeFWJWTwyaHoR9c8EjH9OumOmoF9YGiZd7lFm/Q= sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= +sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= sourcegraph.com/sourcegraph/appdash v0.0.0-20190731080439-ebfcffb1b5c0/go.mod h1:hI742Nqp5OhwiqlzhgfbWU4mW4yO10fP+LoT9WOswdU= diff --git a/tests-integration/helper_otelcol_test.go b/tests-integration/helper_otelcol_test.go index 11bace54..2f4c48df 100644 --- a/tests-integration/helper_otelcol_test.go +++ b/tests-integration/helper_otelcol_test.go @@ -12,29 +12,27 @@ import ( "testing" "time" + "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/influxdbexporter" + "github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckextension" + "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/influxdbreceiver" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + "go.opentelemetry.io/collector/component" "go.opentelemetry.io/collector/confmap" "go.opentelemetry.io/collector/confmap/converter/expandconverter" "go.opentelemetry.io/collector/confmap/provider/envprovider" "go.opentelemetry.io/collector/confmap/provider/fileprovider" + "go.opentelemetry.io/collector/consumer" "go.opentelemetry.io/collector/exporter" "go.opentelemetry.io/collector/extension" "go.opentelemetry.io/collector/otelcol" "go.opentelemetry.io/collector/pdata/pmetric" "go.opentelemetry.io/collector/processor" "go.opentelemetry.io/collector/receiver" - - "github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckextension" - "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/influxdbreceiver" - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" - "go.opentelemetry.io/collector/component" - "go.opentelemetry.io/collector/consumer" "go.uber.org/zap" - - "github.com/open-telemetry/opentelemetry-collector-contrib/exporter/influxdbexporter" ) -func setupOtelcolInfluxDBExporter(t *testing.T) (*httptest.Server, *mockReceiverFactory, func()) { +func setupOtelcolInfluxDBExporter(t *testing.T) (*httptest.Server, *mockReceiverFactory, func(*testing.T)) { t.Helper() const otelcolConfigTemplate = ` @@ -44,7 +42,8 @@ receivers: exporters: influxdb: endpoint: ENDPOINT_DESTINATION - metrics_schema: SCHEMA + span_dimensions: SPAN_DIMENSIONS + metrics_schema: METRICS_SCHEMA org: myorg bucket: mybucket @@ -73,7 +72,8 @@ service: otelcolConfigProvider := func() otelcol.ConfigProvider { mockDestinationEndpoint := mockDestination.URL configString := strings.ReplaceAll(otelcolConfigTemplate, "ENDPOINT_DESTINATION", mockDestinationEndpoint) - configString = strings.ReplaceAll(configString, "SCHEMA", "telegraf-prometheus-v1") + configString = strings.ReplaceAll(configString, "SPAN_DIMENSIONS", "\n - service.name\n - span.name") + configString = strings.ReplaceAll(configString, "METRICS_SCHEMA", "telegraf-prometheus-v1") configString = strings.ReplaceAll(configString, "ADDRESS_HEALTH_CHECK", otelcolHealthCheckAddress) t.Setenv("test-env", configString) configMapProvider := envprovider.New() @@ -122,8 +122,9 @@ service: require.NoError(t, err) done := make(chan struct{}) + var runErr error go func() { - _ = collector.Run(context.Background()) + runErr = collector.Run(context.Background()) close(done) }() t.Cleanup(collector.Shutdown) @@ -152,7 +153,7 @@ service: } } - return mockDestination, mockReceiverFactory, func() { collector.Shutdown(); <-done } + return mockDestination, mockReceiverFactory, func(t *testing.T) { collector.Shutdown(); <-done; assert.NoError(t, runErr) } } var ( diff --git a/tests-integration/otel2influx_test.go b/tests-integration/otel2influx_test.go index c5a37c9a..bfeaee8c 100644 --- a/tests-integration/otel2influx_test.go +++ b/tests-integration/otel2influx_test.go @@ -33,7 +33,7 @@ func TestOtel2Influx(t *testing.T) { got := mockReceiverFactory.lineprotocol(t) assertLineprotocolEqual(t, mt.lp, got) - closeOtelcol() + closeOtelcol(t) }) t.Run("telegraf", func(t *testing.T) { @@ -76,7 +76,7 @@ func TestOtel2Influx(t *testing.T) { got := mockReceiverFactory.lineprotocol(t) assertLineprotocolEqual(t, tt.lp, got) - closeOtelcol() + closeOtelcol(t) }) t.Run("telegraf", func(t *testing.T) { @@ -113,7 +113,7 @@ func TestOtel2Influx(t *testing.T) { got := mockReceiverFactory.lineprotocol(t) assertLineprotocolEqual(t, lt.lp, got) - closeOtelcol() + closeOtelcol(t) }) t.Run("telegraf", func(t *testing.T) { From 12c68bc4e9949ba65543b4d658316eba61eff387 Mon Sep 17 00:00:00 2001 From: Jacob Marble Date: Wed, 7 Jun 2023 16:36:55 -0700 Subject: [PATCH 30/37] chore(tests): temporary dependency replacements for integration tests --- tests-integration/go.mod | 6 +++--- tests-integration/go.sum | 4 ++++ 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/tests-integration/go.mod b/tests-integration/go.mod index d1c5736c..4a9c76b5 100644 --- a/tests-integration/go.mod +++ b/tests-integration/go.mod @@ -54,7 +54,7 @@ require ( github.com/gosnmp/gosnmp v1.35.0 // indirect github.com/inconshreveable/mousetrap v1.1.0 // indirect github.com/influxdata/influxdb-observability/common v0.4.3 // indirect - github.com/influxdata/influxdb-observability/influx2otel v0.3.15 // indirect + github.com/influxdata/influxdb-observability/influx2otel v0.4.3 // indirect github.com/influxdata/influxdb-observability/otel2influx v0.4.3 // indirect github.com/influxdata/toml v0.0.0-20190415235208-270119a8ce65 // indirect github.com/jaegertracing/jaeger v1.41.0 // indirect @@ -126,6 +126,6 @@ replace ( github.com/influxdata/influxdb-observability/otel2influx => ../otel2influx ) -replace github.com/open-telemetry/opentelemetry-collector-contrib/exporter/influxdbexporter => ../../opentelemetry-collector-contrib/exporter/influxdbexporter +replace github.com/open-telemetry/opentelemetry-collector-contrib/exporter/influxdbexporter => github.com/jacobmarble/opentelemetry-collector-contrib/exporter/influxdbexporter v0.0.0-20230607233012-52d825be0fe3 -replace github.com/influxdata/telegraf => ../../telegraf +replace github.com/influxdata/telegraf => github.com/jacobmarble/telegraf v0.0.0-20230607232722-681953ef7ac2 diff --git a/tests-integration/go.sum b/tests-integration/go.sum index 6b7f3625..3056bc2d 100644 --- a/tests-integration/go.sum +++ b/tests-integration/go.sum @@ -746,6 +746,10 @@ github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a h1:bbPeKD0xmW/ github.com/jackc/pgtype v1.14.0 h1:y+xUdabmyMkJLyApYuPj38mW+aAIqCe5uuBB51rH3Vw= github.com/jackc/pgx/v4 v4.17.1 h1:tASdE79tX9LOQu3MMvioWT6YaZkf58ZhmLHhV4sv5WM= github.com/jackc/puddle v1.3.0 h1:eHK/5clGOatcjX3oWGBO/MpxpbHzSwud5EWTSCI+MX0= +github.com/jacobmarble/opentelemetry-collector-contrib/exporter/influxdbexporter v0.0.0-20230607233012-52d825be0fe3 h1:yZBfekkkJq02nvatJExcegAbq1BNHK4wtRuqmsRPLgQ= +github.com/jacobmarble/opentelemetry-collector-contrib/exporter/influxdbexporter v0.0.0-20230607233012-52d825be0fe3/go.mod h1:dF7rx4BNKSy8QTrgJkThKGj5Sv/+X0nsz2LOM34Ycis= +github.com/jacobmarble/telegraf v0.0.0-20230607232722-681953ef7ac2 h1:l/W63ftPr8jA8PH5Z5SFOK1YJ8SHNd0VsgXe6sMJ6WE= +github.com/jacobmarble/telegraf v0.0.0-20230607232722-681953ef7ac2/go.mod h1:1vZshs3z/8VocddA6V4A7IKPAWpvIzJmU+uVBl2+0VM= github.com/jaegertracing/jaeger v1.41.0 h1:vVNky8dP46M2RjGaZ7qRENqylW+tBFay3h57N16Ip7M= github.com/jaegertracing/jaeger v1.41.0/go.mod h1:SIkAT75iVmA9U+mESGYuMH6UQv6V9Qy4qxo0lwfCQAc= github.com/james4k/rcon v0.0.0-20120923215419-8fbb8268b60a h1:JxcWget6X/VfBMKxPIc28Jel37LGREut2fpV+ObkwJ0= From b140413fff0844820594e030d400c1a983bf81f7 Mon Sep 17 00:00:00 2001 From: Jacob Marble Date: Fri, 2 Jun 2023 14:04:40 -0700 Subject: [PATCH 31/37] feat(jaeger-influxdb): configurable FlightSQL gRPC metadata --- jaeger-influxdb/cmd/jaeger-influxdb/main.go | 2 +- jaeger-influxdb/internal/config.go | 16 ++++++++++++++++ jaeger-influxdb/internal/influxdb.go | 13 ++++++++++--- 3 files changed, 27 insertions(+), 4 deletions(-) diff --git a/jaeger-influxdb/cmd/jaeger-influxdb/main.go b/jaeger-influxdb/cmd/jaeger-influxdb/main.go index a0349555..e24767f7 100644 --- a/jaeger-influxdb/cmd/jaeger-influxdb/main.go +++ b/jaeger-influxdb/cmd/jaeger-influxdb/main.go @@ -67,7 +67,7 @@ func initLogger(config *internal.Config) (*zap.Logger, error) { if err != nil { return nil, err } - return loggerConfig.Build() + return loggerConfig.Build(zap.AddStacktrace(zap.ErrorLevel)) } func contextWithStandardSignals(ctx context.Context) context.Context { diff --git a/jaeger-influxdb/internal/config.go b/jaeger-influxdb/internal/config.go index c82773fa..92c8346f 100644 --- a/jaeger-influxdb/internal/config.go +++ b/jaeger-influxdb/internal/config.go @@ -20,6 +20,7 @@ type Config struct { InfluxdbBucket string InfluxdbBucketArchive string InfluxdbToken string + InfluxdbQueryMetadata map[string]string } func (c *Config) Init(command *cobra.Command) error { @@ -74,6 +75,11 @@ func (c *Config) Init(command *cobra.Command) error { name: "influxdb-token", usage: "InfluxDB API access token", }, + { + pointer: &c.InfluxdbQueryMetadata, + name: "influxdb-query-metadata", + usage: `gRPC metadata sent with SQL queries ("foo=bar") (optional; specify zero to many times)`, + }, } { switch v := f.pointer.(type) { case *string: @@ -106,6 +112,16 @@ func (c *Config) Init(command *cobra.Command) error { return err } *v = viper.GetBool(f.name) + case *map[string]string: + var defaultValue map[string]string + if f.defaultValue != nil { + defaultValue = f.defaultValue.(map[string]string) + } + command.Flags().StringToStringVar(v, f.name, defaultValue, f.usage) + if err := viper.BindPFlag(f.name, command.Flags().Lookup(f.name)); err != nil { + return err + } + *v = viper.GetStringMapString(f.name) default: return fmt.Errorf("flag type %T not implemented", f.pointer) } diff --git a/jaeger-influxdb/internal/influxdb.go b/jaeger-influxdb/internal/influxdb.go index f68b4e01..e3e82984 100644 --- a/jaeger-influxdb/internal/influxdb.go +++ b/jaeger-influxdb/internal/influxdb.go @@ -84,13 +84,20 @@ func NewInfluxdbStorage(ctx context.Context, config *Config) (*InfluxdbStorage, if config.InfluxdbTLSDisable { uriScheme = uriSchemeNotSecure } - dsn := strings.Join([]string{ + dsn := []string{ fmt.Sprintf("%s=%s://%s/", adbc.OptionKeyURI, uriScheme, influxdbAddr), fmt.Sprintf("%s=Bearer %s", flightsql.OptionAuthorizationHeader, config.InfluxdbToken), fmt.Sprintf("%s=%s", flightsql.OptionRPCCallHeaderPrefix+"bucket-name", config.InfluxdbBucket), - }, " ; ") + } + for k, v := range config.InfluxdbQueryMetadata { + k, v = strings.TrimSpace(k), strings.TrimSpace(v) + if len(k) == 0 || strings.Contains(k, ";") || strings.Contains(v, ";") { + return nil, fmt.Errorf("invalid gRPC metadata: %s=%s", k, v) + } + dsn = append(dsn, fmt.Sprintf("%s=%s", flightsql.OptionRPCCallHeaderPrefix+k, v)) + } - db, err := sql.Open("flightsql", dsn) + db, err := sql.Open("flightsql", strings.Join(dsn, " ; ")) if err != nil { row := db.QueryRowContext(ctx, "SELECT 1") var v int From c72e04d2fffdbf631076ce7095fc0554958be4ec Mon Sep 17 00:00:00 2001 From: Jacob Marble Date: Thu, 8 Jun 2023 12:56:00 -0700 Subject: [PATCH 32/37] chore(otelcol-influxdb): update OpenTelemetry to v0.79.0 Also improves checks. --- .github/workflows/ci.yml | 18 ++++++++++++++ otelcol-influxdb/Dockerfile | 2 +- otelcol-influxdb/build.yml | 49 ++++++++++++++++++------------------- run-checks.sh | 13 ++++++++++ 4 files changed, 56 insertions(+), 26 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 99499415..648553f8 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -47,3 +47,21 @@ jobs: go install honnef.co/go/tools/cmd/staticcheck@2023.1.3 && cd ${{ matrix.package }} && staticcheck -f stylish ./... + + build-otelcol-influxdb: + runs-on: ubuntu-latest + steps: + + - uses: actions/checkout@v2 + with: + fetch-depth: 1 + + - uses: actions/setup-go@v2 + with: + go-version: "1.20" + + - name: build + run: > + go install go.opentelemetry.io/collector/cmd/builder@v0.79.0 && + cd otelcol-influxdb && + builder --config build.yml diff --git a/otelcol-influxdb/Dockerfile b/otelcol-influxdb/Dockerfile index 1fb02a80..26850118 100644 --- a/otelcol-influxdb/Dockerfile +++ b/otelcol-influxdb/Dockerfile @@ -7,7 +7,7 @@ RUN \ --mount=type=cache,id=influxdb-observability-gocache,sharing=locked,target=/root/.cache/go-build \ --mount=type=cache,id=influxdb-observability-gomodcache,sharing=locked,target=/go/pkg/mod \ du -cshx /root/.cache/go-build /go/pkg/mod && \ - go install go.opentelemetry.io/collector/cmd/builder@v0.78.2 && \ + go install go.opentelemetry.io/collector/cmd/builder@v0.79.0 && \ du -cshx /root/.cache/go-build /go/pkg/mod COPY . /project diff --git a/otelcol-influxdb/build.yml b/otelcol-influxdb/build.yml index 7f1bd125..64d8ec07 100644 --- a/otelcol-influxdb/build.yml +++ b/otelcol-influxdb/build.yml @@ -2,44 +2,43 @@ dist: name: otelcol-influxdb module: github.com/influxdata/influxdb-observability/otelcol-influxdb description: OpenTelemetry Collector Distribution built for InfluxDB - version: 0.78.0-0.0.0-beta.0 - otelcol_version: 0.78.2 + version: 0.79.0-0.0.0-beta.0 + otelcol_version: 0.79.0 output_path: ./build receivers: -- gomod: go.opentelemetry.io/collector/receiver/otlpreceiver v0.78.2 -- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/jaegerreceiver v0.78.0 -- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/hostmetricsreceiver v0.78.0 -- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kafkametricsreceiver v0.78.0 -- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kafkareceiver v0.78.0 +- gomod: go.opentelemetry.io/collector/receiver/otlpreceiver v0.79.0 +- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/jaegerreceiver v0.79.0 +- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/hostmetricsreceiver v0.79.0 +- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kafkametricsreceiver v0.79.0 +- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/kafkareceiver v0.79.0 exporters: -- gomod: go.opentelemetry.io/collector/exporter/otlpexporter v0.78.2 -- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/influxdbexporter v0.78.0 +- gomod: go.opentelemetry.io/collector/exporter/otlpexporter v0.79.0 +- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/influxdbexporter v0.79.0 connectors: -- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/connector/spanmetricsconnector v0.78.0 -- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/connector/servicegraphconnector v0.78.0 +- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/connector/spanmetricsconnector v0.79.0 +- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/connector/servicegraphconnector v0.79.0 extensions: -- gomod: go.opentelemetry.io/collector/extension/ballastextension v0.78.2 -- gomod: go.opentelemetry.io/collector/extension/zpagesextension v0.78.2 -- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/bearertokenauthextension v0.78.0 -- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/headerssetterextension v0.78.0 -- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckextension v0.78.0 -- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/pprofextension v0.78.0 +- gomod: go.opentelemetry.io/collector/extension/ballastextension v0.79.0 +- gomod: go.opentelemetry.io/collector/extension/zpagesextension v0.79.0 +- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/bearertokenauthextension v0.79.0 +- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/headerssetterextension v0.79.0 +- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckextension v0.79.0 +- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/pprofextension v0.79.0 processors: -- gomod: go.opentelemetry.io/collector/processor/batchprocessor v0.78.2 -- gomod: go.opentelemetry.io/collector/processor/memorylimiterprocessor v0.78.2 -- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/probabilisticsamplerprocessor v0.78.0 -- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/routingprocessor v0.78.0 -- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/tailsamplingprocessor v0.78.0 +- gomod: go.opentelemetry.io/collector/processor/batchprocessor v0.79.0 +- gomod: go.opentelemetry.io/collector/processor/memorylimiterprocessor v0.79.0 +- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/probabilisticsamplerprocessor v0.79.0 +- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/routingprocessor v0.79.0 +- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/processor/tailsamplingprocessor v0.79.0 replaces: - github.com/influxdata/influxdb-observability/common => ../../common - github.com/influxdata/influxdb-observability/influx2otel => ../../influx2otel - github.com/influxdata/influxdb-observability/otel2influx => ../../otel2influx -- go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc => go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.42.0 -- go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp => go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.42.0 -- go.opentelemetry.io/otel/sdk/metric => go.opentelemetry.io/otel/sdk/metric v0.39.0 +- github.com/open-telemetry/opentelemetry-collector-contrib/exporter/influxdbexporter => github.com/open-telemetry/opentelemetry-collector-contrib/exporter/influxdbexporter v0.0.0-20230608045034-d0fe5f310ca8 +- github.com/influxdata/telegraf => github.com/jacobmarble/telegraf v0.0.0-20230607232722-681953ef7ac2 diff --git a/run-checks.sh b/run-checks.sh index 8decdbee..5c3f3c2a 100755 --- a/run-checks.sh +++ b/run-checks.sh @@ -16,6 +16,13 @@ if ! hash staticcheck; then exit 1 fi fi +if ! hash builder; then + echo "installing the opentelemetry collector builder" + if ! go install go.opentelemetry.io/collector/cmd/builder@v0.79.0; then + echo "failed to install the opentelemetry collector builder" + exit 1 + fi +fi for package in common influx2otel otel2influx jaeger-influxdb tests-integration; do echo checking ${package} @@ -42,6 +49,12 @@ for package in common influx2otel otel2influx jaeger-influxdb tests-integration; fi done +echo checking otelcol-influxdb +cd "${BASEDIR}/otelcol-influxdb" +if ! builder --config build.yml; then + fail=1 +fi + echo if [ -n "$fail" ]; then From 5838eae06401cf7333e03df11470121e18a10b95 Mon Sep 17 00:00:00 2001 From: Jacob Marble Date: Thu, 15 Jun 2023 09:59:48 -0700 Subject: [PATCH 33/37] chore: separate one-command demo from development demo --- README.md | 25 ++++++++---- demo/docker-compose-development.yml | 63 +++++++++++++++++++++++++++++ demo/docker-compose.yml | 18 ++------- otel2influx/traces.go | 7 ++-- 4 files changed, 89 insertions(+), 24 deletions(-) create mode 100644 demo/docker-compose-development.yml diff --git a/README.md b/README.md index 0c815f02..e3122863 100644 --- a/README.md +++ b/README.md @@ -4,9 +4,10 @@ This repository is a reference for converting observability signals (traces, met ## Demo -Steps to run the current demo follow. +Steps to run the write full write/query demo follow. -In an InfluxDB Cloud 2 account backed by IOx, create a bucket named `otel` and a token with permission to read and write to that bucket. +In an InfluxDB Cloud 2 account backed by IOx, create a bucket named `otel`. +Then, create a token with permission to read and write to that bucket. In demo/docker-compose.yml, set values for these keys. The key `INFLUXDB_BUCKET_ARCHIVE` is optional; @@ -26,11 +27,6 @@ INFLUXDB_BUCKET_ARCHIVE=otel-archive Make sure this file exists in the root of the project. Then also make sure you run the below commands in the root of the project aswell. -Build the needed docker images: -```console -$ docker-compose --file demo/docker-compose.yml --project-directory . build -``` - Run the docker compose: ```console $ docker-compose --file demo/docker-compose.yml --project-directory . up --abort-on-container-exit --remove-orphans @@ -92,6 +88,21 @@ $ cd tests-integration $ go test ``` +## Development + +The file `demo/docker-compose-development.yml` is similar to the demo above, +but it uses local builds of the `otelcol-influxdb` and `jaeger-influxdb` images. + +Build the needed docker images: +```console +$ docker compose --file demo/docker-compose-development.yml --project-directory . build +``` + +Start the development demo environment: +```console +$ docker compose --file demo/docker-compose-development.yml --project-directory . up --abort-on-container-exit --remove-orphans +``` + ## Contributing Changes can be tested on a local branch using the `run-checks.sh` tool. diff --git a/demo/docker-compose-development.yml b/demo/docker-compose-development.yml new file mode 100644 index 00000000..e8947286 --- /dev/null +++ b/demo/docker-compose-development.yml @@ -0,0 +1,63 @@ +services: + + jaeger-query: + image: jaegertracing/jaeger-query:1.45 + stop_grace_period: 10s + ports: + - "16686:16686" # web UI + depends_on: + - jaeger-influxdb + environment: + #QUERY_BEARER_TOKEN_PROPAGATION: true + LOG_LEVEL: warn + SPAN_STORAGE_TYPE: grpc-plugin + GRPC_STORAGE_SERVER: jaeger-influxdb:17271 + GRPC_STORAGE_CONNECTION_TIMEOUT: 30s + QUERY_HTTP_SERVER_HOST_PORT: :16686 + ADMIN_HTTP_HOST_PORT: :16687 + QUERY_UI_CONFIG: /jaeger-ui-config.json + volumes: + - ./demo/jaeger-ui-config.json:/jaeger-ui-config.json:ro + + jaeger-influxdb: + build: + context: . + dockerfile: jaeger-influxdb/Dockerfile + image: jaeger-influxdb:local + stop_grace_period: 10s + environment: + LOG_LEVEL: info + LISTEN_ADDR: :17271 + INFLUXDB_TIMEOUT: 30s + # required: hostname or hostname:port + INFLUXDB_ADDR: + # required: bucket name + INFLUXDB_BUCKET: otel + # optional: bucket name for archived traces + INFLUXDB_BUCKET_ARCHIVE: + # required + INFLUXDB_TOKEN: + + hotrod: + build: + context: . + dockerfile: demo/Dockerfile.hotrod + image: hotrod:local + stop_grace_period: 1s + ports: + - "8080:8080" # web UI + depends_on: + - otelcol-influxdb + environment: + JAEGER_AGENT_HOST: otelcol-influxdb + JAEGER_AGENT_PORT: 6831 + + otelcol-influxdb: + build: + context: . + dockerfile: otelcol-influxdb/Dockerfile + image: otelcol-influxdb:local + command: [ "--config", "/config.yml" ] + stop_grace_period: 10s + volumes: + - ./demo/otelcol-config.yml:/config.yml:ro diff --git a/demo/docker-compose.yml b/demo/docker-compose.yml index 6d9a6776..8a88c6e9 100644 --- a/demo/docker-compose.yml +++ b/demo/docker-compose.yml @@ -8,8 +8,7 @@ services: depends_on: - jaeger-influxdb environment: - #QUERY_BEARER_TOKEN_PROPAGATION: true - LOG_LEVEL: warn + LOG_LEVEL: info SPAN_STORAGE_TYPE: grpc-plugin GRPC_STORAGE_SERVER: jaeger-influxdb:17271 GRPC_STORAGE_CONNECTION_TIMEOUT: 30s @@ -20,10 +19,7 @@ services: - ./demo/jaeger-ui-config.json:/jaeger-ui-config.json:ro jaeger-influxdb: - build: - context: . - dockerfile: jaeger-influxdb/Dockerfile - image: jaeger-influxdb:local + image: jacobmarble/jaeger-influxdb:0.5.2 stop_grace_period: 10s environment: LOG_LEVEL: debug @@ -32,10 +28,7 @@ services: env_file: - .env hotrod: - build: - context: . - dockerfile: demo/Dockerfile.hotrod - image: hotrod:local + image: jaegertracing/example-hotrod:1.41 stop_grace_period: 1s ports: - "8080:8080" # web UI @@ -48,10 +41,7 @@ services: command: ["all", "-m", "prometheus"] otelcol-influxdb: - build: - context: . - dockerfile: otelcol-influxdb/Dockerfile - image: otelcol-influxdb:local + image: otel/opentelemetry-collector-contrib:0.79.0 command: [ "--config", "/config.yml" ] stop_grace_period: 10s volumes: diff --git a/otel2influx/traces.go b/otel2influx/traces.go index 04d98f3f..007c053c 100644 --- a/otel2influx/traces.go +++ b/otel2influx/traces.go @@ -177,7 +177,7 @@ func (c *OtelTracesToLineProtocol) enqueueSpan(ctx context.Context, span ptrace. droppedEventsCount := uint64(span.DroppedEventsCount()) for i := 0; i < span.Events().Len(); i++ { - if err = c.writeSpanEvent(ctx, traceID, spanID, span.Events().At(i), batch); err != nil { + if err = c.enqueueSpanEvent(ctx, traceID, spanID, span.Events().At(i), batch); err != nil { droppedEventsCount++ c.logger.Debug("invalid span event", err) } @@ -214,8 +214,9 @@ func (c *OtelTracesToLineProtocol) enqueueSpan(ctx context.Context, span ptrace. for k := range tags { if _, found := fields[k]; found { - c.logger.Debug("tag already exists as a field; field will be dropped", "tag key", k) + c.logger.Debug("tag and field keys conflict; field will be dropped", "tag key", k) droppedAttributesCount++ + delete(fields, k) } } if droppedAttributesCount > 0 { @@ -229,7 +230,7 @@ func (c *OtelTracesToLineProtocol) enqueueSpan(ctx context.Context, span ptrace. return nil } -func (c *OtelTracesToLineProtocol) writeSpanEvent(ctx context.Context, traceID pcommon.TraceID, spanID pcommon.SpanID, spanEvent ptrace.SpanEvent, batch InfluxWriterBatch) error { +func (c *OtelTracesToLineProtocol) enqueueSpanEvent(ctx context.Context, traceID pcommon.TraceID, spanID pcommon.SpanID, spanEvent ptrace.SpanEvent, batch InfluxWriterBatch) error { fields := make(map[string]interface{}, 2) if name := spanEvent.Name(); name != "" { fields[semconv.AttributeEventName] = name From 420665f5b9283756cdc96f1f1ce380a7e873a9d3 Mon Sep 17 00:00:00 2001 From: Jay Clifford Date: Fri, 16 Jun 2023 11:07:48 +0100 Subject: [PATCH 34/37] added .env --- demo/docker-compose-development.yml | 33 +++++++++++++++++++++-------- 1 file changed, 24 insertions(+), 9 deletions(-) diff --git a/demo/docker-compose-development.yml b/demo/docker-compose-development.yml index e8947286..57132889 100644 --- a/demo/docker-compose-development.yml +++ b/demo/docker-compose-development.yml @@ -28,15 +28,9 @@ services: environment: LOG_LEVEL: info LISTEN_ADDR: :17271 - INFLUXDB_TIMEOUT: 30s - # required: hostname or hostname:port - INFLUXDB_ADDR: - # required: bucket name - INFLUXDB_BUCKET: otel - # optional: bucket name for archived traces - INFLUXDB_BUCKET_ARCHIVE: - # required - INFLUXDB_TOKEN: + env_file: + - .env + hotrod: build: @@ -61,3 +55,24 @@ services: stop_grace_period: 10s volumes: - ./demo/otelcol-config.yml:/config.yml:ro + env_file: + - .env + + + grafana: + image: grafana/grafana:latest + ports: + - 3000:3000 + environment: + - INFLUX_HOST=${INFLUXDB_ADDR} + - INFLUX_TOKEN=${INFLUXDB_TOKEN} + - INFLUX_ORG=${INFLUXDB_ORG} + - INFLUX_BUCKET=${INFLUXDB_BUCKET} + - GF_INSTALL_PLUGINS=influxdata-flightsql-datasource + volumes: + - ./demo/grafana/datasources:/etc/grafana/provisioning/datasources + - ./demo/grafana/dashboards:/etc/grafana/provisioning/dashboards + - grafana:/var/lib/grafana/ + restart: always +volumes: + grafana: \ No newline at end of file From 6ba937cb86fa576bde072605edfb39d07397326d Mon Sep 17 00:00:00 2001 From: Jacob Marble Date: Thu, 15 Jun 2023 09:59:48 -0700 Subject: [PATCH 35/37] chore: separate one-command demo from development demo --- README.md | 1 - demo/docker-compose-development.yml | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index e3122863..126934aa 100644 --- a/README.md +++ b/README.md @@ -26,7 +26,6 @@ INFLUXDB_BUCKET_ARCHIVE=otel-archive Make sure this file exists in the root of the project. Then also make sure you run the below commands in the root of the project aswell. - Run the docker compose: ```console $ docker-compose --file demo/docker-compose.yml --project-directory . up --abort-on-container-exit --remove-orphans diff --git a/demo/docker-compose-development.yml b/demo/docker-compose-development.yml index 57132889..3917a83d 100644 --- a/demo/docker-compose-development.yml +++ b/demo/docker-compose-development.yml @@ -75,4 +75,4 @@ services: - grafana:/var/lib/grafana/ restart: always volumes: - grafana: \ No newline at end of file + grafana: From 4a5e1e18280de8266e34309ebd6eb25d53d57b7c Mon Sep 17 00:00:00 2001 From: Jay Clifford Date: Fri, 16 Jun 2023 11:16:54 +0100 Subject: [PATCH 36/37] foo From 46d31ad85f9f1736408b86329f35a11481bde931 Mon Sep 17 00:00:00 2001 From: Jacob Marble Date: Thu, 15 Jun 2023 09:59:48 -0700 Subject: [PATCH 37/37] chore: separate one-command demo from development demo --- README.md | 7 +++++- demo/docker-compose-development.yml | 33 ++++++++--------------------- 2 files changed, 15 insertions(+), 25 deletions(-) diff --git a/README.md b/README.md index 126934aa..504160a9 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,12 @@ INFLUXDB_BUCKET=otel INFLUXDB_BUCKET_ARCHIVE=otel-archive ``` -Make sure this file exists in the root of the project. Then also make sure you run the below commands in the root of the project aswell. +In demo/otelcol-config.yml, set the similar values for these keys: +```yaml +endpoint: https://< region specific URL - https://region.csp.cloud2.influxdata.com/ > +bucket: otel +token: +``` Run the docker compose: ```console diff --git a/demo/docker-compose-development.yml b/demo/docker-compose-development.yml index 3917a83d..e8947286 100644 --- a/demo/docker-compose-development.yml +++ b/demo/docker-compose-development.yml @@ -28,9 +28,15 @@ services: environment: LOG_LEVEL: info LISTEN_ADDR: :17271 - env_file: - - .env - + INFLUXDB_TIMEOUT: 30s + # required: hostname or hostname:port + INFLUXDB_ADDR: + # required: bucket name + INFLUXDB_BUCKET: otel + # optional: bucket name for archived traces + INFLUXDB_BUCKET_ARCHIVE: + # required + INFLUXDB_TOKEN: hotrod: build: @@ -55,24 +61,3 @@ services: stop_grace_period: 10s volumes: - ./demo/otelcol-config.yml:/config.yml:ro - env_file: - - .env - - - grafana: - image: grafana/grafana:latest - ports: - - 3000:3000 - environment: - - INFLUX_HOST=${INFLUXDB_ADDR} - - INFLUX_TOKEN=${INFLUXDB_TOKEN} - - INFLUX_ORG=${INFLUXDB_ORG} - - INFLUX_BUCKET=${INFLUXDB_BUCKET} - - GF_INSTALL_PLUGINS=influxdata-flightsql-datasource - volumes: - - ./demo/grafana/datasources:/etc/grafana/provisioning/datasources - - ./demo/grafana/dashboards:/etc/grafana/provisioning/dashboards - - grafana:/var/lib/grafana/ - restart: always -volumes: - grafana: