From 93786b9f28e444dc87082c13646fd266e3c92689 Mon Sep 17 00:00:00 2001 From: Scott DeWitt Date: Sat, 27 Jul 2024 12:51:55 -0400 Subject: [PATCH] feat: 2.0.0 refactor --- .editorconfig | 14 + .gitattributes | 208 +++ .github/ISSUE_TEMPLATE/enhancement.md | 27 - .github/ISSUE_TEMPLATE/feature_request.md | 17 + .github/pull_request_template.md | 28 + .github/workflows/build.yml | 26 + .github/workflows/release.yml | 51 + .github/workflows/validate.yml | 47 + .gitignore | 135 +- .goreleaser.yaml | 49 + .pre-commit-config.yaml | 30 + CONTRIBUTING.md | 2 +- Makefile | 67 + README.md | 398 ++++- cmd/databricks/databricks.go | 75 + cmd/standalone/main.go | 31 - commitlint.config.js | 1 + configs/config.template.yml | 30 + configs/example_config.yaml | 27 - examples/spark-dashboard-executors.png | Bin 0 -> 307889 bytes examples/spark-dashboard-jobs.png | Bin 0 -> 304747 bytes examples/spark-dashboard-rdds.png | Bin 0 -> 268186 bytes examples/spark-dashboard-stages.png | Bin 0 -> 345854 bytes examples/spark-daskboard.json | 1633 +++++++++++++++++++ go.mod | 72 +- go.sum | 339 ++-- integration/databricks/api.go | 253 --- integration/databricks/databricks.go | 1005 ------------ integration/integration.go | 86 - integration/spark/api.go | 149 -- integration/spark/spark.go | 236 --- integration/utils/utils.go | 154 -- internal/databricks/databricks.go | 222 +++ internal/databricks/receiver.go | 32 + internal/spark/receiver.go | 1728 +++++++++++++++++++++ internal/spark/spark.go | 352 +++++ opentelemetry/README.md | 47 - pkg/config/config.go | 104 -- pkg/connect/http.go | 243 --- pkg/connect/interface.go | 21 - pkg/deser/interface.go | 3 - pkg/deser/json.go | 30 - pkg/env/infra/config.go | 35 - pkg/env/lambda/config.go | 38 - pkg/env/standalone/buffer.go | 8 - pkg/env/standalone/config.go | 72 - pkg/env/standalone/expor_worker.go | 86 - pkg/env/standalone/pipeline.go | 91 -- pkg/env/standalone/proc_worker.go | 55 - pkg/env/standalone/recv_worker.go | 91 -- pkg/env/standalone/reservoir.go | 59 - pkg/export/interface.go | 40 - pkg/export/nrapi.go | 278 ---- pkg/export/nrinfra.go | 163 -- pkg/export/otel.go | 402 ----- pkg/export/prom.go | 149 -- pkg/model/event.go | 20 - pkg/model/log.go | 23 - pkg/model/metric.go | 64 - pkg/model/model.go | 223 --- pkg/model/trace.go | 8 - 61 files changed, 5241 insertions(+), 4636 deletions(-) create mode 100644 .editorconfig create mode 100644 .gitattributes delete mode 100644 .github/ISSUE_TEMPLATE/enhancement.md create mode 100644 .github/ISSUE_TEMPLATE/feature_request.md create mode 100644 .github/pull_request_template.md create mode 100644 .github/workflows/build.yml create mode 100644 .github/workflows/release.yml create mode 100644 .github/workflows/validate.yml create mode 100644 .goreleaser.yaml create mode 100644 .pre-commit-config.yaml create mode 100644 Makefile create mode 100644 cmd/databricks/databricks.go delete mode 100644 cmd/standalone/main.go create mode 100644 commitlint.config.js create mode 100644 configs/config.template.yml delete mode 100644 configs/example_config.yaml create mode 100644 examples/spark-dashboard-executors.png create mode 100644 examples/spark-dashboard-jobs.png create mode 100644 examples/spark-dashboard-rdds.png create mode 100644 examples/spark-dashboard-stages.png create mode 100644 examples/spark-daskboard.json delete mode 100644 integration/databricks/api.go delete mode 100644 integration/databricks/databricks.go delete mode 100644 integration/integration.go delete mode 100644 integration/spark/api.go delete mode 100644 integration/spark/spark.go delete mode 100644 integration/utils/utils.go create mode 100644 internal/databricks/databricks.go create mode 100644 internal/databricks/receiver.go create mode 100644 internal/spark/receiver.go create mode 100644 internal/spark/spark.go delete mode 100644 opentelemetry/README.md delete mode 100644 pkg/config/config.go delete mode 100644 pkg/connect/http.go delete mode 100644 pkg/connect/interface.go delete mode 100644 pkg/deser/interface.go delete mode 100644 pkg/deser/json.go delete mode 100644 pkg/env/infra/config.go delete mode 100644 pkg/env/lambda/config.go delete mode 100644 pkg/env/standalone/buffer.go delete mode 100644 pkg/env/standalone/config.go delete mode 100644 pkg/env/standalone/expor_worker.go delete mode 100644 pkg/env/standalone/pipeline.go delete mode 100644 pkg/env/standalone/proc_worker.go delete mode 100644 pkg/env/standalone/recv_worker.go delete mode 100644 pkg/env/standalone/reservoir.go delete mode 100644 pkg/export/interface.go delete mode 100644 pkg/export/nrapi.go delete mode 100644 pkg/export/nrinfra.go delete mode 100644 pkg/export/otel.go delete mode 100644 pkg/export/prom.go delete mode 100644 pkg/model/event.go delete mode 100644 pkg/model/log.go delete mode 100644 pkg/model/metric.go delete mode 100644 pkg/model/model.go delete mode 100644 pkg/model/trace.go diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..f9e5ad3 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,14 @@ +root = true + +[*] +charset = utf-8 +end_of_line = lf +insert_final_newline = true +indent_size = 4 +indent_style = tab +trim_trailing_whitespace = true +max_line_length = 80 + +[*.md] +max_line_length = 0 +trim_trailing_whitespace = false diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..175d3cf --- /dev/null +++ b/.gitattributes @@ -0,0 +1,208 @@ +# Source: https://github.com/alexkaratarakis/gitattributes/blob/master/Web.gitattributes + +## GITATTRIBUTES FOR WEB PROJECTS +# +# These settings are for any web project. +# +# Details per file setting: +# text These files should be normalized (i.e. convert CRLF to LF). +# binary These files are binary and should be left untouched. +# +# Note that binary is a macro for -text -diff. +###################################################################### + +# Auto detect +## Handle line endings automatically for files detected as +## text and leave all files detected as binary untouched. +## This will handle all files NOT defined below. +* text=auto + +# Source code +*.bash text eol=lf +*.bat text eol=crlf +*.cmd text eol=crlf +*.coffee text +*.css text diff=css +*.htm text diff=html +*.html text diff=html +*.inc text +*.ini text +*.js text +*.json text +*.jsx text +*.less text +*.ls text +*.map text -diff +*.od text +*.onlydata text +*.php text diff=php +*.pl text +*.ps1 text eol=crlf +*.py text diff=python +*.rb text diff=ruby +*.sass text +*.scm text +*.scss text diff=css +*.sh text eol=lf +*.sql text +*.styl text +*.tag text +*.ts text +*.tsx text +*.xml text +*.xhtml text diff=html + +# Docker +Dockerfile text + +# Documentation +*.ipynb text +*.markdown text diff=markdown +*.md text diff=markdown +*.mdwn text diff=markdown +*.mdown text diff=markdown +*.mkd text diff=markdown +*.mkdn text diff=markdown +*.mdtxt text +*.mdtext text +*.txt text +AUTHORS text +CHANGELOG text +CHANGES text +CONTRIBUTING text +COPYING text +copyright text +*COPYRIGHT* text +INSTALL text +license text +LICENSE text +NEWS text +readme text +*README* text +TODO text + +# Templates +*.dot text +*.ejs text +*.erb text +*.haml text +*.handlebars text +*.hbs text +*.hbt text +*.jade text +*.latte text +*.mustache text +*.njk text +*.phtml text +*.svelte text +*.tmpl text +*.tpl text +*.twig text +*.vue text + +# Configs +*.cnf text +*.conf text +*.config text +.editorconfig text +.env text +.gitattributes text +.gitconfig text +.htaccess text +*.lock text -diff +package.json text eol=lf +package-lock.json text -diff +pnpm-lock.yaml text eol=lf -diff +.prettierrc text +yarn.lock text -diff +*.toml text +*.yaml text +*.yml text +browserslist text +Makefile text +makefile text + +# Heroku +Procfile text + +# Graphics +*.ai binary +*.bmp binary +*.eps binary +*.gif binary +*.gifv binary +*.ico binary +*.jng binary +*.jp2 binary +*.jpg binary +*.jpeg binary +*.jpx binary +*.jxr binary +*.pdf binary +*.png binary +*.psb binary +*.psd binary +# SVG treated as an asset (binary) by default. +*.svg text +# If you want to treat it as binary, +# use the following line instead. +# *.svg binary +*.svgz binary +*.tif binary +*.tiff binary +*.wbmp binary +*.webp binary + +# Audio +*.kar binary +*.m4a binary +*.mid binary +*.midi binary +*.mp3 binary +*.ogg binary +*.ra binary + +# Video +*.3gpp binary +*.3gp binary +*.as binary +*.asf binary +*.asx binary +*.avi binary +*.fla binary +*.flv binary +*.m4v binary +*.mng binary +*.mov binary +*.mp4 binary +*.mpeg binary +*.mpg binary +*.ogv binary +*.swc binary +*.swf binary +*.webm binary + +# Archives +*.7z binary +*.gz binary +*.jar binary +*.rar binary +*.tar binary +*.zip binary + +# Fonts +*.ttf binary +*.eot binary +*.otf binary +*.woff binary +*.woff2 binary + +# Executables +*.exe binary +*.pyc binary + +# RC files (like .babelrc or .eslintrc) +*.*rc text + +# Ignore files (like .npmignore or .gitignore) +*.*ignore text diff --git a/.github/ISSUE_TEMPLATE/enhancement.md b/.github/ISSUE_TEMPLATE/enhancement.md deleted file mode 100644 index 0907a9f..0000000 --- a/.github/ISSUE_TEMPLATE/enhancement.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -name: Enhancement request -about: Suggest an idea for a future version of this project -title: '' -labels: enhancement, needs-triage -assignees: '' - ---- - -[NOTE]: # ( ^^ Provide a general summary of the request in the title above. ^^ ) - -## Summary - -[NOTE]: # ( Provide a brief overview of what the new feature is all about. ) - -## Desired Behavior - -[NOTE]: # ( Tell us how the new feature should work. Be specific. ) -[TIP]: # ( Do NOT give us access or passwords to your New Relic account or API keys! ) - -## Possible Solution - -[NOTE]: # ( Not required. Suggest how to implement the addition or change. ) - -## Additional context - -[TIP]: # ( Why does this feature matter to you? What unique circumstances do you have? ) diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 0000000..5744bb4 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,17 @@ +--- +name: Feature request +about: Suggest an idea for this project +title: '' +labels: '' +assignees: '' + +--- + +### Feature Description +A clear and concise description of the feature you want or need. + +### Describe Alternatives +A clear and concise description of any alternative solutions or features you've considered. Are there examples you could link us to? + +### Additional context +Add any other context here. diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 0000000..371537e --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,28 @@ +# Description + +Please include a summary of the changes and the related issue. + +## Type of change + +- [ ] Bug fix (non-breaking change which fixes an issue) +- [ ] New feature (non-breaking change which adds functionality) +- [ ] Breaking change (fix or feature that would cause existing + functionality to not work as expected) +- [ ] This change requires a documentation update + +# How Has This Been Tested? + +Please describe the tests that you ran to verify your changes. + +- [ ] Test A +- [ ] Test B + +# Checklist: + +- [ ] My code follows the style guidelines of this project +- [ ] I have performed a self-review of my code +- [ ] I have commented my code, particularly in hard-to-understand areas +- [ ] I have made corresponding changes to the documentation +- [ ] My changes generate no new warnings +- [ ] I have added tests that prove my fix is effective or that my feature works +- [ ] New and existing unit tests pass locally with my changes diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..6901d81 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,26 @@ +# This workflow will build a golang project +# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-go + +name: Build & Test + +on: [push, pull_request] + +jobs: + + build: + runs-on: ubuntu-latest + steps: + - name: Checkout repo + uses: actions/checkout@v4 + + - name: Set up Go + uses: actions/setup-go@v5 + with: + go-version: '1.22.x' + check-latest: true + + - name: Build + run: go build -v ./... + + - name: Test + run: go test -v ./... diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..961fd72 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,51 @@ +# This workflow will release a golang project using goreleaser + +name: Release + +permissions: write-all + +on: + push: + branches: [ "main" ] + +jobs: + + release: + runs-on: ubuntu-latest + steps: + - name: Checkout repo + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Set up Go + uses: actions/setup-go@v5 + with: + go-version: '1.22.x' + check-latest: true + + - name: Set up svu + uses: obfu5c8/action-svu@v1 + id: install_svu + with: + type: none + + - name: Tag latest commit + id: tag-commit + run: | + CURR=$(svu c) + NEXT=$(svu) + if [[ "$NEXT" != "$CURR" ]]; then + git tag $NEXT + echo "next-version=$NEXT" >> "$GITHUB_OUTPUT" + else + echo "next-version=" >> "$GITHUB_OUTPUT" + fi + + - name: Run GoReleaser + uses: goreleaser/goreleaser-action@v6 + if: steps.tag-commit.outputs.next-version != '' + with: + args: release --clean + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/validate.yml b/.github/workflows/validate.yml new file mode 100644 index 0000000..0d728b4 --- /dev/null +++ b/.github/workflows/validate.yml @@ -0,0 +1,47 @@ +# This workflow will validate a golang project + +name: Validate + +on: + push: + pull_request: + branches: + - main + +jobs: + + lint: + runs-on: ubuntu-latest + steps: + - name: Checkout repo + uses: actions/checkout@v4 + with: + fetch-depth: 2 + + - name: Set up Go + uses: actions/setup-go@v5 + with: + go-version: '1.22.x' + check-latest: true + + - name: Set up Python + uses: actions/setup-python@v5 + + - name: Setup Node + uses: actions/setup-node@v4 + + - name: Add GOBIN to PATH + run: echo "$(go env GOPATH)/bin" >> $GITHUB_PATH + shell: bash + + - name: Install staticcheck + run: "go install 'honnef.co/go/tools/cmd/staticcheck@latest'" + + - name: Run pre-commit + uses: pre-commit/action@v3.0.1 + + - name: Install commitlint + run: "npm install -g @commitlint/cli @commitlint/config-conventional" + + - name: Lint last commit message + run: "commitlint --from HEAD~1 --to HEAD --verbose" diff --git a/.gitignore b/.gitignore index c45b753..accbf60 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,134 @@ -.DS_store -cmd/standalone/standalone -cmd/standalone/*.yaml -cmd/playground +# Source: https://github.com/github/gitignore/blob/master/Node.gitignore + +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +lerna-debug.log* +.pnpm-debug.log* + +# Diagnostic reports (https://nodejs.org/api/report.html) +report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage +*.lcov + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (https://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules/ +jspm_packages/ + +# Snowpack dependency directory (https://snowpack.dev/) +web_modules/ + +# TypeScript cache +*.tsbuildinfo + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Microbundle cache +.rpt2_cache/ +.rts2_cache_cjs/ +.rts2_cache_es/ +.rts2_cache_umd/ + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# dotenv environment variables file +.env +.env.test +.env.production + +# parcel-bundler cache (https://parceljs.org/) +.cache +.parcel-cache + +# Next.js build output +.next +out + +# Nuxt.js build / generate output +.nuxt +dist + +# Gatsby files +.cache/ +# Comment in the public line in if your project uses Gatsby and not Next.js +# https://nextjs.org/blog/next-9-1#public-directory-support +# public + +# vuepress build output +.vuepress/dist + +# Serverless directories +.serverless/ + +# FuseBox cache +.fusebox/ + +# DynamoDB Local files +.dynamodb/ + +# TernJS port file +.tern-port + +# Stores VSCode versions used for testing VSCode extensions +.vscode-test + +# yarn v2 +.yarn/cache +.yarn/unplugged +.yarn/build-state.yml +.yarn/install-state.gz +.pnp.* + +# Binary directory +bin + +# Config and local files +config.yml config.yaml *.local.* + +dist/ +cf-params.json +__tools/ main +.DS_Store diff --git a/.goreleaser.yaml b/.goreleaser.yaml new file mode 100644 index 0000000..39b9c7e --- /dev/null +++ b/.goreleaser.yaml @@ -0,0 +1,49 @@ +# yaml-language-server: $schema=https://goreleaser.com/static/schema.json +version: 2 +before: + hooks: + # You may remove this if you don't use go modules. + - go mod tidy + +builds: + - id: standalone + main: ./cmd/databricks/databricks.go + env: + - CGO_ENABLED=0 + goos: + - linux + - windows + goarch: + - "386" + - amd64 + ldflags: + - '-s -w -X main.gInterationVersion={{.Version}} -X main.gGitCommit={{.Commit}} -X main.gBuildDate={{.Date}}' + +archives: + - builds: + - standalone + format: tar.gz + # this name template makes the OS and Arch compatible with the results of uname. + name_template: >- + {{ .ProjectName }}_ + {{- title .Os }}_ + {{- if eq .Arch "amd64" }}x86_64 + {{- else if eq .Arch "386" }}i386 + {{- else }}{{ .Arch }}{{ end }} + # use zip for windows archives + format_overrides: + - goos: windows + format: zip + +checksum: + name_template: 'checksums.txt' + +snapshot: + name_template: "{{ incpatch .Version }}-next" + +changelog: + sort: asc + filters: + exclude: + - '^docs:' + - '^test:' diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 0000000..a6df772 --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,30 @@ +# See https://pre-commit.com for more information +# See https://pre-commit.com/hooks.html for more hooks +default_stages: +- commit +repos: +- repo: https://github.com/pre-commit/pre-commit-hooks + rev: v4.4.0 + hooks: + - id: check-added-large-files + - id: check-byte-order-marker + - id: check-executables-have-shebangs + - id: check-json + - id: check-shebang-scripts-are-executable + - id: check-yaml + exclude: cf-template.yaml + - id: end-of-file-fixer + - id: mixed-line-ending + - id: trailing-whitespace +- repo: https://github.com/Bahjat/pre-commit-golang + rev: v1.0.3 + hooks: + - id: go-vet + - id: go-static-check # install https://staticcheck.io/docs/ +- repo: https://github.com/alessandrojcm/commitlint-pre-commit-hook + rev: v9.5.0 + hooks: + - id: commitlint + stages: + - commit-msg + additional_dependencies: ['@commitlint/config-conventional'] diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 09d46ee..9fce8d1 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -27,4 +27,4 @@ For more information about CLAs, please check out Alex Russell’s excellent pos ## Slack -We host a public Slack with a dedicated channel for contributors and maintainers of open source projects hosted by New Relic. If you are contributing to this project, you're welcome to request access to the #oss-contributors channel in the newrelicusers.slack.com workspace. To request access, see https://join.slack.com/t/newrelicusers/shared_invite/zt-1ayj69rzm-~go~Eo1whIQGYnu3qi15ng. +We host a public Slack with a dedicated channel for contributors and maintainers of open source projects hosted by New Relic. If you are contributing to this project, you're welcome to request access to the #oss-contributors channel in the newrelicusers.slack.com workspace. To request access, please use this [link](https://join.slack.com/t/newrelicusers/shared_invite/zt-1ayj69rzm-~go~Eo1whIQGYnu3qi15ng). diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..e4c6d54 --- /dev/null +++ b/Makefile @@ -0,0 +1,67 @@ +export PATH := $(PATH):$(GOPATH)/bin + +INTEGRATION := newrelic-databricks-integration +BINARY_NAME = $(INTEGRATION) +LAMBDA_BINARY_NAME = bootstrap +BIN_FILES := ./cmd/databricks/... +#LAMBDA_BIN_FILES := ./cmd/bitmovin-lambda/... + +GIT_COMMIT = $(shell git rev-parse HEAD) +BUILD_DATE = $(shell date -u +"%Y-%m-%dT%H:%M:%SZ") +GIT_TAG = $(shell git describe --tags --abbrev=0 --exact-match 2>/dev/null) + +LDFLAGS += -X main.gInterationVersion=$(GIT_TAG) +LDFLAGS += -X main.gGitCommit=${GIT_COMMIT} +LDFLAGS += -X main.gBuildDate=${BUILD_DATE} + +all: build + +#build: clean compile compile-lambda compile-docker +build: clean compile + +clean: + @echo "=== $(INTEGRATION) === [ clean ]: removing binaries..." + @rm -rfv bin + +bin/$(BINARY_NAME): + @echo "=== $(INTEGRATION) === [ compile ]: building $(BINARY_NAME)..." + @go mod tidy + @go build -v -ldflags '$(LDFLAGS)' -o bin/$(BINARY_NAME) $(BIN_FILES) + +#bin/docker/$(BINARY_NAME): +# @echo "=== $(INTEGRATION) === [ compile ]: building Docker binary $(BINARY_NAME)..." +# @go mod tidy +# @GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -v -ldflags '$(LDFLAGS)' \ +# -o bin/docker/$(BINARY_NAME) $(BIN_FILES) +# +#bin/$(LAMBDA_BINARY_NAME): +# @echo "=== $(INTEGRATION) === [ compile ]: building $(LAMBDA_BINARY_NAME)..." +# @go mod tidy +# @GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -v -ldflags '$(LDFLAGS)' \ +# -tags lambda.norpc -o bin/$(LAMBDA_BINARY_NAME) $(LAMBDA_BIN_FILES) + +compile: bin/$(BINARY_NAME) + +#compile-lambda: bin/$(LAMBDA_BINARY_NAME) +# +#compile-docker: bin/docker/$(BINARY_NAME) +# +#docker: build +# @docker build -t newrelic-bitmovin-analytics:latest \ +# -f build/package/Dockerfile \ +# . +# +#package-lambda: build +# @./scripts/lambda/build.sh +# +#deploy-lambda: build +# @./scripts/lambda/deploy.sh +# +#update-lambda: build +# @./scripts/lambda/update.sh +# +#delete-lambda: +# @./scripts/lambda/delete.sh +# +#.PHONY: all build clean compile compile-lambda compile-docker docker deploy-lambda update-lambda delete-lambda +.PHONY: all build clean compile diff --git a/README.md b/README.md index 6d9900a..ec8216c 100644 --- a/README.md +++ b/README.md @@ -1,135 +1,383 @@ New Relic Open Source experimental project banner. +![GitHub forks](https://img.shields.io/github/forks/newrelic-experimental/newrelic-databricks-integration?style=social) +![GitHub stars](https://img.shields.io/github/stars/newrelic-experimental/newrelic-databricks-integration?style=social) +![GitHub watchers](https://img.shields.io/github/watchers/newrelic-experimental/newrelic-databricks-integration?style=social) + +![GitHub all releases](https://img.shields.io/github/downloads/newrelic-experimental/newrelic-databricks-integration/total) +![GitHub release (latest by date)](https://img.shields.io/github/v/release/newrelic-experimental/newrelic-databricks-integration) +![GitHub last commit](https://img.shields.io/github/last-commit/newrelic-experimental/newrelic-databricks-integration) +![GitHub Release Date](https://img.shields.io/github/release-date/newrelic-experimental/newrelic-databricks-integration) + +![GitHub issues](https://img.shields.io/github/issues/newrelic-experimental/newrelic-databricks-integration) +![GitHub issues closed](https://img.shields.io/github/issues-closed/newrelic-experimental/newrelic-databricks-integration) +![GitHub pull requests](https://img.shields.io/github/issues-pr/newrelic-experimental/newrelic-databricks-integration) +![GitHub pull requests closed](https://img.shields.io/github/issues-pr-closed/newrelic-experimental/newrelic-databricks-integration) + # New Relic Databricks Integration -Welcome to the New Relic Integration for Databricks! This repository provides scripts and instructions for integrating New Relic with Databricks through New Relic Datbaricks Integration or through other Open Source tools like OpenTelemetry and Prometheus. +This integration collects Spark telemetry, Workflow telemetry, and Cost and +Billing information from Databricks. + +![Apache Spark Dashboard Screenshot](./examples/spark-dashboard-jobs.png) + +## Table of Contents + +* [Getting Started](#getting-started) + * [On-host Deployment](#on-host) +* [Features](#features) +* [Usage](#usage) + * [Command Line Options](#command-line-options) + * [Configuration](#configuration) + * [General configuration](#general-configuration) + * [Pipeline configuration](#pipeline-configuration) + * [Log configuration](#log-configuration) + * [Query configuration](#query-configuration) + +## Getting Started + +To get started with the New Relic Databricks integration, [deploy the integration on a supported host environment](#on-host) and then [import](https://docs.newrelic.com/docs/query-your-data/explore-query-data/dashboards/dashboards-charts-import-export-data/#import-json) the [sample dashboard](./examples/spark-daskboard.json). + +**NOTE:** [On-host deployment](#on-host) is currently the only supported deployment type. + +### On-host + +The New Relic Databricks integration provides binaries for the following +host platforms. + +* Linux x86 +* Linux amd64 +* Windows x86 +* Windows amd64 + +#### Deploy the integration on host + +To run the Databricks integration on a host, perform the following steps. + +1. Download the appropriate binary for your platform from the [latest release](https://github.com/newrelic-experimental/newrelic-databricks-integration/releases). +1. Create a directory named `configs` in the directory containing the binary. +1. Create a file named `config.yml` in the `configs` directory and copy the + contents of the file [`configs/config.template.yml`](./configs/config.template.yml) + in this repository into it. +1. Edit the `config.yml` file to [configure](#configuration) the integration + appropriately for your environment. +1. Using the directory containing the binary as the current working directory, + execute the binary using the appropriate [Command Line Options](#command-line-options). + +## Features + +The New Relic Databricks integration supports the following capabilities. + +* [Collect Spark telemetry](#event-log-files) + + The New Relic Databricks integration can collect telemetry from Spark running + on Databricks. By default, the integration will automatically connect to + and collect telemetry from the Spark deployments in all clusters created via + the UI or API in the specified workspace. + +## Usage + +### Command Line Options + +| Option | Description | Default | +| --- | --- | --- | +| --config_path | path to the (#configyml) to use | `configs/config.yml` | +| --dry_run | flag to enable "dry run" mode | `false` | +| --env_prefix | prefix to use for environment variable lookup | `''` | +| --verbose | flag to enable "verbose" mode | `false` | +| --version | display version information only | N/a | + +### Configuration + +#### `config.yml` + +The Databricks integration is configured using a YAML file named [`config.yml`](#configyml). +The default location for this file is `configs/config.yml` relative to the +current working directory when the integration binary is executed. The supported +configuration parameters are listed below. See [`config.template.yml`](./configs/config.template.yml) +for a full configuration example. + +##### General configuration + +The parameters in this section are configured at the top level of the +[`config.yml`](#configyml). + +###### `licenseKey` + +| Description | Valid Values | Required | Default | +| --- | --- | --- | --- | +| New Relic license key | string | Y | N/a | -## Overview +This parameter specifies the New Relic License Key (INGEST) that should be used +to send generated metrics. -This repository provides you various ways to utilize New Relic directly from your Databricks environment. With options to monitor via standalone integration, OpenTelemetry (OTel), or Prometheus, you flexibly choose what best fits your operational needs. +The license key can also be specified using the `NEW_RELIC_LICENSE_KEY` +environment variable. -- **New Relic Databricks Integration:** A direct connection between Databricks and New Relic, enabling seamless data transfer and analysis capabilities. This integration supports `spark metrics`, `databricks queries metrics`, `databricks job runs events`. This integration along with New Relic APM agent can pull `logs`, and cluster performance related data as well. +###### `region` -- **OpenTelemetry (OTel) Integration:** An open-source observability framework, enabling you to generate and manage telemetry data, supports `spark metrics` from Databricks. Please follow the [instructions here](/opentelemetry/README.md) for a detailed guide on how to add initialization scripts for OpenTelemetry to your Databricks cluster. +| Description | Valid Values | Required | Default | +| --- | --- | --- | --- | +| New Relic region identifier | `US` / `EU` | N | `US` | -- **Prometheus Integration:** A powerful open-source systems monitoring and alerting toolkit which can process metrics from Databricks. Support `spark metrics` from Databricks. Please follow the [instructions here](link-to-the-instruction-page) for a detailed guide on how to add initialization scripts to your Databricks cluster. +This parameter specifies which New Relic region that generated metrics should be +sent to. -Pick the option that suits your use-case and follow the associated guide to get started. +###### `interval` -## Setup New Relic Databricks Integration +| Description | Valid Values | Required | Default | +| --- | --- | --- | --- | +| Polling interval (in _seconds_) | numeric | N | 60 | -The Standalone environment runs the data pipelines as an independant service, either on-premises or cloud instances like AWS EC2. It can run on Linux, macOS, Windows, and any OS with support for GoLang. +This parameter specifies the interval (in _seconds_) at which the integration +should poll for data. -### Prerequisites +This parameter is only used when [`runAsService`](#runasservice) is set to +`true`. -- Go 1.20 or later. +###### `runAsService` -### Build +| Description | Valid Values | Required | Default | +| --- | --- | --- | --- | +| Flag to enable running the integration as a "service" | `true` / `false` | N | `false` | -Open a terminal, CD to `cmd/standalone`, and run: +The integration can run either as a "service" or as a simple command line +utility which runs once and exits when it is complete. -```bash -$ go build -``` +When set to `true`, the integration process will run continuously and poll the +for data at the recurring interval specified by the [`interval`](#interval) +parameter. The process will only exit if it is explicitly stopped or a fatal +error or panic occurs. -### Configuring the Pipeline +When set to `false`, the integration will run once and exit. This is intended for +use with an external scheduling mechanism like [cron](https://man7.org/linux/man-pages/man8/cron.8.html). -The standalone environment requieres a YAML file for pipeline configuration. The requiered keys are: +###### `pipeline` -- `interval`: Integer. Time in seconds between requests. +| Description | Valid Values | Required | Default | +| --- | --- | --- | --- | +| The root node for the set of [pipeline configuration](#pipeline-configuration) parameters | YAML Sequence | N | N/a | -Check `config/example_config.yaml` for a configuration example. +The integration retrieves, processes, and exports data to New Relic using +a data pipeline consisting of one or more receivers, a processing chain, and a +New Relic exporter. Various aspects of the pipeline are configurable. This +element groups together the configuration parameters related to +[pipeline configuration](#pipeline-configuration). -#### New Relic APIs exporter +###### `log` -- `nr_account_id`: String. Account ID. -- `nr_api_key`: String. Api key for writing. -- `nr_endpoint`: String. New Relic endpoint region. Either `US` or `EU`. Optional, default value is `US`. +| Description | Valid Values | Required | Default | +| --- | --- | --- | --- | +| The root node for the set of [log configuration](#log-configuration) parameters | YAML Sequence | N | N/a | -### Running the Pipeline +The integration uses the [logrus](https://pkg.go.dev/github.com/sirupsen/logrus) +package for application logging. This element groups together the configuration +parameters related to [log configuration](#log-configuration). -Just run the following command from the build folder: +###### `mode` -```bash -$ ./standalone path/to/config.yaml -``` +| Description | Valid Values | Required | Default | +| --- | --- | --- | --- | +| The integration execution mode | `databricks` | N | `databricks` | -To run the pipeline on system start, check your specific system init documentation. +The integration execution mode. Currently, the only supported execution mode is +`databricks`. -### Adding Initialization Scripts to Databricks +###### `databricks` -Databricks Initialization Scripts are shell scripts that run when a cluster is starting. They are useful for setting up custom configurations or third-party integrations such as setting up monitoring agents. Here is how you add an init script to Databricks. +| Description | Valid Values | Required | Default | +| --- | --- | --- | --- | +| The root node for the set of [Databricks configuration](#databricks-configuration) parameters | YAML Sequence | N | N/a | -Based on the cloud Databricks is hosted on, you will be able to run the APM agent. +This element groups together the configuration parameters related to +[Databricks configuration](#databricks-configuration). -### Install New Relic APM on Databricks +The configuration parameters in this section are only needed when collecting +Databricks specific data such as workflow and job telemetry or Databricks +account information or when collecting telemetry from Spark running on a +Databricks cluster. -1. **Add script to Databricks:** Create new file in workspace as nr-agent-installation.sh and add the below script to it. +###### `spark` - ```bash - #!/bin/bash +| Description | Valid Values | Required | Default | +| --- | --- | --- | --- | +| The root node for the set of [Spark configuration](#spark-configuration) parameters | YAML Sequence | N | N/a | - # Define the newrelic version and jar path +This element groups together the configuration parameters related to +[Spark configuration](#spark-configuration). - NR_VERSION="8.10.0" # replace with the version you want - NR_JAR_PATH="/databricks/jars/newrelic-agent-${NR_VERSION}.jar" - NR_CONFIG_FILE="/databricks/jars/newrelic.yml" +The configuration parameters in this section can be used with or without the +[`databricks`](#databricks) configuration parameters depending on whether the +target Spark instance(s) are running on Databricks or not. See the +[Databricks configuration](#databricks-configuration) section for details on +collecting Spark telemetry from Spark running on Databricks. - # Download the newrelic java agent - curl -o ${NR_JAR_PATH} -L https://download.newrelic.com/newrelic/java-agent/newrelic-agent/${NR_VERSION}/newrelic-agent-${NR_VERSION}.jar +##### Pipeline configuration - # Create new relic yml file - echo "common: &default_settings - license_key: 'xxxxxx' # Replace with your License Key - agent_enabled: true +###### `receiveBufferSize` - production: - <<: *default_settings - app_name: Databricks" > ${NR_CONFIG_FILE} - ``` +| Description | Valid Values | Required | Default | +| --- | --- | --- | --- | +| Size of the buffer that holds items before processing | number | N | 500 | -2. **Add the script to your Databricks cluster:** To add the initialization script to your cluster in Databricks, follow these steps: +This parameter specifies the size of the buffer that holds received items before +being flushed through the processing chain and on to the exporters. When this +size is reached, the items in the buffer will be flushed automatically. - - Navigate to your Databricks workspace and go to the `Clusters` page. - - Choose the cluster you want to add the script to and click `Edit`. - - In the `Advanced Options` section, find the `Init Scripts` field. - - Click on `Add`, then in the Script Path input, select workspace or cloud storage path where your script is stored. - - Click `Confirm` and then `Update`. +###### `harvestInterval` -3. **Add Spark configurations to attach the java agent:** +| Description | Valid Values | Required | Default | +| --- | --- | --- | --- | +| Harvest interval (in _seconds_) | number | N | 60 | - - Navigate to your cluster `Advanced Options`, then `Spark`. - - Add or update Spark configurations as key-value pairs. Here's an example: +This parameter specifies the interval (in _seconds_) at which the pipeline +should automatically flush received items through the processing chain and on +to the exporters. Each time this interval is reached, the pipeline will flush +items even if the item buffer has not reached the size specified by the +[`receiveBufferSize`](#receiveBufferSize) parameter. - ```bash - # Example jar path "/databricks/jars/newrelic-agent-8.10.0.jar" +###### `instances` - echo "spark.driver.extraJavaOptions -javaagent:${NR_JAR_PATH}" - echo "spark.executor.extraJavaOptions -javaagent:${NR_JAR_PATH}" - ``` +| Description | Valid Values | Required | Default | +| --- | --- | --- | --- | +| Number of concurrent pipeline instances to run | number | N | 3 | -4. **Verify the script was executed:** After your cluster starts/restarts, you should verify that the script was executed successfully. You can do this by checking the cluster logs via the `Logs` tab on your clusters page. +The integration retrieves, processes, and exports metrics to New Relic using +a data pipeline consisting of one or more receivers, a processing chain, and a +New Relic exporter. When [`runAsService`](#runasservice) is `true`, the +integration can launch one or more "instances" of this pipeline to receive, +process, and export data concurrently. Each "instance" will be configured with +the same processing chain and exporters and the receivers will be spread across +the available instances in a round-robin fashion. -***Note***: Any changes to the script settings will apply only to new clusters or when existing clusters are restarted. +This parameter specifies the number of pipeline instances to launch. + +**NOTE:** When [`runAsService`](#runasservice) is `false`, only a single +pipeline instance is used. + +##### Log configuration + +###### `level` + +| Description | Valid Values | Required | Default | +| --- | --- | --- | --- | +| Log level | `panic` / `fatal` / `error` / `warn` / `info` / `debug` / `trace` | N | `warn` | + +This parameter specifies the maximum severity of log messages to output with +`trace` being the least severe and `panic` being the most severe. For example, +at the default log level (`warn`), all log messages with severities `warn`, +`error`, `fatal`, and `panic` will be output but `info`, `debug`, and `trace` +will not. + +###### `fileName` + +| Description | Valid Values | Required | Default | +| --- | --- | --- | --- | +| Path to a file where log output will be written | string | N | `stderr` | + +This parameter designates a file path where log output should be written. When +no path is specified, log output will be written to the standard error stream +(`stderr`). + +##### Databricks configuration + +###### `accessToken` + +| Description | Valid Values | Required | Default | +| --- | --- | --- | --- | +| Databricks access token | string | Y | N/a | + +This parameter specifies the Databricks [personal access token](https://docs.databricks.com/en/dev-tools/auth/pat.html) +used by the integration to authenticate Databricks API calls. + +The access token can also be specified using the `DATABRICKS_ACCESSTOKEN` +environment variable. + +###### `workspaceHost` + +| Description | Valid Values | Required | Default | +| --- | --- | --- | --- | +| Databricks workspace instance name | string | Y | N/a | + +This parameter specifies the [instance name](https://docs.databricks.com/en/workspace/workspace-details.html) +of the target Databricks instance for which data should be collected. This is +used by the integration when constructing the URLs for API calls. Note that the +value of this parameter _must not_ include the `https://` prefix, e.g. +`https://my-databricks-instance-name.cloud.databricks.com`. + +The workspace host can also be specified using the `DATABRICKS_WORKSPACEHOST` +environment variable. + +##### Spark configuration + +###### `metricPrefix` + +| Description | Valid Values | Required | Default | +| --- | --- | --- | --- | +| A prefix to prepend to Spark metric names | string | N | `spark.` | + +This parameter specifies a prefix that will be prepended to each Spark metric +name when the metric is exported to New Relic. + +For example, if this parameter is set to `spark.` (the default), then the full +name of the metric representing the value of the memory used on application +executors (`app.executor.memoryUsed`) will be `spark.app.executor.memoryUsed`. + +**NOTE:** It is not recommended to leave this value empty as the metric names +without a prefix may be ambiguous. ## Support -New Relic hosts and moderates an online forum where customers can interact with New Relic employees as well as other customers to get help and share best practices. If you're running into a problem, please raise an issue on this repository and we will try to help you ASAP. Please bear in mind this is an open source project and hence it isn't directly supported by New Relic. +New Relic has open-sourced this project. This project is provided AS-IS WITHOUT +WARRANTY OR DEDICATED SUPPORT. Issues and contributions should be reported to +the project here on GitHub. + +We encourage you to bring your experiences and questions to the +[Explorers Hub](https://discuss.newrelic.com/) where our community members +collaborate on solutions and new ideas. + +### Privacy + +At New Relic we take your privacy and the security of your information +seriously, and are committed to protecting your information. We must emphasize +the importance of not sharing personal data in public forums, and ask all users +to scrub logs and diagnostic information for sensitive information, whether +personal, proprietary, or otherwise. -## Contribute +We define “Personal Data” as any information relating to an identified or +identifiable individual, including, for example, your name, phone number, post +code or zip code, Device ID, IP address, and email address. -We encourage your contributions to improve New relic Databricks Integration! Keep in mind that when you submit your pull request, you'll need to sign the CLA via the click-through using CLA-Assistant. You only have to sign the CLA one time per project. +For more information, review [New Relic’s General Data Privacy Notice](https://newrelic.com/termsandconditions/privacy). -If you have any questions, or to execute our corporate CLA (which is required if your contribution is on behalf of a company), drop us an email at . +### Contribute + +We encourage your contributions to improve this project! Keep in mind that +when you submit your pull request, you'll need to sign the CLA via the +click-through using CLA-Assistant. You only have to sign the CLA one time per +project. + +If you have any questions, or to execute our corporate CLA (which is required +if your contribution is on behalf of a company), drop us an email at +opensource@newrelic.com. **A note about vulnerabilities** -As noted in our [security policy](../../security/policy), New Relic is committed to the privacy and security of our customers and their data. We believe that providing coordinated disclosure by security researchers and engaging with the security community are important means to achieve our security goals. +As noted in our [security policy](../../security/policy), New Relic is committed +to the privacy and security of our customers and their data. We believe that +providing coordinated disclosure by security researchers and engaging with the +security community are important means to achieve our security goals. -If you believe you have found a security vulnerability in this project or any of New Relic's products or websites, we welcome and greatly appreciate you reporting it to New Relic through [our bug bounty program](https://docs.newrelic.com/docs/security/security-privacy/information-security/report-security-vulnerabilities/). +If you believe you have found a security vulnerability in this project or any of +New Relic's products or websites, we welcome and greatly appreciate you +reporting it to New Relic through [HackerOne](https://hackerone.com/newrelic). If you would like to contribute to this project, review [these guidelines](./CONTRIBUTING.md). -## License +To all contributors, we thank you! Without your contribution, this project +would not be what it is today. + +### License -New Relic Databricks Integration is licensed under the [Apache 2.0](http://apache.org/licenses/LICENSE-2.0.txt) License. +The New Relic Databricks Integration project is licensed under the +[Apache 2.0](http://apache.org/licenses/LICENSE-2.0.txt) License. diff --git a/cmd/databricks/databricks.go b/cmd/databricks/databricks.go new file mode 100644 index 0000000..f29e4c4 --- /dev/null +++ b/cmd/databricks/databricks.go @@ -0,0 +1,75 @@ +package main + +import ( + "context" + "fmt" + + "github.com/newrelic-experimental/newrelic-databricks-integration/internal/databricks" + "github.com/newrelic/newrelic-labs-sdk/pkg/integration" + "github.com/newrelic/newrelic-labs-sdk/pkg/integration/log" + "github.com/spf13/viper" +) + +var ( + /* Args below are populated via ldflags at build time */ + gIntegrationID = "com.newrelic.labs.newrelic-databricks-integration" + gIntegrationName = "New Relic Databricks Integration" + gIntegrationVersion = "2.0.0" + gGitCommit = "" + gBuildDate = "" + gBuildInfo = integration.BuildInfo{ + Id: gIntegrationID, + Name: gIntegrationName, + Version: gIntegrationVersion, + GitCommit: gGitCommit, + BuildDate: gBuildDate, + } +) + +func main() { + // Create a new background context to use + ctx := context.Background() + + // Create the integration with options + i, err := integration.NewStandaloneIntegration( + &gBuildInfo, + gBuildInfo.Name, + integration.WithInterval(60), + integration.WithLicenseKey(), + integration.WithApiKey(), + integration.WithEvents(ctx), + ) + fatalIfErr(err) + + mode := viper.GetString("mode") + if mode == "" { + mode = "databricks" + } + + switch mode { + case "databricks": + err = databricks.InitPipelines(ctx, i) + fatalIfErr(err) + + // @TODO: support any spark context + //case "spark": + // err = spark.InitPipelines(i) + // fatalIfErr(err) + + // @TODO: support other cluster providers/modes like yarn/k8s + + default: + fatalIfErr(fmt.Errorf("unrecognized mode %s", mode)) + } + + // Run the integration + defer i.Shutdown(ctx) + err = i.Run(ctx) + fatalIfErr(err) +} + +func fatalIfErr(err error) { + if err != nil { + log.Fatalf(err) + } +} diff --git a/cmd/standalone/main.go b/cmd/standalone/main.go deleted file mode 100644 index 1c0e318..0000000 --- a/cmd/standalone/main.go +++ /dev/null @@ -1,31 +0,0 @@ -package main - -import ( - "os" - - log "github.com/sirupsen/logrus" - - "newrelic/multienv/pkg/env/standalone" -) - -func main() { - configFile := "./config.yaml" - if len(os.Args) > 1 { - configFile = os.Args[1] - } - - log.Print("Loading config file: " + configFile) - - pipeConf, err := standalone.LoadConfig(configFile) - if err != nil { - log.Error("Error loading config: ", err) - os.Exit(1) - } - - err = standalone.Start(pipeConf) - if err != nil { - os.Exit(2) - } - - select {} -} diff --git a/commitlint.config.js b/commitlint.config.js new file mode 100644 index 0000000..4fedde6 --- /dev/null +++ b/commitlint.config.js @@ -0,0 +1 @@ +module.exports = { extends: ['@commitlint/config-conventional'] } diff --git a/configs/config.template.yml b/configs/config.template.yml new file mode 100644 index 0000000..3aef05a --- /dev/null +++ b/configs/config.template.yml @@ -0,0 +1,30 @@ +apiKey: [YOUR_NEW_RELIC_API_KEY] +licenseKey: [YOUR_NEW_RELIC_LICENSE_KEY] +accountId: 123456 +region: US +interval: 60 +runAsService: false +pipeline: + receiveBufferSize: 500 + harvestInterval: 60 + instances: 3 +log: + level: warn + fileName: trace.log + +mode: databricks + +databricks: + accessToken: [YOUR_DATABRICKS_ACCESS_TOKEN] + workspaceHost: [YOUR_DATABRICKS_WORKSPACE_INSTANCE_NAME] + # RESERVED FOR FUTURE USE + #accountHost: https://accounts.cloud.databricks.com + # RESERVED FOR FUTURE USE + #sparkMetrics: true + +spark: + # RESERVED FOR FUTURE USE + #contexts: + #- contextUrl1 + #- contextUrl2 + metricPrefix: spark. diff --git a/configs/example_config.yaml b/configs/example_config.yaml deleted file mode 100644 index 1f2ef7d..0000000 --- a/configs/example_config.yaml +++ /dev/null @@ -1,27 +0,0 @@ -# Config example file to configure a data pipeline for the Standalone Environment. -# -# "interval", number of seconds between executions. Optional, default value 60. -# "exporter", string, where to export data. Possible values: "nrinfra", "nrmetrics", "nrevents", "nrlogs", "nrtraces", "otel" and "prom" -# "buffer", size of channel buffers. Optional, default value 100. - -interval: 60 - -# Custom keys here... - -# Size of communication buffer between modules -# buffer: 500 - -# New Relic API credentials -nr_account_id: xxxxx -nr_user_key: xxxxx -nr_api_key: xxxxx -nr_endpoint: US - -# Databricks Credentials -db_access_token: xxxxx -spark_endpoint: xxxxx -databricks_endpoint: xxxxx - -# Exporter batching and timing -batch_size: 50 -harvest_time: 10 \ No newline at end of file diff --git a/examples/spark-dashboard-executors.png b/examples/spark-dashboard-executors.png new file mode 100644 index 0000000000000000000000000000000000000000..95fe120a0511ad9194814cbe5b68724dffe7d715 GIT binary patch literal 307889 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�o#V%B+yDvq&s0F|iTI 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%0DPdH4t3o+>e&pHZ5FT3iG2wSW;4nMr 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%0D!^>y@r&8ClqgR#UXnA?=$YXC!wNC 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

TtiNMpbTpT2YxA4 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 N_H}*D!mIZl{y!l+zCQo} literal 0 HcmV?d00001 diff --git a/examples/spark-dashboard-jobs.png b/examples/spark-dashboard-jobs.png new file mode 100644 index 0000000000000000000000000000000000000000..66d4c858e31a607b4b7e383e44202ea94f08d565 GIT binary patch literal 304747 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 {|zWp-Z3>D^^*1BeI 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

-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
*-ovKMf_BINs=yV@E6{&vX@t5__DLaY{$9}!y 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 YIpb3`{yic;tpC%#qJKH>;+-e|2j^M{J^%m! literal 0 HcmV?d00001 diff --git a/examples/spark-daskboard.json b/examples/spark-daskboard.json new file mode 100644 index 0000000..ac73f78 --- /dev/null +++ b/examples/spark-daskboard.json @@ -0,0 +1,1633 @@ +{ + "name": "Apache Spark", + "description": null, + "permissions": "PUBLIC_READ_WRITE", + "pages": [ + { + "name": "Jobs", + "description": null, + "widgets": [ + { + "title": "Jobs Running", + "layout": { + "column": 1, + "row": 1, + "width": 3, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.billboard" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "nrqlQueries": [ + { + "accountIds": [ + 0 + ], + "query": "FROM Metric SELECT latest(spark.app.jobs) AS 'Jobs' WHERE sparkAppJobStatus = 'running'" + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "Stages Running", + "layout": { + "column": 4, + "row": 1, + "width": 3, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.billboard" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "nrqlQueries": [ + { + "accountIds": [ + 0 + ], + "query": "FROM Metric SELECT latest(spark.app.stages) AS 'Stages' WHERE sparkAppStageStatus = 'active'" + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "Tasks Running", + "layout": { + "column": 7, + "row": 1, + "width": 3, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.billboard" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "nrqlQueries": [ + { + "accountIds": [ + 0 + ], + "query": "FROM Metric SELECT latest(spark.app.job.tasks) AS 'Tasks' WHERE sparkAppTaskStatus = 'active'" + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "Executors", + "layout": { + "column": 10, + "row": 1, + "width": 3, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.billboard" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "nrqlQueries": [ + { + "accountIds": [ + 0 + ], + "query": "FROM Metric SELECT uniqueCount(sparkAppExecutorId) AS 'Executors' WHERE metricName = 'spark.app.executor.maxMemory'" + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "Jobs By Status", + "layout": { + "column": 1, + "row": 4, + "width": 4, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [ + 0 + ], + "query": "FROM Metric SELECT latest(spark.app.jobs) AS 'Jobs' FACET sparkAppJobStatus TIMESERIES" + } + ], + "nullValues": { + "nullValue": "zero" + }, + "platformOptions": { + "ignoreTimeRange": false + }, + "thresholds": { + "isLabelVisible": true + }, + "yAxisLeft": { + "zero": true + }, + "yAxisRight": { + "zero": true + } + } + }, + { + "title": "Job Tasks By Status", + "layout": { + "column": 5, + "row": 4, + "width": 4, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [ + 0 + ], + "query": "FROM Metric SELECT latest(spark.app.job.tasks) AS 'Tasks' FACET sparkAppTaskStatus TIMESERIES" + } + ], + "nullValues": { + "nullValue": "zero" + }, + "platformOptions": { + "ignoreTimeRange": false + }, + "thresholds": { + "isLabelVisible": true + }, + "yAxisLeft": { + "zero": true + }, + "yAxisRight": { + "zero": true + } + } + }, + { + "title": "Job Stages By Status", + "layout": { + "column": 9, + "row": 4, + "width": 4, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [ + 0 + ], + "query": "FROM Metric SELECT latest(spark.app.job.stages) AS 'Stages' FACET sparkAppStageStatus TIMESERIES" + } + ], + "nullValues": { + "nullValue": "zero" + }, + "platformOptions": { + "ignoreTimeRange": false + }, + "thresholds": { + "isLabelVisible": true + }, + "yAxisLeft": { + "zero": true + }, + "yAxisRight": { + "zero": true + } + } + } + ] + }, + { + "name": "Stages", + "description": null, + "widgets": [ + { + "title": "Average Executor Total Task Run Time", + "layout": { + "column": 1, + "row": 1, + "width": 4, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [ + 0 + ], + "query": "FROM Metric SELECT average(spark.app.stage.executor.runTime) WHERE spark.app.stage.executor.runTime IS NOT NULL TIMESERIES" + } + ], + "platformOptions": { + "ignoreTimeRange": false + }, + "thresholds": { + "isLabelVisible": true + }, + "units": { + "unit": "MS" + }, + "yAxisLeft": { + "zero": true + }, + "yAxisRight": { + "zero": true + } + } + }, + { + "title": "Average Executor Total Task CPU Time", + "layout": { + "column": 5, + "row": 1, + "width": 4, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [ + 0 + ], + "query": "FROM Metric SELECT average(spark.app.stage.executor.cpuTime) / 1000000 WHERE spark.app.stage.executor.cpuTime IS NOT NULL TIMESERIES" + } + ], + "platformOptions": { + "ignoreTimeRange": false + }, + "thresholds": { + "isLabelVisible": true + }, + "units": { + "unit": "MS" + }, + "yAxisLeft": { + "zero": true + }, + "yAxisRight": { + "zero": true + } + } + }, + { + "title": "Average JVM GC Time", + "layout": { + "column": 9, + "row": 1, + "width": 4, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [ + 0 + ], + "query": "FROM Metric SELECT average(spark.app.stage.jvmGcTime) WHERE spark.app.stage.jvmGcTime IS NOT NULL TIMESERIES" + } + ], + "platformOptions": { + "ignoreTimeRange": false + }, + "thresholds": { + "isLabelVisible": true + }, + "units": { + "unit": "MS" + }, + "yAxisLeft": { + "zero": true + }, + "yAxisRight": { + "zero": true + } + } + }, + { + "title": "Average Task Deserialization Time", + "layout": { + "column": 1, + "row": 4, + "width": 4, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [ + 0 + ], + "query": "FROM Metric SELECT average(spark.app.stage.executor.deserializeTime) WHERE spark.app.stage.executor.deserializeTime IS NOT NULL TIMESERIES" + } + ], + "platformOptions": { + "ignoreTimeRange": false + }, + "thresholds": { + "isLabelVisible": true + }, + "units": { + "unit": "MS" + }, + "yAxisLeft": { + "zero": true + }, + "yAxisRight": { + "zero": true + } + } + }, + { + "title": "Average Task Deserialization CPU Time", + "layout": { + "column": 5, + "row": 4, + "width": 4, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [ + 0 + ], + "query": "FROM Metric SELECT average(spark.app.stage.executor.deserializeCpuTime) / 1000000 WHERE spark.app.stage.executor.deserializeCpuTime IS NOT NULL TIMESERIES" + } + ], + "platformOptions": { + "ignoreTimeRange": false + }, + "thresholds": { + "isLabelVisible": true + }, + "units": { + "unit": "MS" + }, + "yAxisLeft": { + "zero": true + }, + "yAxisRight": { + "zero": true + } + } + }, + { + "title": "Average Result Serialization Time", + "layout": { + "column": 9, + "row": 4, + "width": 4, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [ + 0 + ], + "query": "FROM Metric SELECT average(spark.app.stage.resultSerializationTime) WHERE spark.app.stage.resultSerializationTime IS NOT NULL TIMESERIES" + } + ], + "platformOptions": { + "ignoreTimeRange": false + }, + "thresholds": { + "isLabelVisible": true + }, + "units": { + "unit": "MS" + }, + "yAxisLeft": { + "zero": true + }, + "yAxisRight": { + "zero": true + } + } + }, + { + "title": "I/O Bytes", + "layout": { + "column": 1, + "row": 7, + "width": 6, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [ + 0 + ], + "query": "FROM Metric SELECT latest(spark.app.stage.inputBytes) AS 'Bytes In' WHERE spark.app.stage.inputBytes IS NOT NULL TIMESERIES" + }, + { + "accountIds": [ + 0 + ], + "query": "FROM Metric SELECT latest(spark.app.stage.outputBytes) AS 'Bytes Out' WHERE spark.app.stage.outputBytes IS NOT NULL TIMESERIES" + } + ], + "platformOptions": { + "ignoreTimeRange": false + }, + "thresholds": { + "isLabelVisible": true + }, + "yAxisLeft": { + "zero": true + }, + "yAxisRight": { + "zero": true + } + } + }, + { + "title": "I/O Records", + "layout": { + "column": 7, + "row": 7, + "width": 6, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [ + 0 + ], + "query": "FROM Metric SELECT latest(spark.app.stage.inputRecords) AS 'Records In' WHERE spark.app.stage.inputRecords IS NOT NULL TIMESERIES" + }, + { + "accountIds": [ + 0 + ], + "query": "FROM Metric SELECT latest(spark.app.stage.outputRecords) AS 'Records Out' WHERE spark.app.stage.outputRecords IS NOT NULL TIMESERIES" + } + ], + "platformOptions": { + "ignoreTimeRange": false + }, + "thresholds": { + "isLabelVisible": true + }, + "yAxisLeft": { + "zero": true + }, + "yAxisRight": { + "zero": true + } + } + }, + { + "title": "Shuffle I/O Bytes", + "layout": { + "column": 1, + "row": 10, + "width": 6, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [ + 0 + ], + "query": "FROM Metric SELECT latest(spark.app.stage.shuffle.readBytes) AS 'Bytes Written' WHERE spark.app.stage.shuffle.readBytes IS NOT NULL TIMESERIES" + }, + { + "accountIds": [ + 0 + ], + "query": "FROM Metric SELECT latest(spark.app.stage.shuffle.writeBytes) AS 'Bytes Out' WHERE spark.app.stage.shuffle.writeBytes IS NOT NULL TIMESERIES" + } + ], + "platformOptions": { + "ignoreTimeRange": false + }, + "thresholds": { + "isLabelVisible": true + }, + "yAxisLeft": { + "zero": true + }, + "yAxisRight": { + "zero": true + } + } + }, + { + "title": "Shuffle I/O Records", + "layout": { + "column": 7, + "row": 10, + "width": 6, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [ + 0 + ], + "query": "FROM Metric SELECT latest(spark.app.stage.shuffle.readRecords) AS 'Records Read' WHERE spark.app.stage.shuffle.readRecords IS NOT NULL TIMESERIES" + }, + { + "accountIds": [ + 0 + ], + "query": "FROM Metric SELECT latest(spark.app.stage.shuffle.writeRecords) AS 'Records Written' WHERE spark.app.stage.shuffle.writeRecords IS NOT NULL TIMESERIES" + } + ], + "platformOptions": { + "ignoreTimeRange": false + }, + "thresholds": { + "isLabelVisible": true + }, + "yAxisLeft": { + "zero": true + }, + "yAxisRight": { + "zero": true + } + } + } + ] + }, + { + "name": "Executors", + "description": null, + "widgets": [ + { + "title": "Average Driver Memory Used", + "layout": { + "column": 1, + "row": 1, + "width": 6, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [ + 0 + ], + "query": "FROM Metric SELECT average(spark.app.executor.memoryUsed) AS 'Bytes' WHERE sparkAppExecutorId = 'driver' AND spark.app.executor.memoryUsed IS NOT NULL TIMESERIES" + } + ], + "nullValues": { + "nullValue": "default" + }, + "platformOptions": { + "ignoreTimeRange": false + }, + "thresholds": { + "isLabelVisible": true + }, + "units": { + "unit": "BYTES" + }, + "yAxisLeft": { + "zero": true + }, + "yAxisRight": { + "zero": true + } + } + }, + { + "title": "Average Driver Disk Used", + "layout": { + "column": 7, + "row": 1, + "width": 6, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [ + 0 + ], + "query": "FROM Metric SELECT average(spark.app.executor.diskUsed) AS 'Bytes' WHERE sparkAppExecutorId = 'driver' AND spark.app.executor.diskUsed IS NOT NULL TIMESERIES " + } + ], + "nullValues": { + "nullValue": "default" + }, + "platformOptions": { + "ignoreTimeRange": false + }, + "thresholds": { + "isLabelVisible": true + }, + "units": { + "unit": "BYTES" + }, + "yAxisLeft": { + "zero": true + }, + "yAxisRight": { + "zero": true + } + } + }, + { + "title": "Average Executor Memory Used", + "layout": { + "column": 1, + "row": 4, + "width": 6, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [ + 0 + ], + "query": "FROM Metric SELECT average(spark.app.executor.memoryUsed) as 'Bytes' WHERE sparkAppExecutorId != 'driver' AND spark.app.executor.memoryUsed IS NOT NULL TIMESERIES FACET sparkAppExecutorId" + } + ], + "nullValues": { + "nullValue": "default" + }, + "platformOptions": { + "ignoreTimeRange": false + }, + "thresholds": { + "isLabelVisible": true + }, + "units": { + "unit": "BYTES" + }, + "yAxisLeft": { + "zero": true + }, + "yAxisRight": { + "zero": true + } + } + }, + { + "title": "Average Executor Disk Used", + "layout": { + "column": 7, + "row": 4, + "width": 6, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [ + 0 + ], + "query": "FROM Metric SELECT average(spark.app.executor.diskUsed) AS 'Bytes' WHERE sparkAppExecutorId != 'driver' AND spark.app.executor.diskUsed IS NOT NULL TIMESERIES FACET sparkAppExecutorId" + } + ], + "nullValues": { + "nullValue": "default" + }, + "platformOptions": { + "ignoreTimeRange": false + }, + "thresholds": { + "isLabelVisible": true + }, + "units": { + "unit": "BYTES" + }, + "yAxisLeft": { + "zero": true + }, + "yAxisRight": { + "zero": true + } + } + }, + { + "title": "Active Tasks", + "layout": { + "column": 1, + "row": 7, + "width": 4, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [ + 0 + ], + "query": "FROM Metric SELECT latest(spark.app.executor.activeTasks) AS 'Tasks' TIMESERIES WHERE sparkAppExecutorId != 'driver' FACET sparkAppExecutorId" + } + ], + "platformOptions": { + "ignoreTimeRange": false + }, + "thresholds": { + "isLabelVisible": true + }, + "yAxisLeft": { + "zero": true + }, + "yAxisRight": { + "zero": true + } + } + }, + { + "title": "Complete Tasks", + "layout": { + "column": 5, + "row": 7, + "width": 4, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.billboard" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "nrqlQueries": [ + { + "accountIds": [ + 0 + ], + "query": "FROM Metric SELECT latest(spark.app.executor.completedTasks) AS 'Tasks' WHERE sparkAppExecutorId != 'driver' FACET sparkAppExecutorId" + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "Failed Tasks", + "layout": { + "column": 9, + "row": 7, + "width": 4, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.billboard" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "nrqlQueries": [ + { + "accountIds": [ + 0 + ], + "query": "FROM Metric SELECT latest(spark.app.executor.failedTasks) AS 'Tasks' WHERE sparkAppExecutorId != 'driver' FACET sparkAppExecutorId" + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "Average Executor Used On Heap Memory", + "layout": { + "column": 1, + "row": 10, + "width": 6, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [ + 0 + ], + "query": "FROM Metric SELECT average(spark.app.executor.memory.usedOnHeapStorageMemory) WHERE sparkAppExecutorId != 'driver' AND spark.app.executor.memory.usedOnHeapStorageMemory IS NOT NULL TIMESERIES FACET sparkAppExecutorId" + } + ], + "platformOptions": { + "ignoreTimeRange": false + }, + "thresholds": { + "isLabelVisible": true + }, + "units": { + "unit": "BYTES" + }, + "yAxisLeft": { + "zero": true + }, + "yAxisRight": { + "zero": true + } + } + }, + { + "title": "Average Executor Used Off Heap Memory", + "layout": { + "column": 7, + "row": 10, + "width": 6, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [ + 0 + ], + "query": "FROM Metric SELECT average(spark.app.executor.memory.usedOffHeapStorageMemory) WHERE sparkAppExecutorId != 'driver' AND spark.app.executor.memory.usedOffHeapStorageMemory IS NOT NULL TIMESERIES FACET sparkAppExecutorId" + } + ], + "platformOptions": { + "ignoreTimeRange": false + }, + "thresholds": { + "isLabelVisible": true + }, + "units": { + "unit": "BYTES" + }, + "yAxisLeft": { + "zero": true + }, + "yAxisRight": { + "zero": true + } + } + }, + { + "title": "Average Executor Peak JVM Heap Memory", + "layout": { + "column": 1, + "row": 13, + "width": 6, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [ + 0 + ], + "query": "FROM Metric SELECT average(spark.app.executor.memory.peak.jvmHeap) WHERE sparkAppExecutorId != 'driver' AND spark.app.executor.memory.peak.jvmHeap IS NOT NULL TIMESERIES FACET sparkAppExecutorId" + } + ], + "platformOptions": { + "ignoreTimeRange": false + }, + "thresholds": { + "isLabelVisible": true + }, + "units": { + "unit": "BYTES" + }, + "yAxisLeft": { + "zero": true + }, + "yAxisRight": { + "zero": true + } + } + }, + { + "title": "Average Executor Peak JVM Off Heap Memory", + "layout": { + "column": 7, + "row": 13, + "width": 6, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [ + 0 + ], + "query": "FROM Metric SELECT average(spark.app.executor.memory.peak.jvmOffHeap) WHERE sparkAppExecutorId != 'driver' AND spark.app.executor.memory.peak.jvmOffHeap IS NOT NULL TIMESERIES FACET sparkAppExecutorId" + } + ], + "platformOptions": { + "ignoreTimeRange": false + }, + "thresholds": { + "isLabelVisible": true + }, + "units": { + "unit": "BYTES" + }, + "yAxisLeft": { + "zero": true + }, + "yAxisRight": { + "zero": true + } + } + }, + { + "title": "Total Executor JVM Task Duration (seconds)", + "layout": { + "column": 1, + "row": 16, + "width": 4, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.bar" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "nrqlQueries": [ + { + "accountIds": [ + 0 + ], + "query": "FROM Metric SELECT latest(spark.app.executor.totalDuration) / 1000 AS 'Seconds' WHERE sparkAppExecutorId != 'driver' FACET sparkAppExecutorId" + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "Total Executor JVM GC Time (seconds)", + "layout": { + "column": 5, + "row": 16, + "width": 4, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.bar" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "nrqlQueries": [ + { + "accountIds": [ + 0 + ], + "query": "FROM Metric SELECT latest(spark.app.executor.totalGCTime) / 1000 AS 'Seconds' WHERE sparkAppExecutorId != 'driver' FACET sparkAppExecutorId" + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "RDD Blocks", + "layout": { + "column": 9, + "row": 16, + "width": 4, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [ + 0 + ], + "query": "FROM Metric SELECT latest(spark.app.executor.rddBlocks) AS 'RDD Blocks' WHERE sparkAppExecutorId != 'driver' TIMESERIES FACET sparkAppExecutorId" + } + ], + "platformOptions": { + "ignoreTimeRange": false + }, + "thresholds": { + "isLabelVisible": true + }, + "yAxisLeft": { + "zero": true + }, + "yAxisRight": { + "zero": true + } + } + }, + { + "title": "Total Input Bytes Summed", + "layout": { + "column": 1, + "row": 19, + "width": 4, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.billboard" + }, + "rawConfiguration": { + "dataFormatters": [ + { + "name": "Bytes", + "type": "humanized" + } + ], + "facet": { + "showOtherSeries": false + }, + "nrqlQueries": [ + { + "accountIds": [ + 0 + ], + "query": "FROM Metric SELECT latest(spark.app.executor.totalInputBytes) AS 'Bytes' WHERE sparkAppExecutorId != 'driver' FACET sparkAppExecutorId" + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "Total Shuffle Read Bytes Summed", + "layout": { + "column": 5, + "row": 19, + "width": 4, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.billboard" + }, + "rawConfiguration": { + "dataFormatters": [ + { + "name": "Bytes", + "type": "humanized" + } + ], + "facet": { + "showOtherSeries": false + }, + "nrqlQueries": [ + { + "accountIds": [ + 0 + ], + "query": "FROM Metric SELECT latest(spark.app.executor.totalShuffleRead) AS 'Bytes' WHERE sparkAppExecutorId != 'driver' FACET sparkAppExecutorId" + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "Total Shuffle Write Bytes Summed", + "layout": { + "column": 9, + "row": 19, + "width": 4, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.billboard" + }, + "rawConfiguration": { + "dataFormatters": [ + { + "name": "Bytes", + "type": "humanized" + } + ], + "facet": { + "showOtherSeries": false + }, + "nrqlQueries": [ + { + "accountIds": [ + 0 + ], + "query": "FROM Metric SELECT latest(spark.app.executor.totalShuffleWrite) AS 'Bytes' WHERE sparkAppExecutorId != 'driver' FACET sparkAppExecutorId" + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + } + ] + }, + { + "name": "RDDs", + "description": null, + "widgets": [ + { + "title": "Total Partitions By App & RDD", + "layout": { + "column": 1, + "row": 1, + "width": 6, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.table" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "nrqlQueries": [ + { + "accountIds": [ + 0 + ], + "query": "FROM Metric SELECT latest(spark.app.storage.rdd.partitions) AS 'Partitions' WHERE spark.app.storage.rdd.partitions IS NOT NULL FACET sparkAppName, sparkAppRDDName " + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "Cached Partitions By App & RDD", + "layout": { + "column": 7, + "row": 1, + "width": 6, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.table" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "nrqlQueries": [ + { + "accountIds": [ + 0 + ], + "query": "FROM Metric SELECT latest(spark.app.storage.rdd.cachedPartitions) AS 'Partitions' WHERE spark.app.storage.rdd.cachedPartitions IS NOT NULL FACET sparkAppName, sparkAppRDDName " + } + ], + "platformOptions": { + "ignoreTimeRange": false + } + } + }, + { + "title": "Average Memory Used By App & RDD", + "layout": { + "column": 1, + "row": 4, + "width": 6, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [ + 0 + ], + "query": "FROM Metric SELECT average(spark.app.storage.rdd.memory.used) WHERE spark.app.storage.rdd.memory.used IS NOT NULL TIMESERIES FACET sparkAppName, sparkAppRDDName" + } + ], + "platformOptions": { + "ignoreTimeRange": false + }, + "thresholds": { + "isLabelVisible": true + }, + "units": { + "unit": "BYTES" + }, + "yAxisLeft": { + "zero": true + }, + "yAxisRight": { + "zero": true + } + } + }, + { + "title": "Average Disk Used By App & RDD", + "layout": { + "column": 7, + "row": 4, + "width": 6, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [ + 0 + ], + "query": "FROM Metric SELECT average(spark.app.storage.rdd.disk.used) WHERE spark.app.storage.rdd.disk.used IS NOT NULL TIMESERIES FACET sparkAppName, sparkAppRDDName" + } + ], + "platformOptions": { + "ignoreTimeRange": false + }, + "thresholds": { + "isLabelVisible": true + }, + "units": { + "unit": "BYTES" + }, + "yAxisLeft": { + "zero": true + }, + "yAxisRight": { + "zero": true + } + } + }, + { + "title": "Average Memory Used by RDD Partition Block Name", + "layout": { + "column": 1, + "row": 7, + "width": 6, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [ + 0 + ], + "query": "FROM Metric SELECT average(spark.app.storage.rdd.partition.memory.used) WHERE spark.app.storage.rdd.partition.memory.used IS NOT NULL TIMESERIES FACET sparkAppRDDName, sparkAppRddPartitionBlockName" + } + ], + "platformOptions": { + "ignoreTimeRange": false + }, + "thresholds": { + "isLabelVisible": true + }, + "units": { + "unit": "BYTES" + }, + "yAxisLeft": { + "zero": true + }, + "yAxisRight": { + "zero": true + } + } + }, + { + "title": "Average Disk Used by RDD Partition Block Name", + "layout": { + "column": 7, + "row": 7, + "width": 6, + "height": 3 + }, + "linkedEntityGuids": null, + "visualization": { + "id": "viz.line" + }, + "rawConfiguration": { + "facet": { + "showOtherSeries": false + }, + "legend": { + "enabled": true + }, + "nrqlQueries": [ + { + "accountIds": [ + 0 + ], + "query": "FROM Metric SELECT average(spark.app.storage.rdd.partition.disk.used) WHERE spark.app.storage.rdd.partition.disk.used IS NOT NULL TIMESERIES FACET sparkAppRDDName, sparkAppRddPartitionBlockName" + } + ], + "platformOptions": { + "ignoreTimeRange": false + }, + "thresholds": { + "isLabelVisible": true + }, + "units": { + "unit": "BYTES" + }, + "yAxisLeft": { + "zero": true + }, + "yAxisRight": { + "zero": true + } + } + } + ] + } + ], + "variables": [] + } diff --git a/go.mod b/go.mod index b0911ae..091d1cd 100644 --- a/go.mod +++ b/go.mod @@ -1,41 +1,77 @@ -module newrelic/multienv +module github.com/newrelic-experimental/newrelic-databricks-integration go 1.20 require ( - github.com/sirupsen/logrus v1.9.0 - github.com/spf13/viper v1.18.2 + github.com/databricks/databricks-sdk-go v0.43.0 + github.com/newrelic/newrelic-labs-sdk v1.5.0 ) require ( + github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/fsnotify/fsnotify v1.7.0 // indirect - github.com/gogo/protobuf v1.3.2 // indirect - github.com/golang/snappy v0.0.4 // indirect + github.com/golang/protobuf v1.5.4 // indirect + github.com/google/go-querystring v1.1.0 // indirect + github.com/hashicorp/go-cleanhttp v0.5.2 // indirect + github.com/hashicorp/go-retryablehttp v0.7.1 // indirect github.com/hashicorp/hcl v1.0.0 // indirect + github.com/imdario/mergo v0.3.12 // indirect github.com/magiconair/properties v1.8.7 // indirect + github.com/newrelic/go-agent/v3 v3.21.0 // indirect + github.com/newrelic/go-agent/v3/integrations/logcontext-v2/nrlogrus v1.0.0 // indirect github.com/newrelic/infrastructure-agent v0.0.0-20201127092132-00ac7efc0cc6 // indirect - github.com/pelletier/go-toml/v2 v2.1.0 // indirect - github.com/prometheus/prometheus v0.40.3 // indirect + github.com/newrelic/newrelic-client-go v1.1.0 // indirect + github.com/pelletier/go-toml/v2 v2.2.2 // indirect + github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/rogpeppe/go-internal v1.12.0 // indirect - github.com/sagikazarmark/locafero v0.4.0 // indirect + github.com/sagikazarmark/locafero v0.6.0 // indirect github.com/sagikazarmark/slog-shim v0.1.0 // indirect github.com/sourcegraph/conc v0.3.0 // indirect github.com/spf13/afero v1.11.0 // indirect github.com/spf13/cast v1.6.0 // indirect github.com/spf13/pflag v1.0.5 // indirect + github.com/spf13/viper v1.19.0 + github.com/stretchr/testify v1.9.0 // indirect github.com/subosito/gotenv v1.6.0 // indirect - go.uber.org/atomic v1.10.0 // indirect - go.uber.org/multierr v1.9.0 // indirect - golang.org/x/exp v0.0.0-20230905200255-921286631fa9 // indirect - golang.org/x/text v0.14.0 // indirect + github.com/tomnomnom/linkheader v0.0.0-20180905144013-02ca5825eb80 // indirect + github.com/valyala/fastjson v1.6.3 // indirect + go.uber.org/multierr v1.11.0 // indirect + golang.org/x/exp v0.0.0-20240613232115-7f521ea00fb8 // indirect + golang.org/x/net v0.25.0 // indirect + golang.org/x/text v0.16.0 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240521202816-d264139d666e // indirect + google.golang.org/grpc v1.64.0 // indirect + google.golang.org/protobuf v1.34.1 // indirect + gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect gopkg.in/ini.v1 v1.67.0 // indirect ) require ( - github.com/aws/aws-lambda-go v1.41.0 - github.com/castai/promwrite v0.5.0 - github.com/mitchellh/mapstructure v1.5.0 - github.com/newrelic/infra-integrations-sdk/v4 v4.2.1 - golang.org/x/sys v0.15.0 // indirect - gopkg.in/yaml.v3 v3.0.1 + cloud.google.com/go/auth v0.4.2 // indirect + cloud.google.com/go/auth/oauth2adapt v0.2.2 // indirect + cloud.google.com/go/compute/metadata v0.3.0 // indirect + github.com/felixge/httpsnoop v1.0.4 // indirect + github.com/go-logr/logr v1.4.1 // indirect + github.com/go-logr/stdr v1.2.2 // indirect + github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect + github.com/google/s2a-go v0.1.7 // indirect + github.com/googleapis/enterprise-certificate-proxy v0.3.2 // indirect + github.com/mitchellh/mapstructure v1.5.0 // indirect + github.com/newrelic/infra-integrations-sdk/v4 v4.2.1 // indirect + github.com/sirupsen/logrus v1.9.0 // indirect + go.opencensus.io v0.24.0 // indirect + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 // indirect + go.opentelemetry.io/otel v1.24.0 // indirect + go.opentelemetry.io/otel/metric v1.24.0 // indirect + go.opentelemetry.io/otel/trace v1.24.0 // indirect + golang.org/x/crypto v0.23.0 // indirect + golang.org/x/mod v0.18.0 // indirect + golang.org/x/oauth2 v0.20.0 // indirect + golang.org/x/sys v0.21.0 // indirect + golang.org/x/time v0.5.0 // indirect + google.golang.org/api v0.182.0 // indirect + gopkg.in/yaml.v3 v3.0.1 // indirect ) + +// @TODO: remove after development +// replace github.com/newrelic/newrelic-labs-sdk v1.5.0 => ../../newrelic/newrelic-labs-sdk diff --git a/go.sum b/go.sum index e331495..ac65f7d 100644 --- a/go.sum +++ b/go.sum @@ -1,233 +1,152 @@ 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= -cloud.google.com/go v0.110.10/go.mod h1:v1OoFqYxiBkUrruItNM3eT4lLByNjxmJSV/xDKJNnic= -cloud.google.com/go/compute v1.23.3/go.mod h1:VCgBUoMnIVIR0CscqQiPJLAG25E3ZRZMzcFZeQ+h8CI= -cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA= -cloud.google.com/go/firestore v1.14.0/go.mod h1:96MVaHLsEhbvkBEdZgfN+AS/GIkco1LRpH9Xp9YZfzQ= -cloud.google.com/go/iam v1.1.5/go.mod h1:rB6P/Ic3mykPbFio+vo7403drjlgvoWfYpJhMXEbzv8= -cloud.google.com/go/longrunning v0.5.4/go.mod h1:zqNVncI0BOP8ST6XQD1+VcvuShMmq7+xFSzOL++V0dI= -cloud.google.com/go/storage v1.35.1/go.mod h1:M6M/3V/D3KpzMTJyPOR/HU6n2Si5QdaXYEsng2xgOs8= -github.com/Azure/azure-sdk-for-go v65.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= +cloud.google.com/go/auth v0.4.2 h1:sb0eyLkhRtpq5jA+a8KWw0W70YcdVca7KJ8TM0AFYDg= +cloud.google.com/go/auth v0.4.2/go.mod h1:Kqvlz1cf1sNA0D+sYJnkPQOP+JMHkuHeIgVmCRtZOLc= +cloud.google.com/go/auth/oauth2adapt v0.2.2 h1:+TTV8aXpjeChS9M+aTtN/TjdQnzJvmzKFt//oWu7HX4= +cloud.google.com/go/auth/oauth2adapt v0.2.2/go.mod h1:wcYjgpZI9+Yu7LyYBg4pqSiaRkfEK3GQcpb7C/uyF1Q= +cloud.google.com/go/compute/metadata v0.3.0 h1:Tz+eQXMEqDIKRsmY3cHTL6FVaynIjX2QxYC4trgAKZc= +cloud.google.com/go/compute/metadata v0.3.0/go.mod h1:zFmK7XCadkQkj6TtorcaGlCW1hT1fIilQDwofLpJ20k= github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8= -github.com/Azure/go-autorest v14.2.0+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24= -github.com/Azure/go-autorest/autorest v0.11.28/go.mod h1:MrkzG3Y3AH668QyF9KRk5neJnGgmhQ6krbhR8Q5eMvA= -github.com/Azure/go-autorest/autorest/adal v0.9.21/go.mod h1:zua7mBUaCc5YnSLKYgGJR/w5ePdMDA6H56upLsHzA9U= -github.com/Azure/go-autorest/autorest/date v0.3.0/go.mod h1:BI0uouVdmngYNUzGWeSYnokU+TrmwEsOqdt8Y6sso74= -github.com/Azure/go-autorest/autorest/to v0.4.0/go.mod h1:fE8iZBn7LQR7zH/9XU2NcPR4o9jEImooCeWJcYV/zLE= -github.com/Azure/go-autorest/autorest/validation v0.3.1/go.mod h1:yhLgjC0Wda5DYXl6JAsWyUe4KVNffhoDhG0zVzUMo3E= -github.com/Azure/go-autorest/logger v0.2.1/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZmbF5NWuPV8+WeEW8= -github.com/Azure/go-autorest/tracing v0.6.0/go.mod h1:+vhtPC754Xsa23ID7GlGsrdKBpUA79WCAKPPZVC2DeU= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/Microsoft/go-winio v0.4.11/go.mod h1:VhR8bwka0BXejwEJY73c50VrPtXAaKcyvVC4A4RozmA= -github.com/Microsoft/go-winio v0.5.1/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= -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/StackExchange/wmi v0.0.0-20180116203802-5d049714c4a6/go.mod h1:3eOhrUMpNV+6aFIbp5/iudMxNCF27Vw2OZgy4xEx0Fg= -github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= -github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137/go.mod h1:OMCwj8VM1Kc9e19TLln2VL61YJF0x1XFtfdL4JdbSyE= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= -github.com/armon/go-metrics v0.4.1/go.mod h1:E6amYzXo6aW1tqzoZGT755KkbgrJsSdpwZ+3JqfkOG4= -github.com/asaskevich/govalidator v0.0.0-20210307081110-f21760c49a8d/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw= -github.com/aws/aws-lambda-go v1.41.0 h1:l/5fyVb6Ud9uYd411xdHZzSf2n86TakxzpvIoz7l+3Y= -github.com/aws/aws-lambda-go v1.41.0/go.mod h1:jwFe2KmMsHmffA1X2R09hH6lFzJQxzI8qK17ewzbQMM= github.com/aws/aws-sdk-go v1.25.14-0.20200515182354-0961961790e6/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0= -github.com/aws/aws-sdk-go v1.44.128/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/castai/promwrite v0.5.0 h1:AxpHvaeWPqk+GLqLix0JkALzwLk5ZIMUemqvL4AAv5k= -github.com/castai/promwrite v0.5.0/go.mod h1:PCwrucOaNJAcKdR8Tktz+/pQEXOnCWFL+2Yk7c9DmEU= -github.com/cenkalti/backoff/v4 v4.1.3/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/cespare/xxhash/v2 v2.1.2/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/xds/go v0.0.0-20220314180256-7f1daf1720fc/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/containerd/containerd v1.3.7/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= -github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= github.com/coreos/go-systemd/v22 v22.1.0/go.mod h1:xO0FLkIi5MaZafQlIrOotqXZ90ih+1atmu1JpKERPPk= -github.com/coreos/go-systemd/v22 v22.4.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= +github.com/databricks/databricks-sdk-go v0.43.0 h1:x4laolWhYlsQg2t8yWEGyRPZy4/Wv3pKnLEoJfVin7I= +github.com/databricks/databricks-sdk-go v0.43.0/go.mod h1:a9rr0FOHLL26kOjQjZZVFjIYmRABCbrAWVeundDEVG8= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/dennwc/varint v1.0.0/go.mod h1:hnItb35rvZvJrbTALZtY/iQfDs48JKRG1RPpgziApxA= -github.com/dgryski/go-sip13 v0.0.0-20200911182023-62edffca9245/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= -github.com/digitalocean/godo v1.88.0/go.mod h1:NRpFznZFvhHjBoqZAaOD3khVzsJ3EibzKqFL4R60dmA= github.com/docker/distribution v2.7.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= github.com/docker/docker v17.12.0-ce-rc1.0.20200618181300-9dc6525e6118+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= -github.com/docker/docker v20.10.21+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec= github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= -github.com/docker/go-units v0.5.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= -github.com/edsrzf/mmap-go v1.1.0/go.mod h1:19H/e8pUPLicwkyNgOykDXkJ9F0MHE+Z52B8EIth78Q= -github.com/emicklei/go-restful/v3 v3.8.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= +github.com/elazarl/goproxy v0.0.0-20220417044921-416226498f94 h1:VIy7cdK7ufs7ctpTFkXJHm1uP3dJSnCGSPysEICB1so= 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.10.3/go.mod h1:fJJn/j26vwOu972OllsvAgJJM//w9BV6Fxbg2LuVd34= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/envoyproxy/protoc-gen-validate v0.6.13/go.mod h1:qEySVqXrEugbHKvmhI8ZqtQi75/RHSSRNpffvB4I6Bw= github.com/evanphx/json-patch v4.5.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= -github.com/evanphx/json-patch v4.12.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= -github.com/fatih/color v1.14.1/go.mod h1:2oHN61fhTpgcxD3TSWCgKDiH1+x4OiDVVGH8WlgGZGg= -github.com/felixge/httpsnoop v1.0.3/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= +github.com/fatih/color v1.14.1 h1:qfhVLaG5s+nCROl1zJsZRxFeYrHLqWroPOQ8BWiNb4w= +github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= +github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/fortytw2/leaktest v1.3.1-0.20190606143808-d73c753520d9/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g= github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8= -github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA= github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM= -github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= -github.com/go-kit/kit v0.10.0/go.mod h1:xUsJbQ/Fp4kEt7AFgCuvyX4a71u8h9jB8tj/ORgOZ7o= -github.com/go-kit/log v0.2.1/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= -github.com/go-logfmt/logfmt v0.5.1/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= -github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/logr v1.4.1 h1:pKouT5E8xu9zeFC39JXRDukb6JFQPXM5p5I91188VAQ= +github.com/go-logr/logr v1.4.1/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= +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-ole/go-ole v1.2.1/go.mod h1:7FAglXiTm7HKlQRDeOQ6ZNUHidzCWXuZWq/1dTyBNF8= -github.com/go-openapi/analysis v0.21.2/go.mod h1:HZwRk4RRisyG8vx2Oe6aqeSQcoxRp47Xkp3+K6q+LdY= -github.com/go-openapi/errors v0.20.2/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M= -github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= -github.com/go-openapi/jsonreference v0.19.6/go.mod h1:diGHMEHg2IqXZGKxqyvWdfWU/aim5Dprw5bqpKkTvns= -github.com/go-openapi/loads v0.21.1/go.mod h1:/DtAMXXneXFjbQMGEtbamCZb+4x7eGwkvZCvBmwUG+g= -github.com/go-openapi/spec v0.20.4/go.mod h1:faYFR1CvsJZ0mNsmsphTMSoRrNV3TEDoAM7FOEWeq8I= -github.com/go-openapi/strfmt v0.21.3/go.mod h1:k+RzNO0Da+k3FrrynSNN8F7n/peCmQQqbbXjtDfvmGg= -github.com/go-openapi/swag v0.21.1/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= -github.com/go-openapi/validate v0.21.0/go.mod h1:rjnrwK57VJ7A8xqfpAOEKRH8yQSGUriMu5/zuPSQ1hg= -github.com/go-resty/resty/v2 v2.1.1-0.20191201195748-d7b97669fe48/go.mod h1:dZGr0i9PLlaaTD4H/hoZIDjQ+r6xq8mgbRzHZf7f2J8= github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= -github.com/go-zookeeper/zk v1.0.3/go.mod h1:nOB03cncLtlp4t+UAkGSV+9beXP/akpekBwL+UX1Qcw= github.com/godbus/dbus/v5 v5.0.3/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/gogo/protobuf v1.1.2-0.20181116123445-07eab6a8298c/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-jwt/jwt/v4 v4.2.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/glog v1.0.0/go.mod h1:EWib/APOK0SL3dFbYqvxE3UYd8E6s1ouQ7iEp/0LWV4= github.com/golang/groupcache v0.0.0-20191027212112-611e8accdfc9/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +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.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.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= -github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/google/gnostic v0.5.7-v3refs/go.mod h1:73MKFl6jIHelAJNaBGFzt3SPtZULs9dYrGFt8OiIsHQ= +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.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= +github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= 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.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= -github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +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.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= +github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8= github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU= -github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/pprof v0.0.0-20221102093814-76f304f74e5e/go.mod h1:dDKJzRmX4S37WGHujM7tX//fmj1uioxKzKxz3lo4HJo= +github.com/google/s2a-go v0.1.7 h1:60BLSyTrOV4/haCDW4zb1guZItoSq8foHCXrAnjBo/o= github.com/google/s2a-go v0.1.7/go.mod h1:50CgR4k1jNlWBu4UfS4AcfhVe1r6pdZPygJ3R8F0Qdw= github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510/go.mod h1:pupxD2MaaD3pAXIBCelhxNneeOaAeabZDe5s4K6zSpQ= -github.com/google/uuid v1.4.0/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.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/googleapis/enterprise-certificate-proxy v0.3.2 h1:Vie5ybvEvT75RniqhfFxPRy3Bf7vr3h0cechB90XaQs= github.com/googleapis/enterprise-certificate-proxy v0.3.2/go.mod h1:VLSiSSBs/ksPL8kq3OBOQ6WRI2QnaFynd1DCjZ62+V0= -github.com/googleapis/gax-go/v2 v2.12.0/go.mod h1:y+aIqrI5eb1YGMVJfuV3185Ts/D7qKpsEkdD5+I6QGU= -github.com/googleapis/google-cloud-go-testing v0.0.0-20210719221736-1c9a4c676720/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g= -github.com/gophercloud/gophercloud v1.0.0/go.mod h1:Q8fZtyi5zZxPS/j9aj3sSxtvj41AdQMDwyo1myduD5c= +github.com/googleapis/gax-go/v2 v2.12.4 h1:9gWcmF85Wvq4ryPFvGFaOgPIs1AQX0d0bcbGw4Z96qg= github.com/gorilla/mux v1.7.4/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= -github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= -github.com/grafana/regexp v0.0.0-20221005093135-b4c2bcb0a4b6/go.mod h1:M5qHK+eWfAv8VR/265dIuEpL3fNfeC21tXXp9itM24A= -github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.11.1/go.mod h1:G+WkljZi4mflcqVxYSgvt8MNctRQHjEH8ubKtt1Ka3w= -github.com/hashicorp/consul/api v1.25.1/go.mod h1:iiLVwR/htV7mas/sy0O+XSuEnrdBUUydemjxcUrAt4g= -github.com/hashicorp/cronexpr v1.1.1/go.mod h1:P4wA0KBl9C5q2hABiMO7cp6jcIg96CDh1Efb3g1PWA4= +github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= +github.com/hashicorp/go-cleanhttp v0.5.2 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9neXJWAZQ= github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= -github.com/hashicorp/go-hclog v1.5.0/go.mod h1:W4Qnvbt70Wk/zYJryRzDRU/4r0kIg0PVHBcfoyhpF5M= -github.com/hashicorp/go-immutable-radix v1.3.1/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= +github.com/hashicorp/go-hclog v0.9.2/go.mod h1:5CU+agLiy3J7N7QjHK5d05KxGsuXiQLrjA0H7acj2lQ= +github.com/hashicorp/go-hclog v1.5.0 h1:bI2ocEMgcVlz55Oj1xZNBsVi900c7II+fWDyV9o+13c= +github.com/hashicorp/go-retryablehttp v0.7.1 h1:sUiuQAnLlbvmExtFQs72iFW/HXeUn8Z1aJLQ4LJJbTQ= github.com/hashicorp/go-retryablehttp v0.7.1/go.mod h1:vAew36LZh98gCBJNLH42IQ1ER/9wtLZZ8meHqQvEYWY= -github.com/hashicorp/go-rootcerts v1.0.2/go.mod h1:pqUvnprVnM5bf7AOirdbb01K4ccR319Vf4pU3K5EGc8= -github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= 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/nomad/api v0.0.0-20221102143410-8a95f1239005/go.mod h1:vgJmrz4Bz9E1cR/uy70oP9udUJKFRkcEYHlHTp4nFwI= -github.com/hashicorp/serf v0.10.1/go.mod h1:yL2t6BqATOLGc5HF7qbFkTfXoPIY0WZdWHfEvMqbG+4= -github.com/hetznercloud/hcloud-go v1.35.3/go.mod h1:mepQwR6va27S3UQthaEPGS86jtzSY9xWL1e9dyxXpgA= +github.com/imdario/mergo v0.3.12 h1:b6R2BslTbIEToALKP7LxUvijTsNI9TAe80pLWN2g/HU= github.com/imdario/mergo v0.3.12/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= -github.com/ionos-cloud/sdk-go/v6 v6.1.3/go.mod h1:Ox3W0iiEz0GHnfY9e5LmAxwklsxguuNFEUSu0gVRTME= github.com/jmespath/go-jmespath v0.3.0/go.mod h1:9QtRXoHjLGCJ5IBSaohpXITPlowMeeYCZ7fLUTSywik= -github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= -github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= -github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= -github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= github.com/kardianos/service v1.1.0/go.mod h1:RrJI2xn5vve/r32U5suTbeaSGoMU6GbNPoj36CVYcHc= github.com/kelseyhightower/envconfig v1.4.0/go.mod h1:cccZRl6mQpaq41TPp5QxidR+Sa3axMbJDNb//FQX6Gg= -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/compress v1.17.0/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= github.com/kolo/xmlrpc v0.0.0-20200310150728-e0350524596b/go.mod h1:o03bZfuBwAXHetKXuInt4S7omeXUu62/A845kiycsSQ= -github.com/kolo/xmlrpc v0.0.0-20220921171641-a4b6fa1dd06b/go.mod h1:pcaDhQK0/NJZEvtCO0qQPPropqV0sJOJ6YW7X+9kRwM= -github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= +github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= -github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= 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/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/linode/linodego v1.9.3/go.mod h1:h6AuFR/JpqwwM/vkj7s8KV3iGN8/jxn+zc437F8SZ8w= github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY= github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0= -github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= -github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= -github.com/mattn/go-isatty v0.0.17/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= -github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= -github.com/miekg/dns v1.1.50/go.mod h1:e3IlAVfNqAllflbibAZEWOXOQ+Ynzk/dDozDxY7XnME= -github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= +github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= +github.com/mattn/go-isatty v0.0.17 h1:BTarxUcIeDqL27Mc+vyvdWYSL28zpIhv3RoTdsLMPng= 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/moby/term v0.0.0-20210619224110-3f7ff695adc6/go.mod h1:E2VnQOmVuvZB6UYnnDB0qG5Nq/1tD9acaOpo6xmt0Kw= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= -github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= -github.com/nats-io/nats.go v1.31.0/go.mod h1:di3Bm5MLsoB4Bx61CBTsxuarI36WbhAwOm8QrW39+i8= -github.com/nats-io/nkeys v0.4.6/go.mod h1:4DxZNzenSVd1cYQoAa8948QY3QDjrHfcfVADymtkpts= -github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c= +github.com/newrelic/go-agent/v3 v3.21.0 h1:KpkoW6PnSVzEDEO0W/C9LZEZZGwAb+a9g5DN8ifvt4Y= +github.com/newrelic/go-agent/v3 v3.21.0/go.mod h1:rT6ZUxJc5rQbWLyCtjqQCOcfb01lKRFbc1yMQkcboWM= +github.com/newrelic/go-agent/v3/integrations/logcontext-v2/nrlogrus v1.0.0 h1:i7maT5Pi3qv2xlUU/vm/C5BkG8YMLlIHfIWtMmXz7cY= +github.com/newrelic/go-agent/v3/integrations/logcontext-v2/nrlogrus v1.0.0/go.mod h1:zYcBp4EDE47PUsZZAzEZ36QGC9YU2Wx9FSQ3goi7cCg= github.com/newrelic/infra-identity-client-go v1.0.2/go.mod h1:lrG2ompP2Mr6D8WW615/h2AYNs9B9pw2zLuc38LNb4E= github.com/newrelic/infra-integrations-sdk/v4 v4.2.1 h1:lh8sQgpdv0bCFi9dHOf5FxiSxrvcS5Qp2RuHTjR1kN8= github.com/newrelic/infra-integrations-sdk/v4 v4.2.1/go.mod h1:Xctd58maTLaNbZ1dxfz9h1iSSnVA8llDzGnt59M2dHs= github.com/newrelic/infrastructure-agent v0.0.0-20201127092132-00ac7efc0cc6 h1:oo3278EfxLk4kp6p8ln4td5AkqgdAM/f+FHYMA8X3o8= github.com/newrelic/infrastructure-agent v0.0.0-20201127092132-00ac7efc0cc6/go.mod h1:OC9Em8HnZsHI3JQzMHFqfB4B7OBzQ2+gBffhS0Ip+pk= -github.com/oklog/run v1.1.0/go.mod h1:sVPdnTZT1zYwAJeCMu2Th4T21pA3FPOQRfWjQlk7DVU= -github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= +github.com/newrelic/newrelic-client-go v1.1.0 h1:aflNjzQ21c+2GwBVh+UbAf9lznkRfCcVABoc5UM4IXw= +github.com/newrelic/newrelic-client-go v1.1.0/go.mod h1:RYMXt7hgYw7nzuXIGd2BH0F1AivgWw7WrBhNBQZEB4k= +github.com/newrelic/newrelic-labs-sdk v1.5.0 h1:WW9rXlxSEvbRbpFr97hGDFb/s33gsXcsjFlwwKU0N0A= +github.com/newrelic/newrelic-labs-sdk v1.5.0/go.mod h1:YeQXK6c2PWwSzdceLW3qVXdgi7G8flVnfRpQSHSPNqI= github.com/opencontainers/go-digest v1.0.0-rc1.0.20180430190053-c9281466c8b2/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= -github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= github.com/opencontainers/image-spec v1.0.2-0.20181029102219-09950c5fb1bb/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= -github.com/opencontainers/image-spec v1.0.2/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= -github.com/ovh/go-ovh v1.1.0/go.mod h1:AxitLZ5HBRPyUd+Zl60Ajaag+rNTdVXWIkzfrVuTXWA= -github.com/pelletier/go-toml/v2 v2.1.0 h1:FnwAJ4oYMvbT/34k9zzHuZNrhlz48GB3/s6at6/MHO4= -github.com/pelletier/go-toml/v2 v2.1.0/go.mod h1:tJU2Z3ZkXwnxa4DPO899bsyIoywizdUvyaeZurnPPDc= +github.com/pelletier/go-toml/v2 v2.2.2 h1:aYUidT7k73Pcl9nb2gScu7NSrKCSHIDE89b3+6Wq+LM= +github.com/pelletier/go-toml/v2 v2.2.2/go.mod h1:1t835xjRzz80PqgE6HHgN2JOsmgYu/h4qDAS4n929Rs= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/sftp v1.13.6/go.mod h1:tz1ryNURKu77RL+GuCzmoJYxQczL3wLNNpPWagdg4Qk= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/alertmanager v0.24.0/go.mod h1:r6fy/D7FRuZh5YbnX6J3MBY0eI4Pb5yPYS7/bPSXXqI= -github.com/prometheus/client_golang v1.13.1/go.mod h1:vTeo+zgvILHsnnj/39Ou/1fPN5nJFOEMgftOUOmlvYQ= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.3.0/go.mod h1:LDGWKZIo7rky3hgvBe+caln+Dr3dPggB5dvjtD7w9+w= -github.com/prometheus/common v0.37.0/go.mod h1:phzohg0JFMnBEFGxTDbfu3QyL5GI8gTQJFhYO5B3mfA= -github.com/prometheus/common/assets v0.2.0/go.mod h1:D17UVUE12bHbim7HzwUvtqm6gwBEaDQ0F+hIGbFbccI= -github.com/prometheus/common/sigv4 v0.1.0/go.mod h1:2Jkxxk9yYvCkE5G1sQT7GuEXm57JrvHu9k5YwTjsNtI= -github.com/prometheus/exporter-toolkit v0.8.1/go.mod h1:00shzmJL7KxcsabLWcONwpyNEuWhREOnFqZW7vadFS0= github.com/prometheus/procfs v0.2.0/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= -github.com/prometheus/procfs v0.8.0/go.mod h1:z7EfXMXOkbkqb9IINtpCn86r/to3BnA0uaxHdg830/4= -github.com/prometheus/prometheus v0.40.3 h1:oMw1vVyrxHTigXAcFY6QHrGUnQEbKEOKo737cPgYBwY= -github.com/prometheus/prometheus v0.40.3/go.mod h1:/UhsWkOXkO11wqTW2Bx5YDOwRweSDcaFBlTIzFe7P0Y= github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= -github.com/sagikazarmark/crypt v0.17.0/go.mod h1:SMtHTvdmsZMuY/bpZoqokSoChIrcJ/epOxZN58PbZDg= -github.com/sagikazarmark/locafero v0.4.0 h1:HApY1R9zGo4DBgr7dqsTH/JJxLTTsOt7u6keLGt6kNQ= -github.com/sagikazarmark/locafero v0.4.0/go.mod h1:Pe1W6UlPYUk/+wc/6KFhbORCfqzgYEpgQ3O5fPuL3H4= +github.com/sagikazarmark/locafero v0.6.0 h1:ON7AQg37yzcRPU69mt7gwhFEBwxI6P9T4Qu3N51bwOk= +github.com/sagikazarmark/locafero v0.6.0/go.mod h1:77OmuIc6VTraTXKXIs/uvUxKGUXjE1GbemJYHqdNjX0= github.com/sagikazarmark/slog-shim v0.1.0 h1:diDBnUNK9N/354PgrxMywXnAwEr1QZcOr6gto+ugjYE= github.com/sagikazarmark/slog-shim v0.1.0/go.mod h1:SrcSrq8aKtyuqEI1uvTDTK1arOWRIczQRv+GVI1AkeQ= -github.com/scaleway/scaleway-sdk-go v1.0.0-beta.9/go.mod h1:fCa7OJZ/9DRTnOKmxvT6pn+LPWUptQAmHF/SBJUGEcg= github.com/shirou/gopsutil v2.18.12-0.20181220224138-a5ace91ccec8+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA= github.com/shirou/w32 v0.0.0-20160930032740-bb4de0191aa4/go.mod h1:qsXQc7+bwAM3Q1u/4XEfrquwF8Lw7D7y5cD8CuHnfIc= -github.com/shurcooL/httpfs v0.0.0-20190707220628-8d4bc4ba7749/go.mod h1:ZY1cvUeJuFPAdZ/B6v7RHavJWZn2YPVFQ1OSXhCGOkg= github.com/sirupsen/logrus v1.6.1-0.20200528085638-6699a89a232f/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/sirupsen/logrus v1.9.0 h1:trlNQbNUG3OdDrDil03MCb1H2o9nJ1x4/5LYw7byDE0= github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= @@ -239,82 +158,75 @@ github.com/spf13/cast v1.6.0 h1:GEiTHELF+vaR5dhz3VqZfFSzZjYbgeKDpBxQVS4GYJ0= github.com/spf13/cast v1.6.0/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo= 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.18.2 h1:LUXCnvUvSM6FXAsj6nnfc8Q2tp1dIgUfY9Kc8GsSOiQ= -github.com/spf13/viper v1.18.2/go.mod h1:EKmWIqdnk5lOcmR72yw6hS+8OPYcwD0jteitLMVB+yk= +github.com/spf13/viper v1.19.0 h1:RWq5SEjt8o25SROyN3z2OrDB9l7RPd3lwTWU8EcEdcI= +github.com/spf13/viper v1.19.0/go.mod h1:GQUN9bilAbhU/jgc1bKs99f/suXKeUMct8Adx5+Ntkg= 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/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= 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.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= +github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= +github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= +github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8= github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU= github.com/tevino/abool v1.2.0/go.mod h1:qc66Pna1RiIsPa7O4Egxxs9OqkuxDX55zznh9K07Tzg= -github.com/vultr/govultr/v2 v2.17.2/go.mod h1:ZFOKGWmgjytfyjeyAdhQlSWwTjh2ig+X49cAp50dzXI= -github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.etcd.io/etcd/api/v3 v3.5.10/go.mod h1:TidfmT4Uycad3NM/o25fG3J07odo4GBB9hoxaodFCtI= -go.etcd.io/etcd/client/pkg/v3 v3.5.10/go.mod h1:DYivfIviIuQ8+/lCq4vcxuseg2P2XbHygkKwFo9fc8U= -go.etcd.io/etcd/client/v2 v2.305.10/go.mod h1:m3CKZi69HzilhVqtPDcjhSGp+kA1OmbNn0qamH80xjA= -go.etcd.io/etcd/client/v3 v3.5.10/go.mod h1:RVeBnDz2PUEZqTpgqwAtUd8nAPf5kjyFyND7P1VkOKc= -go.mongodb.org/mongo-driver v1.10.2/go.mod h1:z4XpeoU6w+9Vht+jAFyLgVrD+jGSQQe0+CBWFHNiHt8= +github.com/tomnomnom/linkheader v0.0.0-20180905144013-02ca5825eb80 h1:nrZ3ySNYwJbSpD6ce9duiP+QkD3JuLCcWkdaehUS/3Y= +github.com/tomnomnom/linkheader v0.0.0-20180905144013-02ca5825eb80/go.mod h1:iFyPdL66DjUD96XmzVL3ZntbzcflLnznH0fr99w5VqE= +github.com/valyala/fastjson v1.6.3 h1:tAKFnnwmeMGPbwJ7IwxcTPCNr3uIzoIj3/Fh90ra4xc= +github.com/valyala/fastjson v1.6.3/go.mod h1:CLCAqky6SMuOcxStkYQvblddUtoRxhYMGLrsQns1aXY= +go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.36.4/go.mod h1:l2MdsbKTocpPS5nQZscqTR9jd8u96VYZdcpF8Sye7mA= -go.opentelemetry.io/otel v1.11.1/go.mod h1:1nNhXBbWSD0nsL38H6btgnFN2k4i0sNLHNNMZMSbUGE= -go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.11.1/go.mod h1:i8vjiSzbiUC7wOQplijSXMYUpNM93DtlS5CbUT+C6oQ= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.11.1/go.mod h1:19O5I2U5iys38SsmT2uDJja/300woyzE1KPIQxEUBUc= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.11.1/go.mod h1:QrRRQiY3kzAoYPNLP0W/Ikg0gR6V3LMc+ODSxr7yyvg= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.11.1/go.mod h1:X620Jww3RajCJXw/unA+8IRTgxkdS7pi+ZwK9b7KUJk= -go.opentelemetry.io/otel/metric v0.33.0/go.mod h1:QlTYc+EnYNq/M2mNk1qDDMRLpqCOj2f/r5c7Fd5FYaI= -go.opentelemetry.io/otel/sdk v1.11.1/go.mod h1:/l3FE4SupHJ12TduVjUkZtlfFqDCQJlOlithYrdktys= -go.opentelemetry.io/otel/trace v1.11.1/go.mod h1:f/Q9G7vzk5u91PhbmKbg1Qn0rzH1LJ4vbPHFGkTPtOk= -go.opentelemetry.io/proto/otlp v0.19.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U= -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/automaxprocs v1.5.1/go.mod h1:BF4eumQw0P9GtnuxxovUd06vwm1o18oMzFtK66vU6XU= -go.uber.org/goleak v1.2.0/go.mod h1:XJYK+MuIchqpmGmUSAzotztawfKvYLUIgg7guXrwVUo= -go.uber.org/multierr v1.9.0 h1:7fIwc/ZtS0q++VgcfqFDxSBZVv/Xo49/SYnDFupUwlI= -go.uber.org/multierr v1.9.0/go.mod h1:X2jQV1h+kxSjClGpnseKVIxpmcjrj7MNnI0bnlfKTVQ= -go.uber.org/zap v1.21.0/go.mod h1:wjWOCqI0f2ZZrJF/UufIOkiC8ii6tm1iqIsLo76RfJw= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0 h1:4Pp6oUg3+e/6M4C0A/3kJ2VYa++dsWVTtGgLVj5xtHg= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 h1:jq9TW8u3so/bN+JPT166wjOI6/vQPF6Xe7nMNIltagk= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0/go.mod h1:p8pYQP+m5XfbZm9fxtSKAbM6oIllS7s2AfxrChvc7iw= +go.opentelemetry.io/otel v1.24.0 h1:0LAOdjNmQeSTzGBzduGe/rU4tZhMwL5rWgtp9Ku5Jfo= +go.opentelemetry.io/otel v1.24.0/go.mod h1:W7b9Ozg4nkF5tWI5zsXkaKKDjdVjpD4oAt9Qi/MArHo= +go.opentelemetry.io/otel/metric v1.24.0 h1:6EhoGWWK28x1fbpA4tYTOWBkPefTDQnb8WSGXlc88kI= +go.opentelemetry.io/otel/metric v1.24.0/go.mod h1:VYhLe1rFfxuTXLgj4CBiyz+9WYBA8pNGJgDcSFRKBco= +go.opentelemetry.io/otel/trace v1.24.0 h1:CsKnnL4dUAr/0llH9FKuc698G04IrpWV0MQA/Y1YELI= +go.opentelemetry.io/otel/trace v1.24.0/go.mod h1:HPc3Xr/cOApsBI154IU0OI0HJexz+aw5uPdbs3UCjNU= +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/dl v0.0.0-20200901180525-35ca1c5c19fb/go.mod h1:IUMfjQLJQd4UTqG1Z90tenwKoCX93Gn3MAQJMOSBsDQ= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -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.16.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4= +golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= +golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20230905200255-921286631fa9 h1:GoHiUyI/Tp2nVkLI2mCxVkOjsbSXD66ic0XW0js0R9g= -golang.org/x/exp v0.0.0-20230905200255-921286631fa9/go.mod h1:S2oDrQGGwySpoQPVqRShND87VCbxmc6bL1Yd2oYrm6k= +golang.org/x/exp v0.0.0-20240613232115-7f521ea00fb8 h1:yixxcjnhBmY0nkL253HFVIm0JsFHwrHdT3Yh6szTnfY= +golang.org/x/exp v0.0.0-20240613232115-7f521ea00fb8/go.mod h1:jj3sYF3dwk5D+ghuXyeI3r5MFf+NT2An6/9dOA95KSI= 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/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.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.18.0 h1:5+9lSbEzPSdWkH32vYPBwEpX8KwDbM52Ud9xBUvNlb0= +golang.org/x/mod v0.18.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= 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-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-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200202094626-16171245cfb2/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.19.0/go.mod h1:CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U= +golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.25.0 h1:d/OCCoBEUq33pjydKrGQhw7IlUPI2Oylr+8qLx49kac= +golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.15.0/go.mod h1:q48ptWNTY5XWf+JNten23lcvHpLJ0ZSxF5ttTHKVCAM= +golang.org/x/oauth2 v0.20.0 h1:4mQdhULixXKP1rwYBW0vAijoXnkTG0BLCDRzfe1idMo= +golang.org/x/oauth2 v0.20.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= 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-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.5.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190204203706-41f3e6584952/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -325,70 +237,63 @@ golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.15.0 h1:h48lPFYpsTvQJZF4EKyI4aLHaev3CxivZmv7yZig9pc= -golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws= +golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3-0.20190829152558-3d0f7978add9/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= -golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= +golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk= golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= 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-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -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.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58= -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= -golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= -google.golang.org/api v0.153.0/go.mod h1:3qNJX5eOmhiWYc67jRA/3GsDw97UFb5ivv7Y2PrriAY= +google.golang.org/api v0.182.0 h1:if5fPvudRQ78GeRx3RayIoiuV7modtErPIZC/T2bIvE= +google.golang.org/api v0.182.0/go.mod h1:cGhjy4caqA5yXRzEhkHI8Y9mfyC2VLTlER2l08xaqtM= 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/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20231106174013-bbf56f31fb17/go.mod h1:J7XzRzVy1+IPwWHZUzoD0IccYZIrXILAQpc+Qy9CMhY= -google.golang.org/genproto/googleapis/api v0.0.0-20231106174013-bbf56f31fb17/go.mod h1:0xJLfVdJqpAPl8tDg1ujOCGzx6LFLttXT5NhllGOXY4= -google.golang.org/genproto/googleapis/rpc v0.0.0-20231120223509-83a465c0220f/go.mod h1:L9KNLi232K1/xB6f7AlSX692koaRnKaWSR0stBki0Yc= +google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240521202816-d264139d666e h1:Elxv5MwEkCI9f5SkoL6afed6NTdxaGoAo39eANBwHL8= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240521202816-d264139d666e/go.mod h1:EfXuqaE1J41VCDicxHzUDm+8rk+7ZdXzHV0IhO/I6s0= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= 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.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= -google.golang.org/grpc v1.59.0/go.mod h1:aUPDwccQo6OTjy7Hct4AfBPD1GptF4fyUjIkQ9YtF98= -google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= -gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= +google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= +google.golang.org/grpc v1.64.0 h1:KH3VH9y/MgNQg1dE7b3XfVK0GsPSIzJwdF617gUSbvY= +google.golang.org/grpc v1.64.0/go.mod h1:oxjF8E3FBnjp+/gVFYdWacaLDx9na1aqy9oovLpxQYg= +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.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFWg= +google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= 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/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= -gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA= gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.7/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= +gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= 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= gotest.tools v2.2.1-0.20181123051433-bcbf6e613274+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= -gotest.tools/v3 v3.0.3/go.mod h1:Z7Lb0S5l+klDB31fvDQX8ss/FlKDxtlFlw3Oa8Ymbl8= 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= -k8s.io/api v0.25.3/go.mod h1:o42gKscFrEVjHdQnyRenACrMtbuJsVdP+WVjqejfzmI= -k8s.io/apimachinery v0.25.3/go.mod h1:jaF9C/iPNM1FuLl7Zuy5b9v+n35HGSh6AQ4HYRkCqwo= -k8s.io/client-go v0.25.3/go.mod h1:t39LPczAIMwycjcXkVc+CB+PZV69jQuNx4um5ORDjQA= -k8s.io/klog v1.0.0/go.mod h1:4Bi6QPql/J/LkTDqv7R/cd3hPo4k2DG6Ptcz060Ez5I= -k8s.io/klog/v2 v2.80.0/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= -k8s.io/kube-openapi v0.0.0-20220803162953-67bda5d908f1/go.mod h1:C/N6wCaBHeBHkHUesQOQy2/MZqGgMAFPqGsGQLdbZBU= -k8s.io/utils v0.0.0-20220728103510-ee6ede2d64ed/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= -sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= -sigs.k8s.io/structured-merge-diff/v4 v4.2.3/go.mod h1:qjx8mGObPmV2aSZepjQjbmb2ihdVs8cGKBraizNC69E= -sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= diff --git a/integration/databricks/api.go b/integration/databricks/api.go deleted file mode 100644 index 9efa7fe..0000000 --- a/integration/databricks/api.go +++ /dev/null @@ -1,253 +0,0 @@ -package databricks - -import ( - "encoding/json" - "errors" - log "github.com/sirupsen/logrus" - "newrelic/multienv/integration/utils" - "newrelic/multienv/pkg/config" - "newrelic/multienv/pkg/connect" - "newrelic/multienv/pkg/model" - "reflect" - "time" -) - -func GetDatabricksConnectors(pipeConfig *config.PipelineConfig) ([]connect.Connector, error) { - - licenseKey := "" - databricksEndpoint := "" - databricksCloudProvider := "" - - if databricksLicenseKey, ok := pipeConfig.GetString("db_access_token"); ok { - licenseKey = databricksLicenseKey - } else { - return nil, errors.New("config key 'db_access_token' doesn't exist") - } - - if databricksEndpointUrl, ok := pipeConfig.GetString("databricks_endpoint"); ok { - databricksEndpoint = databricksEndpointUrl - } else { - return nil, errors.New("config key 'databricks_endpoint' doesn't exist") - } - - if databricksCloud, ok := pipeConfig.GetString("db_cloud"); ok { - databricksCloudProvider = databricksCloud - } else { - return nil, errors.New("config key 'db_cloud' doesn't exist") - } - - var headers = make(map[string]string) - headers["Authorization"] = "Bearer " + licenseKey - headers["Content-Type"] = "application/json" - headers["Accept"] = "application/json" - - var connectors []connect.Connector - - queryHistoryConnector := connect.MakeHttpGetConnector(databricksEndpoint+"/api/2.0/sql/history/queries?include_metrics=true", headers) - - if databricksCloudProvider == "GCP" { - queryHistoryConnector.SetConnectorModelName("GCPDatabricksQueryList") - } else if databricksCloudProvider == "AWS" { - queryHistoryConnector.SetConnectorModelName("AWSDatabricksQueryList") - } else if databricksCloudProvider == "AZURE" { - queryHistoryConnector.SetConnectorModelName("AzureDatabricksQueryList") - } - - jobRunsListConnector := connect.MakeHttpGetConnector(databricksEndpoint+"/api/2.1/jobs/runs/list", headers) - if databricksCloudProvider == "GCP" { - jobRunsListConnector.SetConnectorModelName("GCPDatabricksJobsRunsList") - } else if databricksCloudProvider == "AWS" { - jobRunsListConnector.SetConnectorModelName("AWSDatabricksJobsRunsList") - } else if databricksCloudProvider == "AZURE" { - jobRunsListConnector.SetConnectorModelName("AzureDatabricksJobsRunsList") - } - - pipelinesListConnector := connect.MakeHttpGetConnector(databricksEndpoint+"/api/2.0/pipelines?max_results=100", headers) - if databricksCloudProvider == "GCP" { - pipelinesListConnector.SetConnectorModelName("GCPDatabricksPipelinesList") - } else if databricksCloudProvider == "AWS" { - pipelinesListConnector.SetConnectorModelName("AWSDatabricksPipelinesList") - } else if databricksCloudProvider == "AZURE" { - pipelinesListConnector.SetConnectorModelName("AzureDatabricksPipelinesList") - } - - connectors = append(connectors, &jobRunsListConnector, &queryHistoryConnector) - - return connectors, nil -} - -func InitDatabricksProc(pipeConfig *config.PipelineConfig) (config.ProcConfig, error) { - - recv_interval = int(pipeConfig.Interval) - if recv_interval == 0 { - log.Warn("Interval not set, using 5 seconds") - recv_interval = 5 - } - - return config.ProcConfig{}, nil -} - -// DatabricksProc Proc Generate all kinds of data. -func DatabricksProc(data any) []model.MeltModel { - - responseModel := data.(map[string]any)["model"] - responseData := data.(map[string]any)["response"] - - out := make([]model.MeltModel, 0) - - switch responseModel { - - case "AWSDatabricksQueryList": - - var databricksJobsListModel = AWSQueriesList{} - modelJson, _ := json.Marshal(responseData) - err := json.Unmarshal(modelJson, &databricksJobsListModel) - if err != nil { - return nil - } - - for i := 0; i < len(databricksJobsListModel.Res); i++ { - e := reflect.ValueOf(&databricksJobsListModel.Res[i]).Elem() - tags := make(map[string]interface{}) - tags["QueryId"] = databricksJobsListModel.Res[i].QueryId - metricModels := utils.CreateMetricModels("AWSDatabricksQuery", e, tags) - out = append(out, metricModels...) - } - - case "AWSDatabricksJobsRunsList": - var databricksJobsListModel = AWSJobRuns{} - modelJson, _ := json.Marshal(responseData) - err := json.Unmarshal(modelJson, &databricksJobsListModel) - if err != nil { - return nil - } - - for i := 0; i < len(databricksJobsListModel.Runs); i++ { - - metricModel := createEventModels("AWS", databricksJobsListModel.Runs[i]) - out = append(out, metricModel) - } - - case "AWSDatabricksPipelinesList": - var databricksJobsListModel = AWSPipelinesList{} - modelJson, _ := json.Marshal(responseData) - err := json.Unmarshal(modelJson, &databricksJobsListModel) - if err != nil { - return nil - } - - for i := 0; i < len(databricksJobsListModel.Statuses); i++ { - - metricModel := createEventModels("AWS", databricksJobsListModel.Statuses[i]) - out = append(out, metricModel) - } - - case "GCPDatabricksQueryList": - - var databricksJobsListModel = GCPQueriesList{} - modelJson, _ := json.Marshal(responseData) - err := json.Unmarshal(modelJson, &databricksJobsListModel) - if err != nil { - return nil - } - - for i := 0; i < len(databricksJobsListModel.Res); i++ { - e := reflect.ValueOf(&databricksJobsListModel.Res[i]).Elem() - tags := make(map[string]interface{}) - tags["QueryId"] = databricksJobsListModel.Res[i].QueryId - metricModels := utils.CreateMetricModels("GCPDatabricksQuery", e, tags) - out = append(out, metricModels...) - } - - case "GCPDatabricksJobsRunsList": - var databricksJobsListModel = GCPJobRuns{} - modelJson, _ := json.Marshal(responseData) - err := json.Unmarshal(modelJson, &databricksJobsListModel) - if err != nil { - return nil - } - - for i := 0; i < len(databricksJobsListModel.Runs); i++ { - - metricModel := createEventModels("GCP", databricksJobsListModel.Runs[i]) - out = append(out, metricModel) - } - - case "GCPDatabricksPipelinesList": - var databricksJobsListModel = GCPPipelinesList{} - modelJson, _ := json.Marshal(responseData) - err := json.Unmarshal(modelJson, &databricksJobsListModel) - if err != nil { - return nil - } - - for i := 0; i < len(databricksJobsListModel.Statuses); i++ { - - metricModel := createEventModels("GCP", databricksJobsListModel.Statuses[i]) - out = append(out, metricModel) - } - case "AzureDatabricksQueryList": - - var databricksJobsListModel = AzureQueriesList{} - modelJson, _ := json.Marshal(responseData) - err := json.Unmarshal(modelJson, &databricksJobsListModel) - if err != nil { - return nil - } - - for i := 0; i < len(databricksJobsListModel.Res); i++ { - e := reflect.ValueOf(&databricksJobsListModel.Res[i]).Elem() - tags := make(map[string]interface{}) - tags["QueryId"] = databricksJobsListModel.Res[i].QueryId - metricModels := utils.CreateMetricModels("AzureDatabricksQuery", e, tags) - out = append(out, metricModels...) - } - - case "AzureDatabricksJobsRunsList": - var databricksJobsListModel = AzureJobRuns{} - modelJson, _ := json.Marshal(responseData) - err := json.Unmarshal(modelJson, &databricksJobsListModel) - if err != nil { - return nil - } - - for i := 0; i < len(databricksJobsListModel.Runs); i++ { - - metricModel := createEventModels("Azure", databricksJobsListModel.Runs[i]) - out = append(out, metricModel) - } - - case "AzureDatabricksPipelinesList": - var databricksJobsListModel = AzurePipelinesList{} - modelJson, _ := json.Marshal(responseData) - err := json.Unmarshal(modelJson, &databricksJobsListModel) - if err != nil { - return nil - } - - for i := 0; i < len(databricksJobsListModel.Statuses); i++ { - - metricModel := createEventModels("Azure", databricksJobsListModel.Statuses[i]) - out = append(out, metricModel) - } - default: - log.Println("Unknown response model in Databricks integration") - } - - return out -} - -func createEventModels(cloud string, data any) model.MeltModel { - jsonBytes, err := json.Marshal(data) - if err != nil { - log.Println(err.Error()) - } - var jsonString map[string]interface{} - - err = json.Unmarshal(jsonBytes, &jsonString) - if err != nil { - log.Println(err.Error()) - } - - return model.MakeEvent(cloud+"DatabricksJobsRuns", jsonString, time.Now()) -} diff --git a/integration/databricks/databricks.go b/integration/databricks/databricks.go deleted file mode 100644 index 5a313a7..0000000 --- a/integration/databricks/databricks.go +++ /dev/null @@ -1,1005 +0,0 @@ -package databricks - -var recv_interval = 0 - -type AWSJobRuns struct { - Runs []struct { - JobId int `json:"job_id"` - RunId int `json:"run_id"` - NumberInJob int `json:"number_in_job"` - CreatorUserName string `json:"creator_user_name"` - OriginalAttemptRunId int `json:"original_attempt_run_id"` - State struct { - LifeCycleState string `json:"life_cycle_state"` - QueueReason string `json:"queue_reason"` - ResultState string `json:"result_state"` - UserCancelledOrTimedout bool `json:"user_cancelled_or_timedout"` - StateMessage string `json:"state_message"` - } `json:"state"` - Schedule struct { - QuartzCronExpression string `json:"quartz_cron_expression"` - TimezoneId string `json:"timezone_id"` - PauseStatus string `json:"pause_status"` - } `json:"schedule"` - Tasks []struct { - SetupDuration int `json:"setup_duration"` - StartTime int64 `json:"start_time"` - TaskKey string `json:"task_key"` - State struct { - LifeCycleState string `json:"life_cycle_state"` - ResultState string `json:"result_state,omitempty"` - StateMessage string `json:"state_message"` - UserCancelledOrTimedout bool `json:"user_cancelled_or_timedout"` - } `json:"state"` - Description string `json:"description"` - JobClusterKey string `json:"job_cluster_key,omitempty"` - EndTime int64 `json:"end_time"` - RunPageUrl string `json:"run_page_url"` - RunId int `json:"run_id"` - ClusterInstance struct { - ClusterId string `json:"cluster_id"` - SparkContextId string `json:"spark_context_id,omitempty"` - } `json:"cluster_instance"` - SparkJarTask struct { - MainClassName string `json:"main_class_name"` - } `json:"spark_jar_task,omitempty"` - Libraries []struct { - Jar string `json:"jar"` - } `json:"libraries,omitempty"` - AttemptNumber int `json:"attempt_number"` - CleanupDuration int `json:"cleanup_duration"` - ExecutionDuration int `json:"execution_duration"` - RunIf string `json:"run_if"` - NotebookTask struct { - NotebookPath string `json:"notebook_path"` - Source string `json:"source"` - } `json:"notebook_task,omitempty"` - DependsOn []struct { - TaskKey string `json:"task_key"` - } `json:"depends_on,omitempty"` - NewCluster struct { - SparkVersion string `json:"spark_version"` - NodeTypeId interface{} `json:"node_type_id"` - SparkConf struct { - SparkSpeculation bool `json:"spark.speculation"` - } `json:"spark_conf"` - Autoscale struct { - MinWorkers int `json:"min_workers"` - MaxWorkers int `json:"max_workers"` - } `json:"autoscale"` - } `json:"new_cluster,omitempty"` - ExistingClusterId string `json:"existing_cluster_id,omitempty"` - } `json:"tasks"` - JobClusters []struct { - JobClusterKey string `json:"job_cluster_key"` - NewCluster struct { - SparkVersion string `json:"spark_version"` - NodeTypeId interface{} `json:"node_type_id"` - SparkConf struct { - SparkSpeculation bool `json:"spark.speculation"` - } `json:"spark_conf"` - Autoscale struct { - MinWorkers int `json:"min_workers"` - MaxWorkers int `json:"max_workers"` - } `json:"autoscale"` - } `json:"new_cluster"` - } `json:"job_clusters"` - ClusterSpec struct { - ExistingClusterId string `json:"existing_cluster_id"` - NewCluster struct { - NumWorkers int `json:"num_workers"` - Autoscale struct { - MinWorkers int `json:"min_workers"` - MaxWorkers int `json:"max_workers"` - } `json:"autoscale"` - ClusterName string `json:"cluster_name"` - SparkVersion string `json:"spark_version"` - SparkConf struct { - Property1 string `json:"property1"` - Property2 string `json:"property2"` - } `json:"spark_conf"` - AwsAttributes struct { - FirstOnDemand string `json:"first_on_demand"` - Availability string `json:"availability"` - ZoneId string `json:"zone_id"` - InstanceProfileArn string `json:"instance_profile_arn"` - SpotBidPricePercent string `json:"spot_bid_price_percent"` - EbsVolumeType string `json:"ebs_volume_type"` - EbsVolumeCount string `json:"ebs_volume_count"` - EbsVolumeSize int `json:"ebs_volume_size"` - EbsVolumeIops int `json:"ebs_volume_iops"` - EbsVolumeThroughput int `json:"ebs_volume_throughput"` - } `json:"aws_attributes"` - NodeTypeId string `json:"node_type_id"` - DriverNodeTypeId string `json:"driver_node_type_id"` - SshPublicKeys []string `json:"ssh_public_keys"` - CustomTags struct { - Property1 string `json:"property1"` - Property2 string `json:"property2"` - } `json:"custom_tags"` - ClusterLogConf struct { - Dbfs struct { - Destination string `json:"destination"` - } `json:"dbfs"` - S3 struct { - Destination string `json:"destination"` - Region string `json:"region"` - Endpoint string `json:"endpoint"` - EnableEncryption bool `json:"enable_encryption"` - EncryptionType string `json:"encryption_type"` - KmsKey string `json:"kms_key"` - CannedAcl string `json:"canned_acl"` - } `json:"s3"` - } `json:"cluster_log_conf"` - InitScripts []struct { - Workspace struct { - Destination string `json:"destination"` - } `json:"workspace"` - Volumes struct { - Destination string `json:"destination"` - } `json:"volumes"` - S3 struct { - Destination string `json:"destination"` - Region string `json:"region"` - Endpoint string `json:"endpoint"` - EnableEncryption bool `json:"enable_encryption"` - EncryptionType string `json:"encryption_type"` - KmsKey string `json:"kms_key"` - CannedAcl string `json:"canned_acl"` - } `json:"s3"` - File struct { - Destination string `json:"destination"` - } `json:"file"` - Dbfs struct { - Destination string `json:"destination"` - } `json:"dbfs"` - Abfss struct { - Destination string `json:"destination"` - } `json:"abfss"` - Gcs struct { - Destination string `json:"destination"` - } `json:"gcs"` - } `json:"init_scripts"` - SparkEnvVars struct { - Property1 string `json:"property1"` - Property2 string `json:"property2"` - } `json:"spark_env_vars"` - AutoterminationMinutes int `json:"autotermination_minutes"` - EnableElasticDisk bool `json:"enable_elastic_disk"` - ClusterSource string `json:"cluster_source"` - InstancePoolId string `json:"instance_pool_id"` - PolicyId string `json:"policy_id"` - EnableLocalDiskEncryption bool `json:"enable_local_disk_encryption"` - DriverInstancePoolId string `json:"driver_instance_pool_id"` - WorkloadType struct { - Clients struct { - Notebooks string `json:"notebooks"` - Jobs string `json:"jobs"` - } `json:"clients"` - } `json:"workload_type"` - RuntimeEngine string `json:"runtime_engine"` - DockerImage struct { - Url string `json:"url"` - BasicAuth struct { - Username string `json:"username"` - Password string `json:"password"` - } `json:"basic_auth"` - } `json:"docker_image"` - DataSecurityMode string `json:"data_security_mode"` - SingleUserName string `json:"single_user_name"` - ApplyPolicyDefaultValues string `json:"apply_policy_default_values"` - } `json:"new_cluster"` - Libraries []struct { - Jar string `json:"jar"` - Egg string `json:"egg"` - Pypi struct { - Package string `json:"package"` - Repo string `json:"repo"` - } `json:"pypi"` - Maven struct { - Coordinates string `json:"coordinates"` - Repo string `json:"repo"` - Exclusions []string `json:"exclusions"` - } `json:"maven"` - Cran struct { - Package string `json:"package"` - Repo string `json:"repo"` - } `json:"cran"` - Whl string `json:"whl"` - } `json:"libraries"` - } `json:"cluster_spec"` - ClusterInstance struct { - ClusterId string `json:"cluster_id"` - SparkContextId string `json:"spark_context_id"` - } `json:"cluster_instance"` - GitSource struct { - GitUrl string `json:"git_url"` - GitBranch string `json:"git_branch"` - GitProvider string `json:"git_provider"` - } `json:"git_source"` - OverridingParameters struct { - JarParams []string `json:"jar_params"` - NotebookParams struct { - Name string `json:"name"` - Age string `json:"age"` - } `json:"notebook_params"` - PythonParams []string `json:"python_params"` - SparkSubmitParams []string `json:"spark_submit_params"` - PythonNamedParams struct { - Name string `json:"name"` - Data string `json:"data"` - } `json:"python_named_params"` - PipelineParams struct { - FullRefresh bool `json:"full_refresh"` - } `json:"pipeline_params"` - SqlParams struct { - Name string `json:"name"` - Age string `json:"age"` - } `json:"sql_params"` - DbtCommands []string `json:"dbt_commands"` - JobParameters struct { - Name string `json:"name"` - Age string `json:"age"` - } `json:"job_parameters"` - } `json:"overriding_parameters"` - StartTime int64 `json:"start_time"` - SetupDuration int `json:"setup_duration"` - ExecutionDuration int `json:"execution_duration"` - CleanupDuration int `json:"cleanup_duration"` - EndTime int64 `json:"end_time"` - TriggerInfo struct { - RunId int `json:"run_id"` - } `json:"trigger_info"` - RunDuration int `json:"run_duration"` - Trigger string `json:"trigger"` - RunName string `json:"run_name"` - RunPageUrl string `json:"run_page_url"` - RunType string `json:"run_type"` - AttemptNumber int `json:"attempt_number"` - JobParameters []struct { - Name string `json:"name"` - Default string `json:"default"` - Value string `json:"value"` - } `json:"job_parameters"` - } `json:"runs"` - HasMore bool `json:"has_more"` - NextPageToken string `json:"next_page_token"` - PrevPageToken string `json:"prev_page_token"` -} - -type AWSQueriesList struct { - NextPageToken string `json:"next_page_token"` - HasNextPage bool `json:"has_next_page"` - Res []struct { - QueryId string `json:"query_id"` - Status string `json:"status"` - QueryText string `json:"query_text"` - QueryStartTimeMs int64 `json:"query_start_time_ms"` - ExecutionEndTimeMs int64 `json:"execution_end_time_ms"` - QueryEndTimeMs int64 `json:"query_end_time_ms"` - UserId int64 `json:"user_id"` - UserName string `json:"user_name"` - SparkUiUrl string `json:"spark_ui_url"` - EndpointId string `json:"endpoint_id"` - WarehouseId string `json:"warehouse_id"` - LookupKey string `json:"lookup_key"` - ErrorMessage string `json:"error_message"` - RowsProduced int `json:"rows_produced"` - CanSubscribeToLiveQuery bool `json:"canSubscribeToLiveQuery"` - Metrics struct { - TotalTimeMs int `json:"total_time_ms"` - ReadBytes int `json:"read_bytes"` - RowsProducedCount int `json:"rows_produced_count"` - CompilationTimeMs int `json:"compilation_time_ms"` - ExecutionTimeMs int `json:"execution_time_ms"` - ReadRemoteBytes int `json:"read_remote_bytes"` - WriteRemoteBytes int `json:"write_remote_bytes"` - ReadCacheBytes int `json:"read_cache_bytes"` - SpillToDiskBytes int `json:"spill_to_disk_bytes"` - TaskTotalTimeMs int `json:"task_total_time_ms"` - ReadFilesCount int `json:"read_files_count"` - ReadPartitionsCount int `json:"read_partitions_count"` - PhotonTotalTimeMs int `json:"photon_total_time_ms"` - RowsReadCount int `json:"rows_read_count"` - ResultFetchTimeMs int `json:"result_fetch_time_ms"` - NetworkSentBytes int `json:"network_sent_bytes"` - ResultFromCache bool `json:"result_from_cache"` - PrunedBytes int `json:"pruned_bytes"` - PrunedFilesCount int `json:"pruned_files_count"` - ProvisioningQueueStartTimestamp int64 `json:"provisioning_queue_start_timestamp"` - OverloadingQueueStartTimestamp int64 `json:"overloading_queue_start_timestamp"` - QueryCompilationStartTimestamp int64 `json:"query_compilation_start_timestamp"` - MetadataTimeMs int `json:"metadata_time_ms"` - PlanningTimeMs int `json:"planning_time_ms"` - QueryExecutionTimeMs int `json:"query_execution_time_ms"` - } `json:"metrics"` - IsFinal bool `json:"is_final"` - ChannelUsed struct { - Name string `json:"name"` - DbsqlVersion string `json:"dbsql_version"` - } `json:"channel_used"` - Duration int `json:"duration"` - ExecutedAsUserId int64 `json:"executed_as_user_id"` - ExecutedAsUserName string `json:"executed_as_user_name"` - PlansState string `json:"plans_state"` - StatementType string `json:"statement_type"` - } `json:"res"` -} - -type GCPQueriesList struct { - NextPageToken string `json:"next_page_token"` - HasNextPage bool `json:"has_next_page"` - Res []struct { - QueryId string `json:"query_id"` - Status string `json:"status"` - QueryText string `json:"query_text"` - QueryStartTimeMs int64 `json:"query_start_time_ms"` - ExecutionEndTimeMs int64 `json:"execution_end_time_ms"` - QueryEndTimeMs int64 `json:"query_end_time_ms"` - UserId int64 `json:"user_id"` - UserName string `json:"user_name"` - SparkUiUrl string `json:"spark_ui_url"` - EndpointId string `json:"endpoint_id"` - WarehouseId string `json:"warehouse_id"` - LookupKey string `json:"lookup_key"` - ErrorMessage string `json:"error_message"` - RowsProduced int `json:"rows_produced"` - CanSubscribeToLiveQuery bool `json:"canSubscribeToLiveQuery"` - Metrics struct { - TotalTimeMs int `json:"total_time_ms"` - ReadBytes int `json:"read_bytes"` - RowsProducedCount int `json:"rows_produced_count"` - CompilationTimeMs int `json:"compilation_time_ms"` - ExecutionTimeMs int `json:"execution_time_ms"` - ReadRemoteBytes int `json:"read_remote_bytes"` - WriteRemoteBytes int `json:"write_remote_bytes"` - ReadCacheBytes int `json:"read_cache_bytes"` - SpillToDiskBytes int `json:"spill_to_disk_bytes"` - TaskTotalTimeMs int `json:"task_total_time_ms"` - ReadFilesCount int `json:"read_files_count"` - ReadPartitionsCount int `json:"read_partitions_count"` - PhotonTotalTimeMs int `json:"photon_total_time_ms"` - RowsReadCount int `json:"rows_read_count"` - ResultFetchTimeMs int `json:"result_fetch_time_ms"` - NetworkSentBytes int `json:"network_sent_bytes"` - ResultFromCache bool `json:"result_from_cache"` - PrunedBytes int `json:"pruned_bytes"` - PrunedFilesCount int `json:"pruned_files_count"` - ProvisioningQueueStartTimestamp int64 `json:"provisioning_queue_start_timestamp"` - OverloadingQueueStartTimestamp int64 `json:"overloading_queue_start_timestamp"` - QueryCompilationStartTimestamp int64 `json:"query_compilation_start_timestamp"` - MetadataTimeMs int `json:"metadata_time_ms"` - PlanningTimeMs int `json:"planning_time_ms"` - QueryExecutionTimeMs int `json:"query_execution_time_ms"` - } `json:"metrics"` - IsFinal bool `json:"is_final"` - ChannelUsed struct { - Name string `json:"name"` - DbsqlVersion string `json:"dbsql_version"` - } `json:"channel_used"` - Duration int `json:"duration"` - ExecutedAsUserId int64 `json:"executed_as_user_id"` - ExecutedAsUserName string `json:"executed_as_user_name"` - PlansState string `json:"plans_state"` - StatementType string `json:"statement_type"` - } `json:"res"` -} - -type AzureQueriesList struct { - NextPageToken string `json:"next_page_token"` - HasNextPage bool `json:"has_next_page"` - Res []struct { - QueryId string `json:"query_id"` - Status string `json:"status"` - QueryText string `json:"query_text"` - QueryStartTimeMs int64 `json:"query_start_time_ms"` - ExecutionEndTimeMs int64 `json:"execution_end_time_ms"` - QueryEndTimeMs int64 `json:"query_end_time_ms"` - UserId int64 `json:"user_id"` - UserName string `json:"user_name"` - SparkUiUrl string `json:"spark_ui_url"` - EndpointId string `json:"endpoint_id"` - WarehouseId string `json:"warehouse_id"` - LookupKey string `json:"lookup_key"` - ErrorMessage string `json:"error_message"` - RowsProduced int `json:"rows_produced"` - CanSubscribeToLiveQuery bool `json:"canSubscribeToLiveQuery"` - Metrics struct { - TotalTimeMs int `json:"total_time_ms"` - ReadBytes int `json:"read_bytes"` - RowsProducedCount int `json:"rows_produced_count"` - CompilationTimeMs int `json:"compilation_time_ms"` - ExecutionTimeMs int `json:"execution_time_ms"` - ReadRemoteBytes int `json:"read_remote_bytes"` - WriteRemoteBytes int `json:"write_remote_bytes"` - ReadCacheBytes int `json:"read_cache_bytes"` - SpillToDiskBytes int `json:"spill_to_disk_bytes"` - TaskTotalTimeMs int `json:"task_total_time_ms"` - ReadFilesCount int `json:"read_files_count"` - ReadPartitionsCount int `json:"read_partitions_count"` - PhotonTotalTimeMs int `json:"photon_total_time_ms"` - RowsReadCount int `json:"rows_read_count"` - ResultFetchTimeMs int `json:"result_fetch_time_ms"` - NetworkSentBytes int `json:"network_sent_bytes"` - ResultFromCache bool `json:"result_from_cache"` - PrunedBytes int `json:"pruned_bytes"` - PrunedFilesCount int `json:"pruned_files_count"` - ProvisioningQueueStartTimestamp int64 `json:"provisioning_queue_start_timestamp"` - OverloadingQueueStartTimestamp int64 `json:"overloading_queue_start_timestamp"` - QueryCompilationStartTimestamp int64 `json:"query_compilation_start_timestamp"` - MetadataTimeMs int `json:"metadata_time_ms"` - PlanningTimeMs int `json:"planning_time_ms"` - QueryExecutionTimeMs int `json:"query_execution_time_ms"` - } `json:"metrics"` - IsFinal bool `json:"is_final"` - ChannelUsed struct { - Name string `json:"name"` - DbsqlVersion string `json:"dbsql_version"` - } `json:"channel_used"` - Duration int `json:"duration"` - ExecutedAsUserId int64 `json:"executed_as_user_id"` - ExecutedAsUserName string `json:"executed_as_user_name"` - PlansState string `json:"plans_state"` - StatementType string `json:"statement_type"` - } `json:"res"` -} - -type GCPJobRuns struct { - Runs []struct { - JobId int `json:"job_id"` - RunId int `json:"run_id"` - CreatorUserName string `json:"creator_user_name"` - NumberInJob int `json:"number_in_job"` - OriginalAttemptRunId int `json:"original_attempt_run_id"` - State struct { - LifeCycleState string `json:"life_cycle_state"` - ResultState string `json:"result_state"` - StateMessage string `json:"state_message"` - UserCancelledOrTimedout bool `json:"user_cancelled_or_timedout"` - QueueReason string `json:"queue_reason"` - } `json:"state"` - Schedule struct { - QuartzCronExpression string `json:"quartz_cron_expression"` - TimezoneId string `json:"timezone_id"` - PauseStatus string `json:"pause_status"` - } `json:"schedule"` - ClusterSpec struct { - ExistingClusterId string `json:"existing_cluster_id"` - NewCluster struct { - NumWorkers int `json:"num_workers"` - Autoscale struct { - MinWorkers int `json:"min_workers"` - MaxWorkers int `json:"max_workers"` - } `json:"autoscale"` - ClusterName string `json:"cluster_name"` - SparkVersion string `json:"spark_version"` - SparkConf struct { - Property1 string `json:"property1"` - Property2 string `json:"property2"` - } `json:"spark_conf"` - GcpAttributes struct { - GoogleServiceAccount string `json:"google_service_account"` - BootDiskSize int `json:"boot_disk_size"` - Availability string `json:"availability"` - LocalSsdCount int `json:"local_ssd_count"` - UsePreemptibleExecutors bool `json:"use_preemptible_executors"` - ZoneId string `json:"zone_id"` - } `json:"gcp_attributes"` - NodeTypeId string `json:"node_type_id"` - DriverNodeTypeId string `json:"driver_node_type_id"` - SshPublicKeys []string `json:"ssh_public_keys"` - CustomTags struct { - Property1 string `json:"property1"` - Property2 string `json:"property2"` - } `json:"custom_tags"` - ClusterLogConf struct { - Dbfs struct { - Destination string `json:"destination"` - } `json:"dbfs"` - } `json:"cluster_log_conf"` - InitScripts []struct { - Workspace struct { - Destination string `json:"destination"` - } `json:"workspace"` - Volumes struct { - Destination string `json:"destination"` - } `json:"volumes"` - File struct { - Destination string `json:"destination"` - } `json:"file"` - Dbfs struct { - Destination string `json:"destination"` - } `json:"dbfs"` - Abfss struct { - Destination string `json:"destination"` - } `json:"abfss"` - Gcs struct { - Destination string `json:"destination"` - } `json:"gcs"` - } `json:"init_scripts"` - SparkEnvVars struct { - Property1 string `json:"property1"` - Property2 string `json:"property2"` - } `json:"spark_env_vars"` - AutoterminationMinutes int `json:"autotermination_minutes"` - EnableElasticDisk bool `json:"enable_elastic_disk"` - ClusterSource string `json:"cluster_source"` - InstancePoolId string `json:"instance_pool_id"` - PolicyId string `json:"policy_id"` - EnableLocalDiskEncryption bool `json:"enable_local_disk_encryption"` - DriverInstancePoolId string `json:"driver_instance_pool_id"` - WorkloadType struct { - Clients struct { - Notebooks string `json:"notebooks"` - Jobs string `json:"jobs"` - } `json:"clients"` - } `json:"workload_type"` - RuntimeEngine string `json:"runtime_engine"` - DockerImage struct { - Url string `json:"url"` - BasicAuth struct { - Username string `json:"username"` - Password string `json:"password"` - } `json:"basic_auth"` - } `json:"docker_image"` - DataSecurityMode string `json:"data_security_mode"` - SingleUserName string `json:"single_user_name"` - ApplyPolicyDefaultValues string `json:"apply_policy_default_values"` - } `json:"new_cluster"` - JobClusterKey string `json:"job_cluster_key"` - Libraries []struct { - Jar string `json:"jar"` - Egg string `json:"egg"` - Pypi struct { - Package string `json:"package"` - Repo string `json:"repo"` - } `json:"pypi"` - Maven struct { - Coordinates string `json:"coordinates"` - Repo string `json:"repo"` - Exclusions []string `json:"exclusions"` - } `json:"maven"` - Cran struct { - Package string `json:"package"` - Repo string `json:"repo"` - } `json:"cran"` - Whl string `json:"whl"` - } `json:"libraries"` - } `json:"cluster_spec"` - ClusterInstance struct { - ClusterId string `json:"cluster_id"` - SparkContextId string `json:"spark_context_id"` - } `json:"cluster_instance"` - OverridingParameters struct { - JarParams []string `json:"jar_params"` - NotebookParams struct { - Age string `json:"age"` - Name string `json:"name"` - } `json:"notebook_params"` - PythonParams []string `json:"python_params"` - SparkSubmitParams []string `json:"spark_submit_params"` - PythonNamedParams struct { - Data string `json:"data"` - Name string `json:"name"` - } `json:"python_named_params"` - DbtCommands []string `json:"dbt_commands"` - PipelineParams struct { - FullRefresh bool `json:"full_refresh"` - } `json:"pipeline_params"` - } `json:"overriding_parameters"` - StartTime int64 `json:"start_time"` - SetupDuration int `json:"setup_duration"` - ExecutionDuration int `json:"execution_duration"` - CleanupDuration int `json:"cleanup_duration"` - EndTime int64 `json:"end_time"` - RunDuration int `json:"run_duration"` - QueueDuration int64 `json:"queue_duration"` - Trigger string `json:"trigger"` - TriggerInfo struct { - RunId int `json:"run_id"` - } `json:"trigger_info"` - RunName string `json:"run_name"` - RunPageUrl string `json:"run_page_url"` - RunType string `json:"run_type"` - Tasks []struct { - SetupDuration int `json:"setup_duration"` - StartTime int64 `json:"start_time"` - TaskKey string `json:"task_key"` - State struct { - LifeCycleState string `json:"life_cycle_state"` - ResultState string `json:"result_state,omitempty"` - StateMessage string `json:"state_message"` - UserCancelledOrTimedout bool `json:"user_cancelled_or_timedout"` - } `json:"state"` - Description string `json:"description"` - JobClusterKey string `json:"job_cluster_key,omitempty"` - EndTime int64 `json:"end_time"` - RunPageUrl string `json:"run_page_url"` - RunId int `json:"run_id"` - ClusterInstance struct { - ClusterId string `json:"cluster_id"` - SparkContextId string `json:"spark_context_id,omitempty"` - } `json:"cluster_instance"` - SparkJarTask struct { - MainClassName string `json:"main_class_name"` - } `json:"spark_jar_task,omitempty"` - Libraries []struct { - Jar string `json:"jar"` - } `json:"libraries,omitempty"` - AttemptNumber int `json:"attempt_number"` - CleanupDuration int `json:"cleanup_duration"` - ExecutionDuration int `json:"execution_duration"` - RunIf string `json:"run_if"` - NotebookTask struct { - NotebookPath string `json:"notebook_path"` - Source string `json:"source"` - } `json:"notebook_task,omitempty"` - DependsOn []struct { - TaskKey string `json:"task_key"` - } `json:"depends_on,omitempty"` - NewCluster struct { - Autoscale struct { - MaxWorkers int `json:"max_workers"` - MinWorkers int `json:"min_workers"` - } `json:"autoscale"` - NodeTypeId interface{} `json:"node_type_id"` - SparkConf struct { - SparkSpeculation bool `json:"spark.speculation"` - } `json:"spark_conf"` - SparkVersion string `json:"spark_version"` - } `json:"new_cluster,omitempty"` - ExistingClusterId string `json:"existing_cluster_id,omitempty"` - } `json:"tasks"` - Description string `json:"description"` - AttemptNumber int `json:"attempt_number"` - JobClusters []struct { - JobClusterKey string `json:"job_cluster_key"` - NewCluster struct { - Autoscale struct { - MaxWorkers int `json:"max_workers"` - MinWorkers int `json:"min_workers"` - } `json:"autoscale"` - NodeTypeId interface{} `json:"node_type_id"` - SparkConf struct { - SparkSpeculation bool `json:"spark.speculation"` - } `json:"spark_conf"` - SparkVersion string `json:"spark_version"` - } `json:"new_cluster"` - } `json:"job_clusters"` - GitSource struct { - GitBranch string `json:"git_branch"` - GitProvider string `json:"git_provider"` - GitUrl string `json:"git_url"` - } `json:"git_source"` - RepairHistory []struct { - Type string `json:"type"` - StartTime int64 `json:"start_time"` - EndTime int64 `json:"end_time"` - State struct { - LifeCycleState string `json:"life_cycle_state"` - ResultState string `json:"result_state"` - StateMessage string `json:"state_message"` - UserCancelledOrTimedout bool `json:"user_cancelled_or_timedout"` - QueueReason string `json:"queue_reason"` - } `json:"state"` - Id int64 `json:"id"` - TaskRunIds []int64 `json:"task_run_ids"` - } `json:"repair_history"` - JobParameters []struct { - Default string `json:"default"` - Name string `json:"name"` - Value string `json:"value"` - } `json:"job_parameters"` - } `json:"runs"` - HasMore bool `json:"has_more"` - NextPageToken string `json:"next_page_token"` - PrevPageToken string `json:"prev_page_token"` -} - -type AzureJobRuns struct { - Runs []struct { - JobId int `json:"job_id"` - RunId int `json:"run_id"` - CreatorUserName string `json:"creator_user_name"` - NumberInJob int `json:"number_in_job"` - OriginalAttemptRunId int `json:"original_attempt_run_id"` - State struct { - LifeCycleState string `json:"life_cycle_state"` - ResultState string `json:"result_state"` - StateMessage string `json:"state_message"` - UserCancelledOrTimedout bool `json:"user_cancelled_or_timedout"` - QueueReason string `json:"queue_reason"` - } `json:"state"` - Schedule struct { - QuartzCronExpression string `json:"quartz_cron_expression"` - TimezoneId string `json:"timezone_id"` - PauseStatus string `json:"pause_status"` - } `json:"schedule"` - ClusterSpec struct { - ExistingClusterId string `json:"existing_cluster_id"` - NewCluster struct { - NumWorkers int `json:"num_workers"` - Autoscale struct { - MinWorkers int `json:"min_workers"` - MaxWorkers int `json:"max_workers"` - } `json:"autoscale"` - ClusterName string `json:"cluster_name"` - SparkVersion string `json:"spark_version"` - SparkConf struct { - Property1 string `json:"property1"` - Property2 string `json:"property2"` - } `json:"spark_conf"` - AzureAttributes struct { - LogAnalyticsInfo struct { - LogAnalyticsWorkspaceId string `json:"log_analytics_workspace_id"` - LogAnalyticsPrimaryKey string `json:"log_analytics_primary_key"` - } `json:"log_analytics_info"` - FirstOnDemand string `json:"first_on_demand"` - Availability string `json:"availability"` - SpotBidMaxPrice string `json:"spot_bid_max_price"` - } `json:"azure_attributes"` - NodeTypeId string `json:"node_type_id"` - DriverNodeTypeId string `json:"driver_node_type_id"` - SshPublicKeys []string `json:"ssh_public_keys"` - CustomTags struct { - Property1 string `json:"property1"` - Property2 string `json:"property2"` - } `json:"custom_tags"` - ClusterLogConf struct { - Dbfs struct { - Destination string `json:"destination"` - } `json:"dbfs"` - } `json:"cluster_log_conf"` - InitScripts []struct { - Workspace struct { - Destination string `json:"destination"` - } `json:"workspace"` - Volumes struct { - Destination string `json:"destination"` - } `json:"volumes"` - File struct { - Destination string `json:"destination"` - } `json:"file"` - Dbfs struct { - Destination string `json:"destination"` - } `json:"dbfs"` - Abfss struct { - Destination string `json:"destination"` - } `json:"abfss"` - Gcs struct { - Destination string `json:"destination"` - } `json:"gcs"` - } `json:"init_scripts"` - SparkEnvVars struct { - Property1 string `json:"property1"` - Property2 string `json:"property2"` - } `json:"spark_env_vars"` - AutoterminationMinutes int `json:"autotermination_minutes"` - EnableElasticDisk bool `json:"enable_elastic_disk"` - ClusterSource string `json:"cluster_source"` - InstancePoolId string `json:"instance_pool_id"` - PolicyId string `json:"policy_id"` - EnableLocalDiskEncryption bool `json:"enable_local_disk_encryption"` - DriverInstancePoolId string `json:"driver_instance_pool_id"` - WorkloadType struct { - Clients struct { - Notebooks string `json:"notebooks"` - Jobs string `json:"jobs"` - } `json:"clients"` - } `json:"workload_type"` - RuntimeEngine string `json:"runtime_engine"` - DockerImage struct { - Url string `json:"url"` - BasicAuth struct { - Username string `json:"username"` - Password string `json:"password"` - } `json:"basic_auth"` - } `json:"docker_image"` - DataSecurityMode string `json:"data_security_mode"` - SingleUserName string `json:"single_user_name"` - ApplyPolicyDefaultValues string `json:"apply_policy_default_values"` - } `json:"new_cluster"` - JobClusterKey string `json:"job_cluster_key"` - Libraries []struct { - Jar string `json:"jar"` - Egg string `json:"egg"` - Pypi struct { - Package string `json:"package"` - Repo string `json:"repo"` - } `json:"pypi"` - Maven struct { - Coordinates string `json:"coordinates"` - Repo string `json:"repo"` - Exclusions []string `json:"exclusions"` - } `json:"maven"` - Cran struct { - Package string `json:"package"` - Repo string `json:"repo"` - } `json:"cran"` - Whl string `json:"whl"` - } `json:"libraries"` - } `json:"cluster_spec"` - ClusterInstance struct { - ClusterId string `json:"cluster_id"` - SparkContextId string `json:"spark_context_id"` - } `json:"cluster_instance"` - OverridingParameters struct { - JarParams []string `json:"jar_params"` - NotebookParams struct { - Age string `json:"age"` - Name string `json:"name"` - } `json:"notebook_params"` - PythonParams []string `json:"python_params"` - SparkSubmitParams []string `json:"spark_submit_params"` - PythonNamedParams struct { - Data string `json:"data"` - Name string `json:"name"` - } `json:"python_named_params"` - SqlParams struct { - Age string `json:"age"` - Name string `json:"name"` - } `json:"sql_params"` - DbtCommands []string `json:"dbt_commands"` - PipelineParams struct { - FullRefresh bool `json:"full_refresh"` - } `json:"pipeline_params"` - } `json:"overriding_parameters"` - StartTime int64 `json:"start_time"` - SetupDuration int `json:"setup_duration"` - ExecutionDuration int `json:"execution_duration"` - CleanupDuration int `json:"cleanup_duration"` - EndTime int64 `json:"end_time"` - RunDuration int `json:"run_duration"` - QueueDuration int64 `json:"queue_duration"` - Trigger string `json:"trigger"` - TriggerInfo struct { - RunId int `json:"run_id"` - } `json:"trigger_info"` - RunName string `json:"run_name"` - RunPageUrl string `json:"run_page_url"` - RunType string `json:"run_type"` - Tasks []struct { - SetupDuration int `json:"setup_duration"` - StartTime int64 `json:"start_time"` - TaskKey string `json:"task_key"` - State struct { - LifeCycleState string `json:"life_cycle_state"` - ResultState string `json:"result_state,omitempty"` - StateMessage string `json:"state_message"` - UserCancelledOrTimedout bool `json:"user_cancelled_or_timedout"` - } `json:"state"` - Description string `json:"description"` - JobClusterKey string `json:"job_cluster_key,omitempty"` - EndTime int64 `json:"end_time"` - RunPageUrl string `json:"run_page_url"` - RunId int `json:"run_id"` - ClusterInstance struct { - ClusterId string `json:"cluster_id"` - SparkContextId string `json:"spark_context_id,omitempty"` - } `json:"cluster_instance"` - SparkJarTask struct { - MainClassName string `json:"main_class_name"` - } `json:"spark_jar_task,omitempty"` - Libraries []struct { - Jar string `json:"jar"` - } `json:"libraries,omitempty"` - AttemptNumber int `json:"attempt_number"` - CleanupDuration int `json:"cleanup_duration"` - ExecutionDuration int `json:"execution_duration"` - RunIf string `json:"run_if"` - NotebookTask struct { - NotebookPath string `json:"notebook_path"` - Source string `json:"source"` - } `json:"notebook_task,omitempty"` - DependsOn []struct { - TaskKey string `json:"task_key"` - } `json:"depends_on,omitempty"` - NewCluster struct { - Autoscale struct { - MaxWorkers int `json:"max_workers"` - MinWorkers int `json:"min_workers"` - } `json:"autoscale"` - NodeTypeId interface{} `json:"node_type_id"` - SparkConf struct { - SparkSpeculation bool `json:"spark.speculation"` - } `json:"spark_conf"` - SparkVersion string `json:"spark_version"` - } `json:"new_cluster,omitempty"` - ExistingClusterId string `json:"existing_cluster_id,omitempty"` - } `json:"tasks"` - Description string `json:"description"` - AttemptNumber int `json:"attempt_number"` - JobClusters []struct { - JobClusterKey string `json:"job_cluster_key"` - NewCluster struct { - Autoscale struct { - MaxWorkers int `json:"max_workers"` - MinWorkers int `json:"min_workers"` - } `json:"autoscale"` - NodeTypeId interface{} `json:"node_type_id"` - SparkConf struct { - SparkSpeculation bool `json:"spark.speculation"` - } `json:"spark_conf"` - SparkVersion string `json:"spark_version"` - } `json:"new_cluster"` - } `json:"job_clusters"` - GitSource struct { - GitBranch string `json:"git_branch"` - GitProvider string `json:"git_provider"` - GitUrl string `json:"git_url"` - } `json:"git_source"` - RepairHistory []struct { - Type string `json:"type"` - StartTime int64 `json:"start_time"` - EndTime int64 `json:"end_time"` - State struct { - LifeCycleState string `json:"life_cycle_state"` - ResultState string `json:"result_state"` - StateMessage string `json:"state_message"` - UserCancelledOrTimedout bool `json:"user_cancelled_or_timedout"` - QueueReason string `json:"queue_reason"` - } `json:"state"` - Id int64 `json:"id"` - TaskRunIds []int64 `json:"task_run_ids"` - } `json:"repair_history"` - JobParameters []struct { - Default string `json:"default"` - Name string `json:"name"` - Value string `json:"value"` - } `json:"job_parameters"` - } `json:"runs"` - HasMore bool `json:"has_more"` - NextPageToken string `json:"next_page_token"` - PrevPageToken string `json:"prev_page_token"` -} - -type AWSPipelinesList struct { - Statuses []struct { - PipelineId string `json:"pipeline_id"` - State string `json:"state"` - ClusterId string `json:"cluster_id"` - Name string `json:"name"` - LatestUpdates []struct { - UpdateId string `json:"update_id"` - State string `json:"state"` - CreationTime string `json:"creation_time"` - } `json:"latest_updates"` - CreatorUserName string `json:"creator_user_name"` - RunAsUserName string `json:"run_as_user_name"` - } `json:"statuses"` - NextPageToken string `json:"next_page_token"` -} - -type GCPPipelinesList struct { - Statuses []struct { - PipelineId string `json:"pipeline_id"` - State string `json:"state"` - ClusterId string `json:"cluster_id"` - Name string `json:"name"` - LatestUpdates []struct { - UpdateId string `json:"update_id"` - State string `json:"state"` - CreationTime string `json:"creation_time"` - } `json:"latest_updates"` - CreatorUserName string `json:"creator_user_name"` - RunAsUserName string `json:"run_as_user_name"` - } `json:"statuses"` - NextPageToken string `json:"next_page_token"` -} - -type AzurePipelinesList struct { - Statuses []struct { - PipelineId string `json:"pipeline_id"` - State string `json:"state"` - ClusterId string `json:"cluster_id"` - Name string `json:"name"` - LatestUpdates []struct { - UpdateId string `json:"update_id"` - State string `json:"state"` - CreationTime string `json:"creation_time"` - } `json:"latest_updates"` - CreatorUserName string `json:"creator_user_name"` - RunAsUserName string `json:"run_as_user_name"` - } `json:"statuses"` - NextPageToken string `json:"next_page_token"` -} diff --git a/integration/integration.go b/integration/integration.go deleted file mode 100644 index 32195b8..0000000 --- a/integration/integration.go +++ /dev/null @@ -1,86 +0,0 @@ -package integration - -import ( - log "github.com/sirupsen/logrus" - "newrelic/multienv/integration/databricks" - "newrelic/multienv/integration/spark" - "newrelic/multienv/pkg/config" - "newrelic/multienv/pkg/connect" - "newrelic/multienv/pkg/deser" - "newrelic/multienv/pkg/model" -) - -var recv_interval = 60 - -// InitRecv Integration Receiver Initializer -func InitRecv(pipeConfig *config.PipelineConfig) (config.RecvConfig, error) { - - recv_interval = int(pipeConfig.Interval) - if recv_interval == 0 { - log.Warn("Interval not set, using 60 seconds") - recv_interval = 60 - } - - var connectors []connect.Connector - - sparkConnectors, _ := spark.GetSparkConnectors(pipeConfig) - databricksConnectors, _ := databricks.GetDatabricksConnectors(pipeConfig) - - connectors = append(connectors, sparkConnectors...) - connectors = append(connectors, databricksConnectors...) - - return config.RecvConfig{ - Connectors: connectors, - Deser: deser.DeserJson, - }, nil -} - -// InitProc Integration Processor Initializer -func InitProc(pipeConfig *config.PipelineConfig) (config.ProcConfig, error) { - - recv_interval = int(pipeConfig.Interval) - if recv_interval == 0 { - log.Warn("Interval not set, using 60 seconds") - recv_interval = 60 - } - - _, sparkError := spark.InitSparkProc(pipeConfig) - if sparkError != nil { - return config.ProcConfig{}, sparkError - } - - _, databricksError := databricks.InitDatabricksProc(pipeConfig) - if databricksError != nil { - return config.ProcConfig{}, databricksError - } - return config.ProcConfig{ - Model: map[string]any{}, - }, nil -} - -// Integration Processor -func Proc(data any) []model.MeltModel { - - modelName := data.(map[string]any)["model"].(string) - - switch modelName { - case "SparkJob", "SparkExecutor", "SparkStage": - return spark.SparkProc(data) - - case "AWSDatabricksQueryList", - "AWSDatabricksJobsRunsList", - "GCPDatabricksQueryList", - "GCPDatabricksJobsRunsList", - "AzureDatabricksQueryList", - "AzureDatabricksJobsRunsList", - "AWSPipelinesList", - "AzurePipelinesList", - "GCPPipelinesList": - return databricks.DatabricksProc(data) - - default: - log.Println("Unknown response model " + modelName) - } - - return nil -} diff --git a/integration/spark/api.go b/integration/spark/api.go deleted file mode 100644 index 8a3a1e1..0000000 --- a/integration/spark/api.go +++ /dev/null @@ -1,149 +0,0 @@ -package spark - -import ( - "encoding/json" - "errors" - "newrelic/multienv/integration/utils" - "newrelic/multienv/pkg/config" - "newrelic/multienv/pkg/connect" - "newrelic/multienv/pkg/model" - "reflect" - - log "github.com/sirupsen/logrus" -) - -func GetSparkConnectors(pipeConfig *config.PipelineConfig) ([]connect.Connector, error) { - recv_interval = int(pipeConfig.Interval) - if recv_interval == 0 { - log.Warn("Interval not set, using 60 seconds") - recv_interval = 60 - } - - licenseKey := "" - sparkEndpoint := "" - - if databricksLicenseKey, ok := pipeConfig.GetString("db_access_token"); ok { - licenseKey = databricksLicenseKey - } else { - return nil, errors.New("config key 'db_access_token' doesn't exist") - } - - if sparkEndpointUrl, ok := pipeConfig.GetString("spark_endpoint"); ok { - sparkEndpoint = sparkEndpointUrl - } else { - return nil, errors.New("config key 'spark_endpoint' doesn't exist") - } - - var headers = make(map[string]string) - headers["Authorization"] = "Bearer " + licenseKey - headers["Content-Type"] = "application/json" - headers["Accept"] = "application/json" - - apps, _ := GetSparkApplications(sparkEndpoint, headers) - - var connectors []connect.Connector - - for i := 0; i < len(apps); i++ { - - var appData map[string]interface{} - appData = make(map[string]interface{}) - appData["sparkAppId"] = apps[i].ID - appData["sparkAppName"] = apps[i].Name - - jobsConnector := connect.MakeHttpGetConnector(sparkEndpoint+"/api/v1/applications/"+apps[i].ID+"/jobs", headers) - jobsConnector.SetConnectorModelName("SparkJob") - jobsConnector.SetCustomData(appData) - - executorsConnector := connect.MakeHttpGetConnector(sparkEndpoint+"/api/v1/applications/"+apps[i].ID+"/executors", headers) - executorsConnector.SetConnectorModelName("SparkExecutor") - executorsConnector.SetCustomData(appData) - - stagesConnector := connect.MakeHttpGetConnector(sparkEndpoint+"/api/v1/applications/"+apps[i].ID+"/stages", headers) - stagesConnector.SetConnectorModelName("SparkStage") - stagesConnector.SetCustomData(appData) - - connectors = append(connectors, &jobsConnector, &executorsConnector, &stagesConnector) - } - - return connectors, nil -} - -func InitSparkProc(pipeConfig *config.PipelineConfig) (config.ProcConfig, error) { - recv_interval = int(pipeConfig.Interval) - if recv_interval == 0 { - log.Warn("Interval not set, using 60 seconds") - recv_interval = 60 - } - - return config.ProcConfig{}, nil -} - -// SparkProc Proc Generate all kinds of data. -func SparkProc(data any) []model.MeltModel { - - responseModel := data.(map[string]any)["model"] - responseData := data.(map[string]any)["response"] - customData := data.(map[string]any)["customData"].(map[string]interface{}) - - switch responseModel { - case "SparkStage": - var sparkStagesModel = SparkStage{} - tagPrefix := "sparkStage" - metricPrefix := "spark.stage." - modelJson, _ := json.Marshal(responseData) - err := json.Unmarshal(modelJson, &sparkStagesModel) - if err != nil { - return nil - } - - e := reflect.ValueOf(&sparkStagesModel).Elem() - tags := make(map[string]interface{}) - tags["sparkAppId"] = customData["sparkAppId"] - tags["sparkAppName"] = customData["sparkAppName"] - stagesTags := make(map[string]interface{}) - utils.SetTags(tagPrefix, e, tags, stagesTags) - return utils.CreateMetricModels(metricPrefix, e, stagesTags) - - case "SparkJob": - - var sparkJobsModel = SparkJob{} - tagPrefix := "sparkJob" - metricPrefix := "spark.job." - modelJson, _ := json.Marshal(responseData) - err := json.Unmarshal(modelJson, &sparkJobsModel) - if err != nil { - return nil - } - - e := reflect.ValueOf(&sparkJobsModel).Elem() - tags := make(map[string]interface{}) - tags["sparkAppId"] = customData["sparkAppId"] - tags["sparkAppName"] = customData["sparkAppName"] - sparkJobTags := make(map[string]interface{}) - utils.SetTags(tagPrefix, e, tags, sparkJobTags) - return utils.CreateMetricModels(metricPrefix, e, sparkJobTags) - - case "SparkExecutor": - - var sparkExecutorsModel = SparkExecutor{} - tagPrefix := "sparkExecutor" - metricPrefix := "spark.executor." - modelJson, _ := json.Marshal(responseData) - err := json.Unmarshal(modelJson, &sparkExecutorsModel) - if err != nil { - return nil - } - - e := reflect.ValueOf(&sparkExecutorsModel).Elem() - tags := make(map[string]interface{}) - tags["sparkAppId"] = customData["sparkAppId"] - tags["sparkAppName"] = customData["sparkAppName"] - sparkExecutorTags := make(map[string]interface{}) - utils.SetTags(tagPrefix, e, tags, sparkExecutorTags) - return utils.CreateMetricModels(metricPrefix, e, sparkExecutorTags) - - default: - log.Println("Unknown response model in Spark integration") - } - return nil -} diff --git a/integration/spark/spark.go b/integration/spark/spark.go deleted file mode 100644 index 9bd52b4..0000000 --- a/integration/spark/spark.go +++ /dev/null @@ -1,236 +0,0 @@ -package spark - -import ( - "encoding/json" - log "github.com/sirupsen/logrus" - "io" - "net/http" -) - -var recv_interval = 0 -var licenseKey = "" -var sparkEndpoint = "" - -type ApplicationsResponse []struct { - ID string `json:"id"` - Name string `json:"name"` - Attempts []struct { - StartTime string `json:"startTime"` - EndTime string `json:"endTime"` - LastUpdated string `json:"lastUpdated"` - Duration int64 `json:"duration"` - SparkUser string `json:"sparkUser"` - Completed bool `json:"completed"` - AppSparkVersion string `json:"appSparkVersion"` - EndTimeEpoch int64 `json:"endTimeEpoch"` - StartTimeEpoch int64 `json:"startTimeEpoch"` - LastUpdatedEpoch int64 `json:"lastUpdatedEpoch"` - } `json:"attempts"` -} - -type SparkJob struct { - JobId int `json:"jobId"` - Name string `json:"name"` - Description string `json:"description"` - SubmissionTime string `json:"submissionTime"` - CompletionTime string `json:"completionTime"` - StageIds []int `json:"stageIds"` - JobGroup string `json:"jobGroup"` - JobTags []interface{} `json:"jobTags"` - Status string `json:"status"` - NumTasks int `json:"numTasks"` - NumActiveTasks int `json:"numActiveTasks"` - NumCompletedTasks int `json:"numCompletedTasks"` - NumSkippedTasks int `json:"numSkippedTasks"` - NumFailedTasks int `json:"numFailedTasks"` - NumKilledTasks int `json:"numKilledTasks"` - NumCompletedIndices int `json:"numCompletedIndices"` - NumActiveStages int `json:"numActiveStages"` - NumCompletedStages int `json:"numCompletedStages"` - NumSkippedStages int `json:"numSkippedStages"` - NumFailedStages int `json:"numFailedStages"` - KilledTasksSummary struct { - } `json:"killedTasksSummary"` -} - -type SparkExecutor struct { - Id string `json:"id"` - HostPort string `json:"hostPort"` - IsActive bool `json:"isActive"` - RddBlocks int `json:"rddBlocks"` - MemoryUsed int `json:"memoryUsed"` - DiskUsed int `json:"diskUsed"` - TotalCores int `json:"totalCores"` - MaxTasks int `json:"maxTasks"` - ActiveTasks int `json:"activeTasks"` - FailedTasks int `json:"failedTasks"` - CompletedTasks int `json:"completedTasks"` - TotalTasks int `json:"totalTasks"` - TotalDuration int `json:"totalDuration"` - TotalGCTime int `json:"totalGCTime"` - TotalInputBytes int `json:"totalInputBytes"` - TotalShuffleRead int `json:"totalShuffleRead"` - TotalShuffleWrite int `json:"totalShuffleWrite"` - IsBlacklisted bool `json:"isBlacklisted"` - MaxMemory int `json:"maxMemory"` - AddTime string `json:"addTime"` - ExecutorLogs struct { - Stdout string `json:"stdout,omitempty"` - Stderr string `json:"stderr,omitempty"` - } `json:"executorLogs"` - MemoryMetrics struct { - UsedOnHeapStorageMemory int `json:"usedOnHeapStorageMemory"` - UsedOffHeapStorageMemory int `json:"usedOffHeapStorageMemory"` - TotalOnHeapStorageMemory int `json:"totalOnHeapStorageMemory"` - TotalOffHeapStorageMemory int `json:"totalOffHeapStorageMemory"` - } `json:"memoryMetrics"` - BlacklistedInStages []interface{} `json:"blacklistedInStages"` - PeakMemoryMetrics struct { - JVMHeapMemory int `json:"JVMHeapMemory"` - JVMOffHeapMemory int `json:"JVMOffHeapMemory"` - OnHeapExecutionMemory int `json:"OnHeapExecutionMemory"` - OffHeapExecutionMemory int `json:"OffHeapExecutionMemory"` - OnHeapStorageMemory int `json:"OnHeapStorageMemory"` - OffHeapStorageMemory int `json:"OffHeapStorageMemory"` - OnHeapUnifiedMemory int `json:"OnHeapUnifiedMemory"` - OffHeapUnifiedMemory int `json:"OffHeapUnifiedMemory"` - DirectPoolMemory int `json:"DirectPoolMemory"` - MappedPoolMemory int `json:"MappedPoolMemory"` - NettyDirectMemory int `json:"NettyDirectMemory"` - JvmDirectMemory int `json:"JvmDirectMemory"` - SparkDirectMemoryOverLimit int `json:"SparkDirectMemoryOverLimit"` - TotalOffHeapMemory int `json:"TotalOffHeapMemory"` - ProcessTreeJVMVMemory int `json:"ProcessTreeJVMVMemory"` - ProcessTreeJVMRSSMemory int `json:"ProcessTreeJVMRSSMemory"` - ProcessTreePythonVMemory int `json:"ProcessTreePythonVMemory"` - ProcessTreePythonRSSMemory int `json:"ProcessTreePythonRSSMemory"` - ProcessTreeOtherVMemory int `json:"ProcessTreeOtherVMemory"` - ProcessTreeOtherRSSMemory int `json:"ProcessTreeOtherRSSMemory"` - MinorGCCount int `json:"MinorGCCount"` - MinorGCTime int `json:"MinorGCTime"` - MajorGCCount int `json:"MajorGCCount"` - MajorGCTime int `json:"MajorGCTime"` - TotalGCTime int `json:"TotalGCTime"` - } `json:"peakMemoryMetrics"` - Attributes struct { - } `json:"attributes"` - Resources struct { - } `json:"resources"` - ResourceProfileId int `json:"resourceProfileId"` - IsExcluded bool `json:"isExcluded"` - ExcludedInStages []interface{} `json:"excludedInStages"` -} - -type SparkStage struct { - Status string `json:"status"` - StageId int `json:"stageId"` - AttemptId int `json:"attemptId"` - NumTasks int `json:"numTasks"` - NumActiveTasks int `json:"numActiveTasks"` - NumCompleteTasks int `json:"numCompleteTasks"` - NumFailedTasks int `json:"numFailedTasks"` - NumKilledTasks int `json:"numKilledTasks"` - NumCompletedIndices int `json:"numCompletedIndices"` - PeakNettyDirectMemory int `json:"peakNettyDirectMemory"` - PeakJvmDirectMemory int `json:"peakJvmDirectMemory"` - PeakSparkDirectMemoryOverLimit int `json:"peakSparkDirectMemoryOverLimit"` - PeakTotalOffHeapMemory int `json:"peakTotalOffHeapMemory"` - SubmissionTime string `json:"submissionTime"` - FirstTaskLaunchedTime string `json:"firstTaskLaunchedTime"` - CompletionTime string `json:"completionTime"` - ExecutorDeserializeTime int `json:"executorDeserializeTime"` - ExecutorDeserializeCpuTime int `json:"executorDeserializeCpuTime"` - ExecutorRunTime int `json:"executorRunTime"` - ExecutorCpuTime int `json:"executorCpuTime"` - ResultSize int `json:"resultSize"` - JvmGcTime int `json:"jvmGcTime"` - ResultSerializationTime int `json:"resultSerializationTime"` - MemoryBytesSpilled int `json:"memoryBytesSpilled"` - DiskBytesSpilled int `json:"diskBytesSpilled"` - PeakExecutionMemory int `json:"peakExecutionMemory"` - InputBytes int `json:"inputBytes"` - InputRecords int `json:"inputRecords"` - OutputBytes int `json:"outputBytes"` - OutputRecords int `json:"outputRecords"` - ShuffleRemoteBlocksFetched int `json:"shuffleRemoteBlocksFetched"` - ShuffleLocalBlocksFetched int `json:"shuffleLocalBlocksFetched"` - ShuffleFetchWaitTime int `json:"shuffleFetchWaitTime"` - ShuffleRemoteBytesRead int `json:"shuffleRemoteBytesRead"` - ShuffleRemoteBytesReadToDisk int `json:"shuffleRemoteBytesReadToDisk"` - ShuffleLocalBytesRead int `json:"shuffleLocalBytesRead"` - ShuffleReadBytes int `json:"shuffleReadBytes"` - ShuffleReadRecords int `json:"shuffleReadRecords"` - ShuffleCorruptMergedBlockChunks int `json:"shuffleCorruptMergedBlockChunks"` - ShuffleMergedFetchFallbackCount int `json:"shuffleMergedFetchFallbackCount"` - ShuffleMergedRemoteBlocksFetched int `json:"shuffleMergedRemoteBlocksFetched"` - ShuffleMergedLocalBlocksFetched int `json:"shuffleMergedLocalBlocksFetched"` - ShuffleMergedRemoteChunksFetched int `json:"shuffleMergedRemoteChunksFetched"` - ShuffleMergedLocalChunksFetched int `json:"shuffleMergedLocalChunksFetched"` - ShuffleMergedRemoteBytesRead int `json:"shuffleMergedRemoteBytesRead"` - ShuffleMergedLocalBytesRead int `json:"shuffleMergedLocalBytesRead"` - ShuffleRemoteReqsDuration int `json:"shuffleRemoteReqsDuration"` - ShuffleMergedRemoteReqsDuration int `json:"shuffleMergedRemoteReqsDuration"` - ShuffleWriteBytes int `json:"shuffleWriteBytes"` - ShuffleWriteTime int `json:"shuffleWriteTime"` - ShuffleWriteRecords int `json:"shuffleWriteRecords"` - Name string `json:"name"` - Description string `json:"description"` - Details string `json:"details"` - SchedulingPool string `json:"schedulingPool"` - RddIds []int `json:"rddIds"` - AccumulatorUpdates []interface{} `json:"accumulatorUpdates"` - KilledTasksSummary struct { - } `json:"killedTasksSummary"` - ResourceProfileId int `json:"resourceProfileId"` - PeakExecutorMetrics struct { - JVMHeapMemory int `json:"JVMHeapMemory"` - JVMOffHeapMemory int `json:"JVMOffHeapMemory"` - OnHeapExecutionMemory int `json:"OnHeapExecutionMemory"` - OffHeapExecutionMemory int `json:"OffHeapExecutionMemory"` - OnHeapStorageMemory int `json:"OnHeapStorageMemory"` - OffHeapStorageMemory int `json:"OffHeapStorageMemory"` - OnHeapUnifiedMemory int `json:"OnHeapUnifiedMemory"` - OffHeapUnifiedMemory int `json:"OffHeapUnifiedMemory"` - DirectPoolMemory int `json:"DirectPoolMemory"` - MappedPoolMemory int `json:"MappedPoolMemory"` - NettyDirectMemory int `json:"NettyDirectMemory"` - JvmDirectMemory int `json:"JvmDirectMemory"` - SparkDirectMemoryOverLimit int `json:"SparkDirectMemoryOverLimit"` - TotalOffHeapMemory int `json:"TotalOffHeapMemory"` - ProcessTreeJVMVMemory int `json:"ProcessTreeJVMVMemory"` - ProcessTreeJVMRSSMemory int `json:"ProcessTreeJVMRSSMemory"` - ProcessTreePythonVMemory int `json:"ProcessTreePythonVMemory"` - ProcessTreePythonRSSMemory int `json:"ProcessTreePythonRSSMemory"` - ProcessTreeOtherVMemory int `json:"ProcessTreeOtherVMemory"` - ProcessTreeOtherRSSMemory int `json:"ProcessTreeOtherRSSMemory"` - MinorGCCount int `json:"MinorGCCount"` - MinorGCTime int `json:"MinorGCTime"` - MajorGCCount int `json:"MajorGCCount"` - MajorGCTime int `json:"MajorGCTime"` - TotalGCTime int `json:"TotalGCTime"` - } `json:"peakExecutorMetrics"` - IsShufflePushEnabled bool `json:"isShufflePushEnabled"` - ShuffleMergersCount int `json:"shuffleMergersCount"` -} - -func GetSparkApplications(url string, headers map[string]string) (ApplicationsResponse, error) { - req, _ := http.NewRequest("GET", url+"/api/v1/applications", nil) - - for key, value := range headers { - req.Header.Add(key, value) - } - - client := &http.Client{} - resp, err := client.Do(req) - if err != nil { - log.Println("Error on response.\n[ERROR] -", err) - } - - body, _ := io.ReadAll(resp.Body) - - var apps ApplicationsResponse - if err := json.Unmarshal(body, &apps); err != nil { - log.Printf("Error: %s", err) - } - return apps, nil -} diff --git a/integration/utils/utils.go b/integration/utils/utils.go deleted file mode 100644 index c8171fd..0000000 --- a/integration/utils/utils.go +++ /dev/null @@ -1,154 +0,0 @@ -package utils - -import ( - "encoding/json" - log "github.com/sirupsen/logrus" - "newrelic/multienv/pkg/model" - "reflect" - "strconv" - "strings" - "time" -) - -func StringInSlice(str string, list []string) bool { - for _, v := range list { - if v == str { - return true - } - } - return false -} - -func Flatten(input map[string]interface{}, currentKey string, result map[string]interface{}) map[string]interface{} { - for key, value := range input { - newKey := key - if currentKey != "" { - newKey = currentKey + "." + key - } - - // check if the value is another nested map - if nestedMap, ok := value.(map[string]interface{}); ok { - result = Flatten(nestedMap, newKey, result) - } else { - result[newKey] = value - } - } - return result -} - -func ConvertJsonToMap(jsonData []byte) (map[string]interface{}, error) { - var JSONObject map[string]interface{} - err := json.Unmarshal(jsonData, &JSONObject) - if err != nil { - return nil, err - } - return JSONObject, nil -} - -func CreateMetricModels(prefix string, e reflect.Value, tags map[string]interface{}) []model.MeltModel { - - out := make([]model.MeltModel, 0) - - for i := 0; i < e.NumField(); i++ { - - var metricValue float64 - var metricName string - mtime := time.Now() - - if e.Field(i).Kind() == reflect.Struct { - log.Trace("encountered nested structure ") - out = append(out, CreateMetricModels(prefix, e.Field(i), tags)...) - continue - } - - metricName = prefix + e.Type().Field(i).Name - - switch n := e.Field(i).Interface().(type) { - case int: - metricValue = float64(n) - case int64: - metricValue = float64(n) - case uint64: - metricValue = float64(n) - case float64: - metricValue = n - case bool: - metricValue = float64(0) - if n { - metricValue = float64(1) - } - default: - log.Trace("setMetrics :skipping metric: ", n, metricName, metricValue) - } - - meltMetric := model.MakeGaugeMetric( - metricName, model.Numeric{FltVal: metricValue}, mtime) - - tags["instrumentation.name"] = "newrelic-databricks-integration" - meltMetric.Attributes = tags - - out = append(out, meltMetric) - } - - return out - -} - -func SetTags(prefix string, e reflect.Value, tags map[string]interface{}, metricTags map[string]interface{}) { - - for k, v := range tags { - metricTags[k] = v - - } - - if e.Kind() == reflect.Interface || e.Kind() == reflect.Ptr { - e = e.Elem() - } - - log.Println(e) - switch e.Kind() { - case reflect.Struct: - for i := 0; i < e.NumField(); i++ { - var mname string - mname = prefix + e.Type().Field(i).Name - switch n := e.Field(i).Interface().(type) { - case string: - log.Trace("setTags : adding tags ", mname, "=", n) - metricTags[mname] = n - case []int: - metricTags[mname] = SplitToString(n, ",") - default: - // Handle other cases if needed - } - } - case reflect.Map: - for _, key := range e.MapKeys() { - var mname string - mname = prefix + key.String() - val := e.MapIndex(key) - switch n := val.Interface().(type) { - case string: - log.Trace("setTags : adding tags ", mname, "=", n) - metricTags[mname] = n - case []int: - metricTags[mname] = SplitToString(n, ",") - default: - // Handle other cases if needed - } - } - default: - log.Println("Unsupported kind:", e.Kind()) - } -} - -func SplitToString(a []int, sep string) string { - if len(a) == 0 { - return "" - } - - b := make([]string, len(a)) - for i, v := range a { - b[i] = strconv.Itoa(v) - } - return strings.Join(b, sep) -} diff --git a/internal/databricks/databricks.go b/internal/databricks/databricks.go new file mode 100644 index 0000000..1aa30e7 --- /dev/null +++ b/internal/databricks/databricks.go @@ -0,0 +1,222 @@ +package databricks + +import ( + "context" + "fmt" + "net/http" + "strings" + + databricksSdk "github.com/databricks/databricks-sdk-go" + databricksSdkConfig "github.com/databricks/databricks-sdk-go/config" + databricksSdkCompute "github.com/databricks/databricks-sdk-go/service/compute" + "github.com/newrelic-experimental/newrelic-databricks-integration/internal/spark" + + "github.com/newrelic/newrelic-labs-sdk/pkg/integration" + "github.com/newrelic/newrelic-labs-sdk/pkg/integration/connectors" + "github.com/newrelic/newrelic-labs-sdk/pkg/integration/log" + "github.com/spf13/viper" +) + +type DatabricksAuthenticator struct { + accessToken string +} + +func NewDatabricksAuthenticator(accessToken string) ( + *DatabricksAuthenticator, +) { + return &DatabricksAuthenticator{ accessToken } +} + +func (b *DatabricksAuthenticator) Authenticate( + connector *connectors.HttpConnector, + req *http.Request, +) error { + req.Header.Add("Authorization", fmt.Sprintf("Bearer %s", b.accessToken)) + + return nil +} + +func InitPipelines( + ctx context.Context, + i *integration.LabsIntegration, +) error { + // Databricks config + databricksConfig := &databricksSdk.Config{} + + // Should we collect Spark metrics? + sparkMetrics := true + if viper.IsSet("databricks.sparkMetrics") { + sparkMetrics = viper.GetBool("databricks.sparkMetrics") + } + + // Databricks credentials + // + // If we are not collecting Spark metrics, we support PAT authentication + // using our config file or environment variables, or any supported SDK + // authentication method supported by the SDK itself, e.g. via the + // environment or .databrickscfg or cloud specific methods. + // + // If we are collecting Spark metrics, we only support PAT authentication + // via our config file or environment variables for host and token because + // I'm not sure how we would use other forms to get through the driver to + // the Spark UI. HTTP Basic might be a possibility but that is a @TODO. + + databricksAccessToken := viper.GetString("databricks.accessToken") + if databricksAccessToken != "" { + databricksConfig.Token = databricksAccessToken + databricksConfig.Credentials = databricksSdkConfig.PatCredentials{} + } else if sparkMetrics { + return fmt.Errorf("missing databricks personal access token") + } + + // Workspace Host + databricksWorkspaceHost := viper.GetString("databricks.workspaceHost") + if databricksWorkspaceHost != "" { + databricksConfig.Host = databricksWorkspaceHost + } else if sparkMetrics { + return fmt.Errorf("missing databricks workspace host") + } + + w, err := databricksSdk.NewWorkspaceClient(databricksConfig) + if err != nil { + return err + } + + if sparkMetrics { + // Initialize the Spark pipelines + authenticator := NewDatabricksAuthenticator(databricksAccessToken) + + all, err := w.Clusters.ListAll( + ctx, + databricksSdkCompute.ListClustersRequest{}, + ) + if err != nil { + return fmt.Errorf("failed to list clusters: %w", err) + } + + for _, c := range all { + if c.State == databricksSdkCompute.StateRunning { + if c.ClusterSource == databricksSdkCompute.ClusterSourceUi || + c.ClusterSource == databricksSdkCompute.ClusterSourceApi { + + /// resolve the spark context UI URL for the cluster + log.Debugf( + "resolving Spark context UI URL for cluster %s", + c.ClusterName, + ) + sparkContextUiUrl, err := getSparkContextUiUrlForCluster( + ctx, + w, + &c, + databricksWorkspaceHost, + ) + if err != nil { + return err + } + + // Initialize spark pipelines + log.Debugf( + "initializing Spark pipeline for cluster %s with spark context UI URL %s", + c.ClusterName, + sparkContextUiUrl, + ) + err = spark.InitPipelinesForContext( + i, + sparkContextUiUrl, + authenticator, + map[string] string { + "clusterProvider": "databricks", + "databricksClusterId": c.ClusterId, + "databricksClusterName": c.ClusterName, + }, + ) + if err != nil { + return err + } + } + } + } + } + + // @TODO: initialize databricks pipelines here + + return nil +} + +func getSparkContextUiUrlForCluster( + ctx context.Context, + w *databricksSdk.WorkspaceClient, + c *databricksSdkCompute.ClusterDetails, + databricksWorkspaceHost string, +) (string, error) { + // @see https://databrickslabs.github.io/overwatch/assets/_index/realtime_helpers.html + + clusterId := c.ClusterId + + waitContextStatus, err := w.CommandExecution.Create( + ctx, + databricksSdkCompute.CreateContext{ + ClusterId: clusterId, + Language: databricksSdkCompute.LanguagePython, + }, + ) + if err != nil { + return "", err + } + + execContext, err := waitContextStatus.Get() + if err != nil { + return "", err + } + + cmd := databricksSdkCompute.Command{ + ClusterId: clusterId, + Command: ` + print(f'{spark.conf.get("spark.databricks.clusterUsageTags.clusterOwnerOrgId")}') + print(f'{spark.conf.get("spark.ui.port")}') + `, + ContextId: execContext.Id, + Language: databricksSdkCompute.LanguagePython, + } + + waitCommandStatus, err := w.CommandExecution.Execute( + ctx, + cmd, + ) + if err != nil { + return "", err + } + + resp, err := waitCommandStatus.Get() + if err != nil { + return "", err + } + + data, ok := resp.Results.Data.(string); + if !ok { + return "", fmt.Errorf("command result is not a string value") + } + + vals := strings.Split(data, "\n") + if len(vals) != 2 { + return "", fmt.Errorf("invalid command result") + } + + if vals[0] == "" || vals[1] == "" { + return "", fmt.Errorf("empty command results") + } + + // @TODO: I think this URL pattern only works for multi-tenant accounts. + // We may need a flag for single tenant accounts and use the o/0 form + // shown on the overwatch site. + + url := fmt.Sprintf( + "https://%s/driver-proxy-api/o/%s/%s/%s", + databricksWorkspaceHost, + vals[0], + clusterId, + vals[1], + ) + + return url, nil +} diff --git a/internal/databricks/receiver.go b/internal/databricks/receiver.go new file mode 100644 index 0000000..108c196 --- /dev/null +++ b/internal/databricks/receiver.go @@ -0,0 +1,32 @@ +package databricks + +import ( + "context" + + databricksSdk "github.com/databricks/databricks-sdk-go" + "github.com/newrelic/newrelic-labs-sdk/pkg/integration/model" +) + +type DatabricksSdkReceiver struct { + w *databricksSdk.WorkspaceClient +} + +func NewDatabricksSdkReceiver() (*DatabricksSdkReceiver, error) { + w, err := databricksSdk.NewWorkspaceClient() + if err != nil { + return nil, err + } + + return &DatabricksSdkReceiver{ w }, nil +} + +func (d *DatabricksSdkReceiver) GetId() string { + return "databricks-sdk-receiver" +} + +func (d *DatabricksSdkReceiver) PollMetrics( + context context.Context, + writer chan <- model.Metric, +) error { + return nil +} diff --git a/internal/spark/receiver.go b/internal/spark/receiver.go new file mode 100644 index 0000000..ac2018f --- /dev/null +++ b/internal/spark/receiver.go @@ -0,0 +1,1728 @@ +package spark + +import ( + "context" + "encoding/json" + "errors" + "maps" + "strings" + "sync" + "time" + + "github.com/newrelic/newrelic-labs-sdk/pkg/integration" + "github.com/newrelic/newrelic-labs-sdk/pkg/integration/connectors" + "github.com/newrelic/newrelic-labs-sdk/pkg/integration/log" + "github.com/newrelic/newrelic-labs-sdk/pkg/integration/model" + "github.com/newrelic/newrelic-labs-sdk/pkg/integration/pipeline" +) + +type SparkMetricsReceiver struct { + i *integration.LabsIntegration + sparkContextUiUrl string + authenticator connectors.HttpAuthenticator + metricPrefix string + tags map[string]string +} + +func NewSparkMetricsReceiver( + i *integration.LabsIntegration, + sparkContextUiUrl string, + authenticator connectors.HttpAuthenticator, + metricPrefix string, + tags map[string]string, +) pipeline.MetricsReceiver { + r := &SparkMetricsReceiver{ + i, + sparkContextUiUrl, + authenticator, + metricPrefix, + tags, + } + + return r +} + +func (s *SparkMetricsReceiver) GetId() string { + return "spark-metrics-receiver" +} + +func (s *SparkMetricsReceiver) PollMetrics( + ctx context.Context, + writer chan <- model.Metric, +) error { + sparkApps, err := getSparkApplications(s.sparkContextUiUrl, s.authenticator) + if err != nil { + return err + } + + wg := sync.WaitGroup{} + errs := []error{} + + for _, sparkApp := range sparkApps { + wg.Add(1) + go func(app *SparkApplication) { + defer wg.Done() + + err := collectSparkAppExecutorMetrics( + s.sparkContextUiUrl, + app, + s.authenticator, + s.metricPrefix, + s.tags, + writer, + ) + if err != nil { + errs = append(errs, err) + } + + err = collectSparkAppJobMetrics( + s.sparkContextUiUrl, + app, + s.authenticator, + s.metricPrefix, + s.tags, + writer, + ) + if err != nil { + errs = append(errs, err) + } + + err = collectSparkAppStageMetrics( + s.sparkContextUiUrl, + app, + s.authenticator, + s.metricPrefix, + s.tags, + writer, + ) + if err != nil { + errs = append(errs, err) + } + + err = collectSparkAppRDDMetrics( + s.sparkContextUiUrl, + app, + s.authenticator, + s.metricPrefix, + s.tags, + writer, + ) + if err != nil { + errs = append(errs, err) + } + }(&sparkApp) + } + + wg.Wait() + + return errors.Join(errs...) +} + +func getSparkApplications( + sparkContextUiUrl string, + authenticator connectors.HttpAuthenticator, +) ([]SparkApplication, error) { + sparkApps := []SparkApplication{} + + err := makeRequest( + sparkContextUiUrl + "/api/v1/applications", + authenticator, + &sparkApps, + ) + if err != nil { + return nil, err + } + + return sparkApps, nil +} + +func collectSparkAppExecutorMetrics( + sparkContextUiUrl string, + sparkApp *SparkApplication, + authenticator connectors.HttpAuthenticator, + metricPrefix string, + tags map[string]string, + writer chan <- model.Metric, +) error { + executors := []SparkExecutor{} + + err := makeRequest( + sparkContextUiUrl + "/api/v1/applications/" + sparkApp.Id + "/executors", + authenticator, + &executors, + ) + if err != nil { + return err + } + + for _, executor := range executors { + log.Debugf("processing executor %s", executor.Id) + + attrs := makeAppAttributesMap( + sparkContextUiUrl, + sparkApp, + tags, + ) + + attrs["sparkAppExecutorId"] = executor.Id + + writeGauge( + metricPrefix, + "app.executor.rddBlocks", + executor.RddBlocks, + attrs, + writer, + ) + + writeGauge( + metricPrefix, + "app.executor.memoryUsed", + executor.MemoryUsed, + attrs, + writer, + ) + + writeGauge( + metricPrefix, + "app.executor.diskUsed", + executor.DiskUsed, + attrs, + writer, + ) + + writeGauge( + metricPrefix, + "app.executor.totalCores", + executor.TotalCores, + attrs, + writer, + ) + + writeGauge( + metricPrefix, + "app.executor.maxTasks", + executor.MaxTasks, + attrs, + writer, + ) + + writeGauge( + metricPrefix, + "app.executor.activeTasks", + executor.ActiveTasks, + attrs, + writer, + ) + + writeGauge( + metricPrefix, + "app.executor.failedTasks", + executor.FailedTasks, + attrs, + writer, + ) + + writeGauge( + metricPrefix, + "app.executor.completedTasks", + executor.CompletedTasks, + attrs, + writer, + ) + + writeGauge( + metricPrefix, + "app.executor.totalTasks", + executor.TotalTasks, + attrs, + writer, + ) + + writeGauge( + metricPrefix, + "app.executor.totalDuration", + executor.TotalDuration, + attrs, + writer, + ) + + writeGauge( + metricPrefix, + "app.executor.totalGCTime", + executor.TotalGCTime, + attrs, + writer, + ) + + writeGauge( + metricPrefix, + "app.executor.totalInputBytes", + executor.TotalInputBytes, + attrs, + writer, + ) + + writeGauge( + metricPrefix, + "app.executor.totalShuffleRead", + executor.TotalShuffleRead, + attrs, + writer, + ) + + writeGauge( + metricPrefix, + "app.executor.totalShuffleWrite", + executor.TotalShuffleWrite, + attrs, + writer, + ) + + writeGauge( + metricPrefix, + "app.executor.maxMemory", + executor.MaxMemory, + attrs, + writer, + ) + + writeMemoryMetrics( + metricPrefix + "app.executor.memory.", + &executor.MemoryMetrics, + attrs, + writer, + ) + + writePeakMemoryMetrics( + metricPrefix + "app.executor.memory.peak.", + &executor.PeakMemoryMetrics, + attrs, + writer, + ) + } + + return nil +} + +func collectSparkAppJobMetrics( + sparkContextUiUrl string, + sparkApp *SparkApplication, + authenticator connectors.HttpAuthenticator, + metricPrefix string, + tags map[string]string, + writer chan <- model.Metric, +) error { + jobs := []SparkJob{} + + err := makeRequest( + sparkContextUiUrl + "/api/v1/applications/" + sparkApp.Id + "/jobs", + authenticator, + &jobs, + ) + if err != nil { + return err + } + + jobsRunning := 0 + jobsLost := 0 + jobsSucceeded := 0 + jobsFailed := 0 + + for _, job := range jobs { + log.Debugf("processing job %d (%s)", job.JobId, job.Name) + + attrs := makeAppAttributesMap( + sparkContextUiUrl, + sparkApp, + tags, + ) + + attrs["sparkAppJobId"] = job.JobId + // The job name and job group cause very high cardinality for Databricks + // Notebook runs. + //attrs["sparkAppJobName"] = job.Name + //attrs["sparkAppJobGroup"] = job.JobGroup + attrs["sparkAppJobStatus"] = job.Status + + jobStatus := strings.ToLower(job.Status) + + if jobStatus == "running" { + jobsRunning += 1 + } else if jobStatus == "unknown" { + jobsLost += 1 + } else if jobStatus == "succeeded" { + jobsSucceeded += 1 + } else if jobStatus == "failed" { + jobsFailed += 1 + } + + // Write all the things. + + writeGauge( + metricPrefix, + "app.job.indices.completed", + job.NumCompletedIndices, + attrs, + writer, + ) + + attrs["sparkAppStageStatus"] = "active" + + writeGauge( + metricPrefix, + "app.job.stages", + job.NumActiveStages, + attrs, + writer, + ) + + attrs["sparkAppStageStatus"] = "completed" + + writeGauge( + metricPrefix, + "app.job.stages", + job.NumCompletedStages, + attrs, + writer, + ) + + attrs["sparkAppStageStatus"] = "skipped" + + writeGauge( + metricPrefix, + "app.job.stages", + job.NumSkippedStages, + attrs, + writer, + ) + + attrs["sparkAppStageStatus"] = "failed" + + writeGauge( + metricPrefix, + "app.job.stages", + job.NumFailedStages, + attrs, + writer, + ) + + delete(attrs, "sparkAppStageStatus") + + attrs["sparkAppTaskStatus"] = "active" + + writeGauge( + metricPrefix, + "app.job.tasks", + job.NumActiveTasks, + attrs, + writer, + ) + + attrs["sparkAppTaskStatus"] = "completed" + + writeGauge( + metricPrefix, + "app.job.tasks", + job.NumCompletedTasks, + attrs, + writer, + ) + + attrs["sparkAppTaskStatus"] = "skipped" + + writeGauge( + metricPrefix, + "app.job.tasks", + job.NumSkippedTasks, + attrs, + writer, + ) + + attrs["sparkAppTaskStatus"] = "failed" + + writeGauge( + metricPrefix, + "app.job.tasks", + job.NumFailedTasks, + attrs, + writer, + ) + + attrs["sparkAppTaskStatus"] = "killed" + + writeGauge( + metricPrefix, + "app.job.tasks", + job.NumKilledTasks, + attrs, + writer, + ) + + delete(attrs, "sparkAppTaskStatus") + } + + attrs := makeAppAttributesMap( + sparkContextUiUrl, + sparkApp, + tags, + ) + + attrs["sparkAppJobStatus"] = "running" + + writeGauge( + metricPrefix, + "app.jobs", + jobsRunning, + attrs, + writer, + ) + + attrs["sparkAppJobStatus"] = "lost" + + writeGauge( + metricPrefix, + "app.jobs", + jobsLost, + attrs, + writer, + ) + + attrs["sparkAppJobStatus"] = "succeeded" + + writeGauge( + metricPrefix, + "app.jobs", + jobsSucceeded, + attrs, + writer, + ) + + attrs["sparkAppJobStatus"] = "failed" + + writeGauge( + metricPrefix, + "app.jobs", + jobsFailed, + attrs, + writer, + ) + + return nil +} + +func collectSparkAppStageMetrics( + sparkContextUiUrl string, + sparkApp *SparkApplication, + authenticator connectors.HttpAuthenticator, + metricPrefix string, + tags map[string]string, + writer chan <- model.Metric, +) error { + stages := []SparkStage{} + + err := makeRequest( + sparkContextUiUrl + "/api/v1/applications/" + sparkApp.Id + "/stages?details=true", + authenticator, + &stages, + ) + if err != nil { + return err + } + + stagesActive := 0 + stagesPending := 0 + stagesComplete := 0 + stagesFailed := 0 + stagesSkipped := 0 + + for _, stage := range stages { + log.Debugf("processing stage %d (%s)", stage.StageId, stage.Name) + + stageStatus := strings.ToLower(stage.Status) + + attrs := makeAppAttributesMap( + sparkContextUiUrl, + sparkApp, + tags, + ) + + attrs["sparkAppStageName"] = stage.Name + attrs["sparkAppStageStatus"] = stageStatus + // @TODO: The attributes below may cause high cardinality. Further + // investigation is needed. + //attrs["sparkAppStageId"] = stage.StageId + //attrs["sparkAppStageAttemptId"] = stage.AttemptId + //attrs["sparkAppStageSchedulingPool"] = stage.SchedulingPool + //attrs["sparkAppStageResourceProfileId"] = stage.ResourceProfileId + + if stageStatus == "active" { + stagesActive += 1 + } else if stageStatus == "pending" { + stagesPending += 1 + } else if stageStatus == "complete" { + stagesComplete += 1 + } else if stageStatus == "failed" { + stagesFailed += 1 + } else if stageStatus == "skipped" { + stagesSkipped += 1 + } + + // Write all the things. + + writeGauge( + metricPrefix, + "app.stage.peakNettyDirectMemory", + stage.PeakNettyDirectMemory, + attrs, + writer, + ) + writeGauge( + metricPrefix, + "app.stage.peakJvmDirectMemory", + stage.PeakJvmDirectMemory, + attrs, + writer, + ) + writeGauge( + metricPrefix, + "app.stage.peakSparkDirectMemoryOverLimit", + stage.PeakSparkDirectMemoryOverLimit, + attrs, + writer, + ) + writeGauge( + metricPrefix, + "app.stage.peakTotalOffHeapMemory", + stage.PeakTotalOffHeapMemory, + attrs, + writer, + ) + writeGauge( + metricPrefix, + "app.stage.executor.deserializeTime", + stage.ExecutorDeserializeTime, + attrs, + writer, + ) + writeGauge( + metricPrefix, + "app.stage.executor.deserializeCpuTime", + stage.ExecutorDeserializeCpuTime, + attrs, + writer, + ) + writeGauge( + metricPrefix, + "app.stage.executor.runTime", + stage.ExecutorRunTime, + attrs, + writer, + ) + writeGauge( + metricPrefix, + "app.stage.executor.cpuTime", + stage.ExecutorCpuTime, + attrs, + writer, + ) + writeGauge( + metricPrefix, + "app.stage.resultSize", + stage.ResultSize, + attrs, + writer, + ) + writeGauge( + metricPrefix, + "app.stage.jvmGcTime", + stage.JvmGcTime, + attrs, + writer, + ) + writeGauge( + metricPrefix, + "app.stage.resultSerializationTime", + stage.ResultSerializationTime, + attrs, + writer, + ) + writeGauge( + metricPrefix, + "app.stage.memoryBytesSpilled", + stage.MemoryBytesSpilled, + attrs, + writer, + ) + writeGauge( + metricPrefix, + "app.stage.diskBytesSpilled", + stage.DiskBytesSpilled, + attrs, + writer, + ) + writeGauge( + metricPrefix, + "app.stage.peakExecutionMemory", + stage.PeakExecutionMemory, + attrs, + writer, + ) + writeGauge( + metricPrefix, + "app.stage.inputBytes", + stage.InputBytes, + attrs, + writer, + ) + writeGauge( + metricPrefix, + "app.stage.inputRecords", + stage.InputRecords, + attrs, + writer, + ) + writeGauge( + metricPrefix, + "app.stage.outputBytes", + stage.OutputBytes, + attrs, + writer, + ) + writeGauge( + metricPrefix, + "app.stage.outputRecords", + stage.OutputRecords, + attrs, + writer, + ) + writeGauge( + metricPrefix, + "app.stage.shuffle.remoteBlocksFetched", + stage.ShuffleRemoteBlocksFetched, + attrs, + writer, + ) + writeGauge( + metricPrefix, + "app.stage.shuffle.localBlocksFetched", + stage.ShuffleLocalBlocksFetched, + attrs, + writer, + ) + writeGauge( + metricPrefix, + "app.stage.shuffle.fetchWaitTime", + stage.ShuffleFetchWaitTime, + attrs, + writer, + ) + writeGauge( + metricPrefix, + "app.stage.shuffle.remoteBytesRead", + stage.ShuffleRemoteBytesRead, + attrs, + writer, + ) + writeGauge( + metricPrefix, + "app.stage.shuffle.remoteBytesReadToDisk", + stage.ShuffleRemoteBytesReadToDisk, + attrs, + writer, + ) + writeGauge( + metricPrefix, + "app.stage.shuffle.localBytesRead", + stage.ShuffleLocalBytesRead, + attrs, + writer, + ) + writeGauge( + metricPrefix, + "app.stage.shuffle.readBytes", + stage.ShuffleReadBytes, + attrs, + writer, + ) + writeGauge( + metricPrefix, + "app.stage.shuffle.readRecords", + stage.ShuffleReadRecords, + attrs, + writer, + ) + writeGauge( + metricPrefix, + "app.stage.shuffle.corruptMergedClockChunks", + stage.ShuffleCorruptMergedBlockChunks, + attrs, + writer, + ) + writeGauge( + metricPrefix, + "app.stage.shuffle.mergedFetchFallbackCount", + stage.ShuffleMergedFetchFallbackCount, + attrs, + writer, + ) + writeGauge( + metricPrefix, + "app.stage.shuffle.mergedRemoteBlocksFetched", + stage.ShuffleMergedRemoteBlocksFetched, + attrs, + writer, + ) + writeGauge( + metricPrefix, + "app.stage.shuffle.mergedLocalBlocksFetched", + stage.ShuffleMergedLocalBlocksFetched, + attrs, + writer, + ) + writeGauge( + metricPrefix, + "app.stage.shuffle.mergedRemoteChunksFetched", + stage.ShuffleMergedRemoteChunksFetched, + attrs, + writer, + ) + writeGauge( + metricPrefix, + "app.stage.shuffle.mergedLocalChunksFetched", + stage.ShuffleMergedLocalChunksFetched, + attrs, + writer, + ) + writeGauge( + metricPrefix, + "app.stage.shuffle.mergedRemoteBytesRead", + stage.ShuffleMergedRemoteBytesRead, + attrs, + writer, + ) + writeGauge( + metricPrefix, + "app.stage.shuffle.mergedLocalBytesRead", + stage.ShuffleMergedLocalBytesRead, + attrs, + writer, + ) + writeGauge( + metricPrefix, + "app.stage.shuffle.remoteReqsDuration", + stage.ShuffleRemoteReqsDuration, + attrs, + writer, + ) + writeGauge( + metricPrefix, + "app.stage.shuffle.mergedRemoteReqsDuration", + stage.ShuffleMergedRemoteReqsDuration, + attrs, + writer, + ) + writeGauge( + metricPrefix, + "app.stage.shuffle.writeBytes", + stage.ShuffleWriteBytes, + attrs, + writer, + ) + writeGauge( + metricPrefix, + "app.stage.shuffle.writeTime", + stage.ShuffleWriteTime, + attrs, + writer, + ) + writeGauge( + metricPrefix, + "app.stage.shuffle.writeRecords", + stage.ShuffleWriteRecords, + attrs, + writer, + ) + writeGauge( + metricPrefix, + "app.stage.shuffle.mergersCount", + stage.ShuffleMergersCount, + attrs, + writer, + ) + + for _, task := range stage.Tasks { + writeStageTaskMetrics( + metricPrefix + "app.stage.task.", + &task, + attrs, + writer, + ) + } + + writePeakMemoryMetrics( + metricPrefix + "app.stage.memory.peak.", + &stage.PeakMemoryMetrics, + attrs, + writer, + ) + + writeGauge( + metricPrefix, + "app.stage.tasks.total", + stage.NumTasks, + attrs, + writer, + ) + + attrs["sparkAppTaskStatus"] = "active" + + writeGauge( + metricPrefix, + "app.stage.tasks", + stage.NumActiveTasks, + attrs, + writer, + ) + + attrs["sparkAppTaskStatus"] = "complete" + + writeGauge( + metricPrefix, + "app.stage.tasks", + stage.NumCompleteTasks, + attrs, + writer, + ) + + attrs["sparkAppTaskStatus"] = "failed" + + writeGauge( + metricPrefix, + "app.stage.tasks", + stage.NumFailedTasks, + attrs, + writer, + ) + + attrs["sparkAppTaskStatus"] = "killed" + + writeGauge( + metricPrefix, + "app.stage.tasks", + stage.NumKilledTasks, + attrs, + writer, + ) + + delete(attrs, "sparkAppTaskStatus") + + writeGauge( + metricPrefix, + "app.stage.indices.completed", + stage.NumCompletedIndices, + attrs, + writer, + ) + } + + attrs := makeAppAttributesMap( + sparkContextUiUrl, + sparkApp, + tags, + ) + + attrs["sparkAppStageStatus"] = "active" + + writeGauge( + metricPrefix, + "app.stages", + stagesActive, + attrs, + writer, + ) + + attrs["sparkAppStageStatus"] = "pending" + + writeGauge( + metricPrefix, + "app.stages", + stagesPending, + attrs, + writer, + ) + + attrs["sparkAppStageStatus"] = "complete" + + writeGauge( + metricPrefix, + "app.stages", + stagesComplete, + attrs, + writer, + ) + + attrs["sparkAppStageStatus"] = "failed" + + writeGauge( + metricPrefix, + "app.stages", + stagesFailed, + attrs, + writer, + ) + + attrs["sparkAppStageStatus"] = "skipped" + + writeGauge( + metricPrefix, + "app.stages", + stagesSkipped, + attrs, + writer, + ) + + return nil +} + +func writeStageTaskMetrics( + metricPrefix string, + task *SparkTask, + attrs map[string]interface{}, + writer chan <- model.Metric, +) { + log.Debugf("processing task %d", task.TaskId) + + taskStatus := strings.ToLower(task.Status) + + taskMetricAttrs := maps.Clone(attrs) + + taskMetricAttrs["sparkAppTaskExecutorId"] = task.ExecutorId + taskMetricAttrs["sparkAppTaskStatus"] = taskStatus + taskMetricAttrs["sparkAppTaskLocality"] = task.TaskLocality + taskMetricAttrs["sparkAppTaskSpeculative"] = task.Speculative + // @TODO: The attributes below may cause high cardinality. Further + // investigation is needed. + //attrs["sparkAppTaskId"] = task.TaskId + //attrs["sparkAppTaskAttempt"] = task.Attempt + //attrs["sparkAppTaskPartitionId"] = task.PartitionId + + writeGauge( + metricPrefix, + "duration", + task.Duration, + taskMetricAttrs, + writer, + ) + + taskMetrics := task.TaskMetrics + + writeGauge( + metricPrefix, + "executorDeserializeTime", + taskMetrics.ExecutorDeserializeTime, + taskMetricAttrs, + writer, + ) + writeGauge( + metricPrefix, + "executorDeserializeCpuTime", + taskMetrics.ExecutorDeserializeCpuTime, + taskMetricAttrs, + writer, + ) + writeGauge( + metricPrefix, + "executorRunTime", + taskMetrics.ExecutorRunTime, + taskMetricAttrs, + writer, + ) + writeGauge( + metricPrefix, + "executorCpuTime", + taskMetrics.ExecutorCpuTime, + taskMetricAttrs, + writer, + ) + writeGauge( + metricPrefix, + "resultSize", + taskMetrics.ResultSize, + taskMetricAttrs, + writer, + ) + writeGauge( + metricPrefix, + "jvmGcTime", + taskMetrics.JvmGcTime, + taskMetricAttrs, + writer, + ) + writeGauge( + metricPrefix, + "resultSerializationTime", + taskMetrics.ResultSerializationTime, + taskMetricAttrs, + writer, + ) + writeGauge( + metricPrefix, + "memoryBytesSpilled", + taskMetrics.MemoryBytesSpilled, + taskMetricAttrs, + writer, + ) + writeGauge( + metricPrefix, + "diskBytesSpilled", + taskMetrics.DiskBytesSpilled, + taskMetricAttrs, + writer, + ) + writeGauge( + metricPrefix, + "peakExecutionMemory", + taskMetrics.PeakExecutionMemory, + taskMetricAttrs, + writer, + ) + writeGauge( + metricPrefix, + "input.bytesRead", + taskMetrics.InputMetrics.BytesRead, + taskMetricAttrs, + writer, + ) + writeGauge( + metricPrefix, + "input.recordsRead", + taskMetrics.InputMetrics.RecordsRead, + taskMetricAttrs, + writer, + ) + writeGauge( + metricPrefix, + "output.bytesWritten", + taskMetrics.OutputMetrics.BytesWritten, + taskMetricAttrs, + writer, + ) + writeGauge( + metricPrefix, + "output.recordsWritten", + taskMetrics.OutputMetrics.RecordsWritten, + taskMetricAttrs, + writer, + ) + writeGauge( + metricPrefix, + "shuffle.read.remoteBlocksFetched", + taskMetrics.ShuffleReadMetrics.RemoteBlocksFetched, + taskMetricAttrs, + writer, + ) + writeGauge( + metricPrefix, + "shuffle.read.localBlocksFetched", + taskMetrics.ShuffleReadMetrics.LocalBlocksFetched, + taskMetricAttrs, + writer, + ) + writeGauge( + metricPrefix, + "shuffle.read.fetchWaitTime", + taskMetrics.ShuffleReadMetrics.FetchWaitTime, + taskMetricAttrs, + writer, + ) + writeGauge( + metricPrefix, + "shuffle.read.remoteBytesRead", + taskMetrics.ShuffleReadMetrics.RemoteBytesRead, + taskMetricAttrs, + writer, + ) + writeGauge( + metricPrefix, + "shuffle.read.remoteBytesReadToDisk", + taskMetrics.ShuffleReadMetrics.RemoteBytesReadToDisk, + taskMetricAttrs, + writer, + ) + writeGauge( + metricPrefix, + "shuffle.read.localBytesRead", + taskMetrics.ShuffleReadMetrics.LocalBytesRead, + taskMetricAttrs, + writer, + ) + writeGauge( + metricPrefix, + "shuffle.read.recordsRead", + taskMetrics.ShuffleReadMetrics.RecordsRead, + taskMetricAttrs, + writer, + ) + writeGauge( + metricPrefix, + "shuffle.read.remoteReqsDuration", + taskMetrics.ShuffleReadMetrics.RemoteReqsDuration, + taskMetricAttrs, + writer, + ) + writeGauge( + metricPrefix, + "shuffle.read.push.corruptMergedBlockChunks", + taskMetrics.ShuffleReadMetrics.SufflePushReadMetrics.CorruptMergedBlockChunks, + taskMetricAttrs, + writer, + ) + writeGauge( + metricPrefix, + "shuffle.read.push.mergedFetchFallbackCount", + taskMetrics.ShuffleReadMetrics.SufflePushReadMetrics.MergedFetchFallbackCount, + taskMetricAttrs, + writer, + ) + writeGauge( + metricPrefix, + "shuffle.read.push.remoteMergedBlocksFetched", + taskMetrics.ShuffleReadMetrics.SufflePushReadMetrics.RemoteMergedBlocksFetched, + taskMetricAttrs, + writer, + ) + writeGauge( + metricPrefix, + "shuffle.read.push.localMergedBlocksFetched", + taskMetrics.ShuffleReadMetrics.SufflePushReadMetrics.LocalMergedBlocksFetched, + taskMetricAttrs, + writer, + ) + writeGauge( + metricPrefix, + "shuffle.read.push.remoteMergedChunksFetched", + taskMetrics.ShuffleReadMetrics.SufflePushReadMetrics.RemoteMergedChunksFetched, + taskMetricAttrs, + writer, + ) + writeGauge( + metricPrefix, + "shuffle.read.push.localMergedChunksFetched", + taskMetrics.ShuffleReadMetrics.SufflePushReadMetrics.LocalMergedChunksFetched, + taskMetricAttrs, + writer, + ) + writeGauge( + metricPrefix, + "shuffle.read.push.remoteMergedBytesRead", + taskMetrics.ShuffleReadMetrics.SufflePushReadMetrics.RemoteMergedBytesRead, + taskMetricAttrs, + writer, + ) + writeGauge( + metricPrefix, + "shuffle.read.push.localMergedBytesRead", + taskMetrics.ShuffleReadMetrics.SufflePushReadMetrics.LocalMergedBytesRead, + taskMetricAttrs, + writer, + ) + writeGauge( + metricPrefix, + "shuffle.read.push.remoteMergedReqsDuration", + taskMetrics.ShuffleReadMetrics.SufflePushReadMetrics.RemoteMergedReqsDuration, + taskMetricAttrs, + writer, + ) + writeGauge( + metricPrefix, + "shuffle.write.bytesWritten", + taskMetrics.ShuffleWriteMetrics.BytesWritten, + taskMetricAttrs, + writer, + ) + writeGauge( + metricPrefix, + "shuffle.write.writeTime", + taskMetrics.ShuffleWriteMetrics.WriteTime, + taskMetricAttrs, + writer, + ) + writeGauge( + metricPrefix, + "shuffle.write.recordsWritten", + taskMetrics.ShuffleWriteMetrics.RecordsWritten, + taskMetricAttrs, + writer, + ) + writeGauge( + metricPrefix, + "photon.offHeapMinMemorySize", + taskMetrics.PhotonMemoryMetrics.OffHeapMinMemorySize, + taskMetricAttrs, + writer, + ) + writeGauge( + metricPrefix, + "photon.offHeapMaxMemorySize", + taskMetrics.PhotonMemoryMetrics.OffHeapMaxMemorySize, + taskMetricAttrs, + writer, + ) + writeGauge( + metricPrefix, + "photon.photonBufferPoolMinMemorySize", + taskMetrics.PhotonMemoryMetrics.PhotonBufferPoolMinMemorySize, + taskMetricAttrs, + writer, + ) + writeGauge( + metricPrefix, + "photon.photonBufferPoolMaxMemorySize", + taskMetrics.PhotonMemoryMetrics.PhotonBufferPoolMaxMemorySize, + taskMetricAttrs, + writer, + ) + writeGauge( + metricPrefix, + "photon.photonizedTaskTimeNs", + taskMetrics.PhotonizedTaskTimeNs, + taskMetricAttrs, + writer, + ) +} + +func collectSparkAppRDDMetrics( + sparkContextUiUrl string, + sparkApp *SparkApplication, + authenticator connectors.HttpAuthenticator, + metricPrefix string, + tags map[string]string, + writer chan <- model.Metric, +) error { + rdds := []SparkRDD{} + + err := makeRequest( + sparkContextUiUrl + "/api/v1/applications/" + sparkApp.Id + "/storage/rdd", + authenticator, + &rdds, + ) + if err != nil { + return err + } + + for _, rdd := range rdds { + log.Debugf("processing rdd %d", rdd.Id) + + attrs := makeAppAttributesMap( + sparkContextUiUrl, + sparkApp, + tags, + ) + + attrs["sparkAppRDDId"] = rdd.Id + attrs["sparkAppRDDName"] = rdd.Name + + writeGauge( + metricPrefix, + "app.storage.rdd.partitions", + rdd.NumPartitions, + attrs, + writer, + ) + writeGauge( + metricPrefix, + "app.storage.rdd.cachedPartitions", + rdd.NumCachedPartitions, + attrs, + writer, + ) + writeGauge( + metricPrefix, + "app.storage.rdd.memory.used", + rdd.MemoryUsed, + attrs, + writer, + ) + writeGauge( + metricPrefix, + "app.storage.rdd.disk.used", + rdd.DiskUsed, + attrs, + writer, + ) + + for index, distribution := range rdd.DataDistribution { + rddDistributionAttrs := maps.Clone(attrs) + + rddDistributionAttrs["sparkAppRddDistributionIndex"] = index + + writeGauge( + metricPrefix, + "app.storage.rdd.distribution.memory.used" , + distribution.MemoryUsed, + rddDistributionAttrs, + writer, + ) + writeGauge( + metricPrefix, + "app.storage.rdd.distribution.memory.remaining" , + distribution.MemoryRemaining, + rddDistributionAttrs, + writer, + ) + writeGauge( + metricPrefix, + "app.storage.rdd.distribution.disk.used" , + distribution.DiskUsed, + rddDistributionAttrs, + writer, + ) + writeGauge( + metricPrefix, + "app.storage.rdd.distribution.memory.usedOnHeap" , + distribution.OnHeapMemoryUsed, + rddDistributionAttrs, + writer, + ) + writeGauge( + metricPrefix, + "app.storage.rdd.distribution.memory.usedOffHeap" , + distribution.OffHeapMemoryUsed, + rddDistributionAttrs, + writer, + ) + writeGauge( + metricPrefix, + "app.storage.rdd.distribution.memory.remainingOnHeap" , + distribution.OnHeapMemoryRemaining, + rddDistributionAttrs, + writer, + ) + writeGauge( + metricPrefix, + "app.storage.rdd.distribution.memory.remainingOffHeap" , + distribution.OffHeapMemoryRemaining, + rddDistributionAttrs, + writer, + ) + } + + for _, partition := range rdd.Partitions { + rddPartitionAttrs := maps.Clone(attrs) + + rddPartitionAttrs["sparkAppRddPartitionBlockName"] = + partition.BlockName + + writeGauge( + metricPrefix, + "app.storage.rdd.partition.memory.used" , + partition.MemoryUsed, + rddPartitionAttrs, + writer, + ) + writeGauge( + metricPrefix, + "app.storage.rdd.partition.disk.used" , + partition.DiskUsed, + rddPartitionAttrs, + writer, + ) + } + } + + return nil +} + +func writeMemoryMetrics( + metricPrefix string, + memoryMetrics *SparkExecutorMemoryMetrics, + attrs map[string]interface{}, + writer chan <- model.Metric, +) { + writeGauge( + metricPrefix, + "usedOnHeapStorage", + memoryMetrics.UsedOnHeapStorageMemory, + attrs, + writer, + ) + + writeGauge( + metricPrefix, + "usedOffHeapStorage", + memoryMetrics.UsedOffHeapStorageMemory, + attrs, + writer, + ) + + writeGauge( + metricPrefix, + "totalOnHeapStorage", + memoryMetrics.TotalOnHeapStorageMemory, + attrs, + writer, + ) + + writeGauge( + metricPrefix, + "totalOffHeapStorage", + memoryMetrics.TotalOffHeapStorageMemory, + attrs, + writer, + ) +} + +func writePeakMemoryMetrics( + metricPrefix string, + peakMemoryMetrics *SparkExecutorPeakMemoryMetrics, + attrs map[string]interface{}, + writer chan <- model.Metric, +) { + writeGauge( + metricPrefix, + "jvmHeap", + peakMemoryMetrics.JVMHeapMemory, + attrs, + writer, + ) + writeGauge( + metricPrefix, + "jvmOffHeap", + peakMemoryMetrics.JVMOffHeapMemory, + attrs, + writer, + ) + writeGauge( + metricPrefix, + "onHeapExecution", + peakMemoryMetrics.OnHeapExecutionMemory, + attrs, + writer, + ) + writeGauge( + metricPrefix, + "offHeapExecution", + peakMemoryMetrics.OffHeapExecutionMemory, + attrs, + writer, + ) + writeGauge( + metricPrefix, + "onHeapStorage", + peakMemoryMetrics.OnHeapStorageMemory, + attrs, + writer, + ) + writeGauge( + metricPrefix, + "offHeapStorage", + peakMemoryMetrics.OffHeapStorageMemory, + attrs, + writer, + ) + writeGauge( + metricPrefix, + "onHeapUnified", + peakMemoryMetrics.OnHeapUnifiedMemory, + attrs, + writer, + ) + writeGauge( + metricPrefix, + "offHeapUnified", + peakMemoryMetrics.OffHeapUnifiedMemory, + attrs, + writer, + ) + writeGauge( + metricPrefix, + "directPool", + peakMemoryMetrics.DirectPoolMemory, + attrs, + writer, + ) + writeGauge( + metricPrefix, + "mappedPool", + peakMemoryMetrics.MappedPoolMemory, + attrs, + writer, + ) + writeGauge( + metricPrefix, + "nettyDirect", + peakMemoryMetrics.NettyDirectMemory, + attrs, + writer, + ) + writeGauge( + metricPrefix, + "jvmDirect", + peakMemoryMetrics.JvmDirectMemory, + attrs, + writer, + ) + writeGauge( + metricPrefix, + "sparkDirectMemoryOverLimit", + peakMemoryMetrics.SparkDirectMemoryOverLimit, + attrs, + writer, + ) + writeGauge( + metricPrefix, + "totalOffHeap", + peakMemoryMetrics.TotalOffHeapMemory, + attrs, + writer, + ) + writeGauge( + metricPrefix, + "processTreeJvmVirtual", + peakMemoryMetrics.ProcessTreeJVMVMemory, + attrs, + writer, + ) + writeGauge( + metricPrefix, + "processTreeJvmRSS", + peakMemoryMetrics.ProcessTreeJVMRSSMemory, + attrs, + writer, + ) + writeGauge( + metricPrefix, + "processTreePythonVirtual", + peakMemoryMetrics.ProcessTreePythonVMemory, + attrs, + writer, + ) + writeGauge( + metricPrefix, + "processTreePythonRSS", + peakMemoryMetrics.ProcessTreePythonRSSMemory, + attrs, + writer, + ) + writeGauge( + metricPrefix, + "processTreeOtherVirtual", + peakMemoryMetrics.ProcessTreeOtherVMemory, + attrs, + writer, + ) + writeGauge( + metricPrefix, + "processTreeOtherRSS", + peakMemoryMetrics.ProcessTreeOtherRSSMemory, + attrs, + writer, + ) + writeGauge( + metricPrefix, + "minorGCCount", + peakMemoryMetrics.MinorGCCount, + attrs, + writer, + ) + writeGauge( + metricPrefix, + "minorGCTime", + peakMemoryMetrics.MinorGCTime, + attrs, + writer, + ) + writeGauge( + metricPrefix, + "majorGCCount", + peakMemoryMetrics.MajorGCCount, + attrs, + writer, + ) + writeGauge( + metricPrefix, + "majorGCTime", + peakMemoryMetrics.MajorGCTime, + attrs, + writer, + ) + writeGauge( + metricPrefix, + "totalGCTime", + peakMemoryMetrics.TotalGCTime, + attrs, + writer, + ) +} + +func writeGauge( + prefix string, + metricName string, + metricValue any, + attrs map[string]interface{}, + writer chan <- model.Metric, +) { + metric := model.NewGaugeMetric( + prefix + metricName, + model.MakeNumeric(metricValue), + time.Now(), + ) + + for k, v := range attrs { + metric.Attributes[k] = v + } + + writer <- metric +} + +func makeAppAttributesMap( + sparkContextUiUrl string, + sparkApp *SparkApplication, + tags map[string]string, +) map[string]interface{} { + attrs := make(map[string]interface{}) + + for k, v := range tags { + attrs[k] = v + } + + attrs["sparkContextUiUrl"] = sparkContextUiUrl + attrs["sparkAppId"] = sparkApp.Id + attrs["sparkAppName"] = sparkApp.Name + + return attrs +} + +func makeRequest( + url string, + authenticator connectors.HttpAuthenticator, + response interface{}, +) error { + connector := connectors.NewHttpGetConnector(url) + + connector.SetAuthenticator(authenticator) + connector.SetHeaders(map[string]string { + "Content-Type": "application/json", + "Accept": "application/json", + }) + + in, err := connector.Request() + if err != nil { + return err + } + + log.Debugf("decoding spark JSON response for URL %s", url) + + dec := json.NewDecoder(in) + + err = dec.Decode(response) + if err != nil { + return err + } + + if log.IsDebugEnabled() { + log.PrettyPrintJson(response) + } + + return nil +} diff --git a/internal/spark/spark.go b/internal/spark/spark.go new file mode 100644 index 0000000..6ffc98d --- /dev/null +++ b/internal/spark/spark.go @@ -0,0 +1,352 @@ +package spark + +import ( + "github.com/newrelic/newrelic-labs-sdk/pkg/integration" + "github.com/newrelic/newrelic-labs-sdk/pkg/integration/connectors" + "github.com/newrelic/newrelic-labs-sdk/pkg/integration/exporters" + "github.com/newrelic/newrelic-labs-sdk/pkg/integration/pipeline" + "github.com/spf13/viper" +) + +type SparkApplication struct { + Id string `json:"id"` + Name string `json:"name"` +} + +type SparkExecutorMemoryMetrics struct { + UsedOnHeapStorageMemory int `json:"usedOnHeapStorageMemory"` + UsedOffHeapStorageMemory int `json:"usedOffHeapStorageMemory"` + TotalOnHeapStorageMemory int `json:"totalOnHeapStorageMemory"` + TotalOffHeapStorageMemory int `json:"totalOffHeapStorageMemory"` +} + +type SparkExecutorPeakMemoryMetrics struct { + JVMHeapMemory int `json:"JVMHeapMemory"` + JVMOffHeapMemory int `json:"JVMOffHeapMemory"` + OnHeapExecutionMemory int `json:"OnHeapExecutionMemory"` + OffHeapExecutionMemory int `json:"OffHeapExecutionMemory"` + OnHeapStorageMemory int `json:"OnHeapStorageMemory"` + OffHeapStorageMemory int `json:"OffHeapStorageMemory"` + OnHeapUnifiedMemory int `json:"OnHeapUnifiedMemory"` + OffHeapUnifiedMemory int `json:"OffHeapUnifiedMemory"` + DirectPoolMemory int `json:"DirectPoolMemory"` + MappedPoolMemory int `json:"MappedPoolMemory"` + NettyDirectMemory int `json:"NettyDirectMemory"` + JvmDirectMemory int `json:"JvmDirectMemory"` + SparkDirectMemoryOverLimit int `json:"SparkDirectMemoryOverLimit"` + TotalOffHeapMemory int `json:"TotalOffHeapMemory"` + ProcessTreeJVMVMemory int `json:"ProcessTreeJVMVMemory"` + ProcessTreeJVMRSSMemory int `json:"ProcessTreeJVMRSSMemory"` + ProcessTreePythonVMemory int `json:"ProcessTreePythonVMemory"` + ProcessTreePythonRSSMemory int `json:"ProcessTreePythonRSSMemory"` + ProcessTreeOtherVMemory int `json:"ProcessTreeOtherVMemory"` + ProcessTreeOtherRSSMemory int `json:"ProcessTreeOtherRSSMemory"` + MinorGCCount int `json:"MinorGCCount"` + MinorGCTime int `json:"MinorGCTime"` + MajorGCCount int `json:"MajorGCCount"` + MajorGCTime int `json:"MajorGCTime"` + TotalGCTime int `json:"TotalGCTime"` +} + +type SparkExecutor struct { + Id string `json:"id"` + RddBlocks int `json:"rddBlocks"` + MemoryUsed int `json:"memoryUsed"` + DiskUsed int `json:"diskUsed"` + TotalCores int `json:"totalCores"` + MaxTasks int `json:"maxTasks"` + ActiveTasks int `json:"activeTasks"` + FailedTasks int `json:"failedTasks"` + CompletedTasks int `json:"completedTasks"` + TotalTasks int `json:"totalTasks"` + TotalDuration int `json:"totalDuration"` + TotalGCTime int `json:"totalGCTime"` + TotalInputBytes int `json:"totalInputBytes"` + TotalShuffleRead int `json:"totalShuffleRead"` + TotalShuffleWrite int `json:"totalShuffleWrite"` + MaxMemory int `json:"maxMemory"` + MemoryMetrics SparkExecutorMemoryMetrics `json:"memoryMetrics"` + PeakMemoryMetrics SparkExecutorPeakMemoryMetrics `json:"peakMemoryMetrics"` +} + +type SparkExecutorSummary struct { + TaskTime int `json:"taskTime"` + FailedTasks int `json:"failedTasks"` + SucceededTasks int `json:"succeededTasks"` + KilledTasks int `json:"killedTasks"` + InputBytes int `json:"inputBytes"` + InputRecords int `json:"inputRecords"` + OutputBytes int `json:"outputBytes"` + OutputRecords int `json:"outputRecords"` + ShuffleRead int `json:"shuffleRead"` + ShuffleReadRecords int `json:"shuffleReadRecords"` + ShuffleWrite int `json:"shuffleWrite"` + ShuffleWriteRecords int `json:"shuffleWriteRecords"` + MemoryBytesSpilled int `json:"memoryBytesSpilled"` + DiskBytesSpilled int `json:"diskBytesSpilled"` + PeakMemoryMetrics SparkExecutorPeakMemoryMetrics `json:"peakMemoryMetrics"` +} + +type SparkJob struct { + JobId int `json:"jobId"` + Name string `json:"name"` + SubmissionTime string `json:"submissionTime"` + CompletionTime string `json:"completionTime"` + JobGroup string `json:"jobGroup"` + /* status=[running|succeeded|failed|unknown] */ + Status string `json:"status"` + NumTasks int `json:"numTasks"` + NumActiveTasks int `json:"numActiveTasks"` + NumCompletedTasks int `json:"numCompletedTasks"` + NumSkippedTasks int `json:"numSkippedTasks"` + NumFailedTasks int `json:"numFailedTasks"` + NumKilledTasks int `json:"numKilledTasks"` + NumCompletedIndices int `json:"numCompletedIndices"` + NumActiveStages int `json:"numActiveStages"` + NumCompletedStages int `json:"numCompletedStages"` + NumSkippedStages int `json:"numSkippedStages"` + NumFailedStages int `json:"numFailedStages"` +} + +type SparkTaskMetrics struct { + ExecutorDeserializeTime int `json:"executorDeserializeTime"` + ExecutorDeserializeCpuTime int `json:"executorDeserializeCpuTime"` + ExecutorRunTime int `json:"executorRunTime"` + ExecutorCpuTime int `json:"executorCpuTime"` + ResultSize int `json:"resultSize"` + JvmGcTime int `json:"jvmGcTime"` + ResultSerializationTime int `json:"resultSerializationTime"` + MemoryBytesSpilled int `json:"memoryBytesSpilled"` + DiskBytesSpilled int `json:"diskBytesSpilled"` + PeakExecutionMemory int `json:"peakExecutionMemory"` + InputMetrics struct { + BytesRead int `json:"bytesRead"` + RecordsRead int `json:"recordsRead"` + } `json:"inputMetrics"` + OutputMetrics struct { + BytesWritten int `json:"bytesWritten"` + RecordsWritten int `json:"recordsWritten"` + } `json:"outputMetrics"` + ShuffleReadMetrics struct { + RemoteBlocksFetched int `json:"remoteBlocksFetched"` + LocalBlocksFetched int `json:"localBlocksFetched"` + FetchWaitTime int `json:"fetchWaitTime"` + RemoteBytesRead int `json:"remoteBytesRead"` + RemoteBytesReadToDisk int `json:"remoteBytesReadToDisk"` + LocalBytesRead int `json:"localBytesRead"` + RecordsRead int `json:"recordsRead"` + RemoteReqsDuration int `json:"remoteReqsDuration"` + SufflePushReadMetrics struct { + CorruptMergedBlockChunks int `json:"corruptMergedBlockChunks"` + MergedFetchFallbackCount int `json:"mergedFetchFallbackCount"` + RemoteMergedBlocksFetched int `json:"remoteMergedBlocksFetched"` + LocalMergedBlocksFetched int `json:"localMergedBlocksFetched"` + RemoteMergedChunksFetched int `json:"remoteMergedChunksFetched"` + LocalMergedChunksFetched int `json:"localMergedChunksFetched"` + RemoteMergedBytesRead int `json:"remoteMergedBytesRead"` + LocalMergedBytesRead int `json:"localMergedBytesRead"` + RemoteMergedReqsDuration int `json:"remoteMergedReqsDuration"` + } `json:"shufflePushReadMetrics"` + } `json:"shuffleReadMetrics"` + ShuffleWriteMetrics struct { + BytesWritten int `json:"bytesWritten"` + WriteTime int `json:"writeTime"` + RecordsWritten int `json:"recordsWritten"` + } `json:"shuffleWriteMetrics"` + PhotonMemoryMetrics struct { + OffHeapMinMemorySize int `json:"offHeapMinMemorySize"` + OffHeapMaxMemorySize int `json:"offHeapMaxMemorySize"` + PhotonBufferPoolMinMemorySize int `json:"photonBufferPoolMinMemorySize"` + PhotonBufferPoolMaxMemorySize int `json:"photonBufferPoolMaxMemorySize"` + } `json:"photonMemoryMetrics"` + PhotonizedTaskTimeNs int `json:"photonizedTaskTimeNs"` +} + +type SparkTask struct { + TaskId int `json:"taskId"` + Index int `json:"index"` + Attempt int `json:"attempt"` + PartitionId int `json:"partitionId"` + LaunchTime string `json:"launchTime"` + Duration int `json:"duration"` + ExecutorId string `json:"executorId"` + /* + taskStatus=[RUNNING|SUCCESS|FAILED|KILLED|PENDING] + */ + Status string `json:"status"` + TaskLocality string `json:"taskLocality"` + Speculative bool `json:"speculative"` + TaskMetrics SparkTaskMetrics `json:"taskMetrics"` + SchedulerDelay int `json:"schedulerDelay"` + GettingResultTime int `json:"gettingResultTime"` +} + +type SparkStage struct { + /* + enum StageStatus { + STAGE_STATUS_UNSPECIFIED = 0; + STAGE_STATUS_ACTIVE = 1; + STAGE_STATUS_COMPLETE = 2; + STAGE_STATUS_FAILED = 3; + STAGE_STATUS_PENDING = 4; + STAGE_STATUS_SKIPPED = 5; + } + */ + Status string `json:"status"` + StageId int `json:"stageId"` + AttemptId int `json:"attemptId"` + NumTasks int `json:"numTasks"` + NumActiveTasks int `json:"numActiveTasks"` + NumCompleteTasks int `json:"numCompleteTasks"` + NumFailedTasks int `json:"numFailedTasks"` + NumKilledTasks int `json:"numKilledTasks"` + NumCompletedIndices int `json:"numCompletedIndices"` + PeakNettyDirectMemory int `json:"peakNettyDirectMemory"` + PeakJvmDirectMemory int `json:"peakJvmDirectMemory"` + PeakSparkDirectMemoryOverLimit int `json:"peakSparkDirectMemoryOverLimit"` + PeakTotalOffHeapMemory int `json:"peakTotalOffHeapMemory"` + SubmissionTime string `json:"submissionTime"` + FirstTaskLaunchedTime string `json:"firstTaskLaunchedTime"` + CompletionTime string `json:"completionTime"` + ExecutorDeserializeTime int `json:"executorDeserializeTime"` + ExecutorDeserializeCpuTime int `json:"executorDeserializeCpuTime"` + ExecutorRunTime int `json:"executorRunTime"` + ExecutorCpuTime int `json:"executorCpuTime"` + ResultSize int `json:"resultSize"` + JvmGcTime int `json:"jvmGcTime"` + ResultSerializationTime int `json:"resultSerializationTime"` + MemoryBytesSpilled int `json:"memoryBytesSpilled"` + DiskBytesSpilled int `json:"diskBytesSpilled"` + PeakExecutionMemory int `json:"peakExecutionMemory"` + InputBytes int `json:"inputBytes"` + InputRecords int `json:"inputRecords"` + OutputBytes int `json:"outputBytes"` + OutputRecords int `json:"outputRecords"` + ShuffleRemoteBlocksFetched int `json:"shuffleRemoteBlocksFetched"` + ShuffleLocalBlocksFetched int `json:"shuffleLocalBlocksFetched"` + ShuffleFetchWaitTime int `json:"shuffleFetchWaitTime"` + ShuffleRemoteBytesRead int `json:"shuffleRemoteBytesRead"` + ShuffleRemoteBytesReadToDisk int `json:"shuffleRemoteBytesReadToDisk"` + ShuffleLocalBytesRead int `json:"shuffleLocalBytesRead"` + ShuffleReadBytes int `json:"shuffleReadBytes"` + ShuffleReadRecords int `json:"shuffleReadRecords"` + ShuffleCorruptMergedBlockChunks int `json:"shuffleCorruptMergedBlockChunks"` + ShuffleMergedFetchFallbackCount int `json:"shuffleMergedFetchFallbackCount"` + ShuffleMergedRemoteBlocksFetched int `json:"shuffleMergedRemoteBlocksFetched"` + ShuffleMergedLocalBlocksFetched int `json:"shuffleMergedLocalBlocksFetched"` + ShuffleMergedRemoteChunksFetched int `json:"shuffleMergedRemoteChunksFetched"` + ShuffleMergedLocalChunksFetched int `json:"shuffleMergedLocalChunksFetched"` + ShuffleMergedRemoteBytesRead int `json:"shuffleMergedRemoteBytesRead"` + ShuffleMergedLocalBytesRead int `json:"shuffleMergedLocalBytesRead"` + ShuffleRemoteReqsDuration int `json:"shuffleRemoteReqsDuration"` + ShuffleMergedRemoteReqsDuration int `json:"shuffleMergedRemoteReqsDuration"` + ShuffleWriteBytes int `json:"shuffleWriteBytes"` + ShuffleWriteTime int `json:"shuffleWriteTime"` + ShuffleWriteRecords int `json:"shuffleWriteRecords"` + Name string `json:"name"` + SchedulingPool string `json:"schedulingPool"` + Tasks map[string]SparkTask `json:"tasks"` + ExecutorSummary map[string]SparkExecutorSummary `json:"executorSummary"` + ResourceProfileId int `json:"resourceProfileId"` + PeakMemoryMetrics SparkExecutorPeakMemoryMetrics `json:"peakMemoryMetrics"` + ShuffleMergersCount int `json:"shuffleMergersCount"` +} + +type SparkRDD struct { + Id int `json:"id"` + Name string `json:"name"` + NumPartitions int `json:"numPartitions"` + NumCachedPartitions int `json:"numCachedPartitions"` + MemoryUsed int `json:"memoryUsed"` + DiskUsed int `json:"diskUsed"` + DataDistribution []struct { + MemoryUsed int `json:"memoryUsed"` + MemoryRemaining int `json:"memoryRemaining"` + DiskUsed int `json:"diskUsed"` + OnHeapMemoryUsed int `json:"onHeapMemoryUsed"` + OffHeapMemoryUsed int `json:"offHeapMemoryUsed"` + OnHeapMemoryRemaining int `json:"onHeapMemoryRemaining"` + OffHeapMemoryRemaining int `json:"offHeapMemoryRemaining"` + } `json:"dataDistribution"` + Partitions []struct { + BlockName string `json:"blockName"` + MemoryUsed int `json:"memoryUsed"` + DiskUsed int `json:"diskUsed"` + Executors []string `json:"executors"` + } `json:"partitions"` +} + +/* + @TODO: Support non-Databricks Spark deployments +func InitPipelines(i *integration.LabsIntegration) error { + sparkContextUrls := viper.GetStringSlice("spark.contexts") + if len(sparkContextUrls) == 0 { + return fmt.Errorf("no spark context urls specified") + } + + for _, sparkContextUrl := range sparkContextUrls { + err := InitPipelinesForContext( + i, + sparkContextUrl, + nil, + nil, + ) + if err != nil { + return err + } + } + return nil +} +*/ + +func InitPipelinesForContext( + i *integration.LabsIntegration, + sparkContextUiUrl string, + authenticator connectors.HttpAuthenticator, + tags map[string]string, +) error { + // Create the newrelic exporter + newRelicExporter := exporters.NewNewRelicExporter( + "newrelic-api", + i, + ) + + // Create a metrics pipeline + mp := pipeline.NewMetricsPipeline() + mp.AddExporter(newRelicExporter) + + err := setupReceivers( + i, + mp, + sparkContextUiUrl, + authenticator, + tags, + ) + if err != nil { + return err + } + + i.AddPipeline(mp) + + return nil +} + +func setupReceivers( + i *integration.LabsIntegration, + mp *pipeline.MetricsPipeline, + sparkContextUiUrl string, + authenticator connectors.HttpAuthenticator, + tags map[string]string, +) error { + sparkReceiver := NewSparkMetricsReceiver( + i, + sparkContextUiUrl, + authenticator, + viper.GetString("spark.metricPrefix"), + tags, + ) + + mp.AddReceiver(sparkReceiver) + + return nil +} diff --git a/opentelemetry/README.md b/opentelemetry/README.md deleted file mode 100644 index 95c1a4c..0000000 --- a/opentelemetry/README.md +++ /dev/null @@ -1,47 +0,0 @@ -## OpenTelemetry Collector Integration with Databricks - -This Readme provides step-by-step instructions for setting up the OpenTelemetry Collector using `ApacheSpark` receiver for monitoring Databricks. - -### Adding Initialization Scripts to Databricks - -Databricks Initialization Scripts are shell scripts that run when a cluster is starting. They are useful for setting up custom configurations or third-party integrations such as setting up monitoring agents. - -### Step 1: Download and Extract OpenTelemetry Collector - -1. **Add script to Databricks:** Create new file in workspace as otel-installation.sh and add the below script to download and extract the OpenTelemetry Collector Contrib archive. - -```bash -curl --proto '=https' --tlsv1.2 -fOL https://github.com/open-telemetry/opentelemetry-collector-releases/releases/download/v0.95.0/otelcol-contrib_0.95.0_linux_386.tar.gz -tar -xvf otelcol-contrib_0.95.0_linux_386.tar.gz -``` - -### Step 2: Create the Configuration File -Create a config.yaml file for the OpenTelemetry Collector with your desired configuration. Below is an example configuration, replace $DRIVER_HOST and $SPARKUIPORT with specific values related to your environment. - -```bash -receivers: - apachespark: - collection_interval: 5s - endpoint: http://$DRIVER_HOST:$SPARKUIPORT - -exporters: - otlp: - endpoint: - headers: - api-key: - -service: - pipelines: - metrics: - receivers: [apachespark] - exporters: [otlp] -``` - -### Step 3: Configure Initialization Script -* Add the script to your Databricks cluster:** To add the initialization script to your cluster in Databricks, follow these steps. - - - Navigate to your Databricks workspace and go to the `Clusters` page. - - Choose the cluster you want to add the script to and click `Edit`. - - In the `Advanced Options` section, find the `Init Scripts` field. - - Click on `Add`, then in the Script Path input, select workspace or cloud storage path where your script is stored. - - Click `Confirm` and then `Update`. diff --git a/pkg/config/config.go b/pkg/config/config.go deleted file mode 100644 index 7a7f53c..0000000 --- a/pkg/config/config.go +++ /dev/null @@ -1,104 +0,0 @@ -package config - -import ( - "strconv" - - "newrelic/multienv/pkg/connect" - "newrelic/multienv/pkg/deser" -) - -// Recever configuration -type RecvConfig struct { - Connectors []connect.Connector - Deser deser.DeserFunc -} - -// Processor configuration -type ProcConfig struct { - Model any -} - -type ExporterType string - -func (expor ExporterType) Check() bool { - switch expor { - case NrApi: - case NrMetrics: - case NrEvents: - case NrLogs: - case NrTraces: - case NrInfra: - case Prometheus: - case Otel: - case Dummy: - default: - return false - } - return true -} - -const ( - NrInfra ExporterType = "nrinfra" - NrApi ExporterType = "nrapi" - NrMetrics ExporterType = "nrmetrics" - NrEvents ExporterType = "nrevents" - NrLogs ExporterType = "nrlogs" - NrTraces ExporterType = "nrtraces" - Otel ExporterType = "otel" - Prometheus ExporterType = "prom" - Dummy ExporterType = "dummy" -) - -// Data pipeline configuration. -type PipelineConfig struct { - Interval uint - Exporter ExporterType - Custom map[string]any -} - -func (conf PipelineConfig) GetString(key string) (string, bool) { - val, ok := conf.Custom[key] - if ok { - val_str, ok := val.(string) - if ok { - return val_str, true - } - - val_int, ok := val.(int) - if ok { - return strconv.Itoa(val_int), true - } - - return "", false - } else { - return "", false - } -} - -func (conf PipelineConfig) GetInt(key string) (int, bool) { - val, ok := conf.Custom[key] - if ok { - val_int, ok := val.(int) - if ok { - return val_int, true - } else { - return 0, false - } - } else { - return 0, false - } -} - -func (conf PipelineConfig) GetMap(key string) (map[string]any, bool) { - val, ok := conf.Custom[key] - if ok { - val_map, ok := val.(map[string]any) - if ok { - return val_map, true - } else { - return nil, false - } - } else { - return nil, false - } -} diff --git a/pkg/connect/http.go b/pkg/connect/http.go deleted file mode 100644 index 05f89ad..0000000 --- a/pkg/connect/http.go +++ /dev/null @@ -1,243 +0,0 @@ -package connect - -import ( - "bytes" - "errors" - "io" - "io/ioutil" - "net/http" - "strings" - "time" -) - -type HttpMethod int - -const ( - Undefined HttpMethod = iota - Get - Post - Head - Put - Delete - Connect - Options - Trace - Patch -) - -const defaultTimeout = 5 * time.Second - -type BuilderFunc = func(*HttpConfig) (*http.Request, error) - -type HttpConfig struct { - Method HttpMethod - Url string - Body any - Headers map[string]string - Builder BuilderFunc - Timeout time.Duration - Model string - Data map[string]interface{} -} - -type HttpConnector struct { - Config HttpConfig -} - -func (c *HttpConnector) SetConfig(config any) { - conf, ok := config.(HttpConfig) - if !ok { - panic("Expected an HttpConfig struct.") - } - c.Config = conf -} - -func (c *HttpConnector) Request() ([]byte, ConnecError) { - if c.Config.Builder != nil { - req, err := c.Config.Builder(&c.Config) - if err != nil { - return nil, MakeConnectErr(err, 0) - } - res, reqErr := httpRequest(req, c.Config.Timeout) - return []byte(res), reqErr - } else { - switch c.Config.Method { - case Get: - res, err := httpGet(c.Config.Url, c.Config.Headers, c.Config.Timeout) - return []byte(res), err - case Post: - switch body := c.Config.Body.(type) { - case io.Reader: - res, err := httpPost(c.Config.Url, body, c.Config.Headers, c.Config.Timeout) - return []byte(res), err - case string: - res, err := httpPost(c.Config.Url, strings.NewReader(body), c.Config.Headers, c.Config.Timeout) - return []byte(res), err - case []byte: - res, err := httpPost(c.Config.Url, bytes.NewReader(body), c.Config.Headers, c.Config.Timeout) - return []byte(res), err - default: - return nil, MakeConnectErr(errors.New("Unsupported type for body"), 0) - } - default: - return nil, MakeConnectErr(errors.New("Unsupported HTTP method"), 0) - } - } -} - -func (c *HttpConnector) SetConnectorModelName(model string) { - c.Config.Model = model -} - -func (c *HttpConnector) ConnectorModel() string { - return c.Config.Model -} - -func (c *HttpConnector) SetCustomData(data map[string]interface{}) { - c.Config.Data = data -} - -func (c *HttpConnector) ConnectorCustomData() map[string]interface{} { - return c.Config.Data -} - -func (c *HttpConnector) ConnectorID() string { - return "HTTP" -} - -func (c *HttpConnector) SetReqBuilder(builder BuilderFunc) { - c.Config.Builder = builder -} - -func (c *HttpConnector) SetMethod(method HttpMethod) { - c.Config.Method = method -} - -func (c *HttpConnector) SetUrl(url string) { - c.Config.Url = url -} - -func (c *HttpConnector) SetBody(body any) { - c.Config.Body = body -} - -func (c *HttpConnector) SetHeaders(headers map[string]string) { - c.Config.Headers = headers -} - -func (c *HttpConnector) SetTimeout(timeout time.Duration) { - c.Config.Timeout = timeout -} - -// Build and Connector for HTTP GET requests. -func MakeHttpGetConnector(url string, headers map[string]string) HttpConnector { - return HttpConnector{ - Config: HttpConfig{ - Method: Get, - Url: url, - Headers: headers, - Timeout: defaultTimeout, - }, - } -} - -// Build and Connector for HTTP POST requests. -func MakeHttpPostConnector(url string, body any, headers map[string]string) HttpConnector { - return HttpConnector{ - Config: HttpConfig{ - Method: Post, - Url: url, - Body: body, - Headers: headers, - Timeout: defaultTimeout, - }, - } -} - -// Build and Connector for HTTP GET requests. -func MakeHttpConnectorWithBuilder(builder BuilderFunc) HttpConnector { - return HttpConnector{ - Config: HttpConfig{ - Builder: builder, - Timeout: defaultTimeout, - }, - } -} - -func httpGet(url string, headers map[string]string, timeout time.Duration) (string, ConnecError) { - req, err := http.NewRequest("GET", url, nil) - - for key, val := range headers { - req.Header.Add(key, val) - } - - client := http.DefaultClient - client.Timeout = timeout - resp, err := client.Do(req) - - if err != nil { - if resp != nil { - return "", MakeConnectErr(err, resp.StatusCode) - } else { - return "", MakeConnectErr(err, 0) - } - } - defer resp.Body.Close() - - body, err := ioutil.ReadAll(resp.Body) - if err != nil { - return "", MakeConnectErr(err, resp.StatusCode) - } - - return string(body), ConnecError{} -} - -func httpPost(url string, reqBody io.Reader, headers map[string]string, timeout time.Duration) (string, ConnecError) { - req, err := http.NewRequest("POST", url, reqBody) - - for key, val := range headers { - req.Header.Add(key, val) - } - - client := http.DefaultClient - client.Timeout = timeout - resp, err := client.Do(req) - - if err != nil { - if resp != nil { - return "", MakeConnectErr(err, resp.StatusCode) - } else { - return "", MakeConnectErr(err, 0) - } - } - defer resp.Body.Close() - - body, err := ioutil.ReadAll(resp.Body) - if err != nil { - return "", MakeConnectErr(err, resp.StatusCode) - } - - return string(body), ConnecError{} -} - -func httpRequest(req *http.Request, timeout time.Duration) (string, ConnecError) { - client := http.DefaultClient - client.Timeout = timeout - resp, err := client.Do(req) - - if err != nil { - if resp != nil { - return "", MakeConnectErr(err, resp.StatusCode) - } else { - return "", MakeConnectErr(err, 0) - } - } - defer resp.Body.Close() - - body, err := ioutil.ReadAll(resp.Body) - if err != nil { - return "", MakeConnectErr(err, resp.StatusCode) - } - - return string(body), ConnecError{} -} diff --git a/pkg/connect/interface.go b/pkg/connect/interface.go deleted file mode 100644 index 2970678..0000000 --- a/pkg/connect/interface.go +++ /dev/null @@ -1,21 +0,0 @@ -package connect - -type ConnecError struct { - Err error - ErrCode int -} - -func MakeConnectErr(err error, errCode int) ConnecError { - return ConnecError{ - Err: err, - ErrCode: errCode, - } -} - -type Connector interface { - SetConfig(any) - Request() ([]byte, ConnecError) - ConnectorID() string - ConnectorModel() string - ConnectorCustomData() map[string]interface{} -} diff --git a/pkg/deser/interface.go b/pkg/deser/interface.go deleted file mode 100644 index d32e235..0000000 --- a/pkg/deser/interface.go +++ /dev/null @@ -1,3 +0,0 @@ -package deser - -type DeserFunc = func([]byte) (interface{}, string, error) diff --git a/pkg/deser/json.go b/pkg/deser/json.go deleted file mode 100644 index 8391789..0000000 --- a/pkg/deser/json.go +++ /dev/null @@ -1,30 +0,0 @@ -package deser - -import ( - "encoding/json" - "fmt" -) - -// JSON deserializer -//func DeserJson(data []byte, v *map[string]any) error { -// err := json.Unmarshal(data, v) -// if err != nil { -// log.Error("Deser error = ", err.Error()) -// } -// return err -//} - -func DeserJson(data []byte) (any, string, error) { - var v map[string]interface{} - if err := json.Unmarshal(data, &v); err == nil { - return v, "object", nil - } - - var a []map[string]interface{} - if err := json.Unmarshal(data, &a); err == nil { - return a, "array", nil - } - - return nil, "", fmt.Errorf("unknown type") - -} diff --git a/pkg/env/infra/config.go b/pkg/env/infra/config.go deleted file mode 100644 index 8503378..0000000 --- a/pkg/env/infra/config.go +++ /dev/null @@ -1,35 +0,0 @@ -package infra - -import ( - "errors" - "newrelic/multienv/pkg/config" - "os" - - "gopkg.in/yaml.v3" -) - -func LoadConfig() (config.PipelineConfig, error) { - confPath := os.Getenv("CONFIG_PATH") - if confPath == "" { - return config.PipelineConfig{}, errors.New("CONFIG_PATH environment variable is empty") - } - - yamlFile, err := os.ReadFile(confPath) - if err != nil { - return config.PipelineConfig{}, err - } - - var pipeConfigMap map[string]any - err = yaml.Unmarshal(yamlFile, &pipeConfigMap) - if err != nil { - return config.PipelineConfig{}, err - } - - var pipeConfig = config.PipelineConfig{ - Interval: 0, - Exporter: config.ExporterType(config.NrInfra), - Custom: pipeConfigMap, - } - - return pipeConfig, nil -} diff --git a/pkg/env/lambda/config.go b/pkg/env/lambda/config.go deleted file mode 100644 index 91393d3..0000000 --- a/pkg/env/lambda/config.go +++ /dev/null @@ -1,38 +0,0 @@ -package lambda - -import ( - "os" - "strconv" - "strings" - - "newrelic/multienv/pkg/config" -) - -func LoadConfig() config.PipelineConfig { - pipeConf := config.PipelineConfig{ - Custom: map[string]any{}, - } - - for _, e := range os.Environ() { - pair := strings.SplitN(e, "=", 2) - key := pair[0] - val := pair[1] - switch key { - case "interval": - interval, err := strconv.ParseUint(val, 10, 0) - if err != nil { - interval = 60 - } - pipeConf.Interval = uint(interval) - case "exporter": - exporter := config.ExporterType(val) - if exporter.Check() { - pipeConf.Exporter = exporter - } - default: - pipeConf.Custom[key] = val - } - } - - return pipeConf -} diff --git a/pkg/env/standalone/buffer.go b/pkg/env/standalone/buffer.go deleted file mode 100644 index 3d10fd4..0000000 --- a/pkg/env/standalone/buffer.go +++ /dev/null @@ -1,8 +0,0 @@ -package standalone - -type Buffer[T any] interface { - Put(T) bool - Capacity() int - Size() int - Clear() *[]T -} diff --git a/pkg/env/standalone/config.go b/pkg/env/standalone/config.go deleted file mode 100644 index ed1481a..0000000 --- a/pkg/env/standalone/config.go +++ /dev/null @@ -1,72 +0,0 @@ -package standalone - -import ( - "errors" - "os" - "sync" - "sync/atomic" - - "newrelic/multienv/pkg/config" - - "gopkg.in/yaml.v3" -) - -type SharedConfig[T any] struct { - workerConfig T - workerConfigMu sync.Mutex - workerIsRunning atomic.Bool -} - -func (w *SharedConfig[T]) SetIsRunning() bool { - return w.workerIsRunning.Swap(true) -} - -func (w *SharedConfig[T]) SetConfig(config T) { - w.workerConfigMu.Lock() - w.workerConfig = config - w.workerConfigMu.Unlock() -} - -func (w *SharedConfig[T]) Config() T { - w.workerConfigMu.Lock() - config := w.workerConfig - w.workerConfigMu.Unlock() - return config -} - -func LoadConfig(filePath string) (config.PipelineConfig, error) { - yamlFile, err := os.ReadFile(filePath) - if err != nil { - return config.PipelineConfig{}, err - } - - var pipeConfigMap map[string]any - err = yaml.Unmarshal(yamlFile, &pipeConfigMap) - if err != nil { - return config.PipelineConfig{}, err - } - - interval, ok := pipeConfigMap["interval"] - if !ok { - interval = 60 - } - - if _, ok := interval.(int); !ok { - return config.PipelineConfig{}, errors.New("Interval must be an integer") - } - - if interval.(int) <= 0 { - interval = 60 - } - - delete(pipeConfigMap, "interval") - delete(pipeConfigMap, "exporter") - - var pipeConfig = config.PipelineConfig{ - Interval: uint(interval.(int)), - Exporter: config.NrMetrics, - Custom: pipeConfigMap, - } - - return pipeConfig, nil -} diff --git a/pkg/env/standalone/expor_worker.go b/pkg/env/standalone/expor_worker.go deleted file mode 100644 index 9b4a479..0000000 --- a/pkg/env/standalone/expor_worker.go +++ /dev/null @@ -1,86 +0,0 @@ -package standalone - -import ( - "newrelic/multienv/pkg/config" - "newrelic/multienv/pkg/export" - "newrelic/multienv/pkg/model" - "time" - - log "github.com/sirupsen/logrus" -) - -type ExpWorkerConfig struct { - InChannel <-chan model.MeltModel - BatchSize int - HarvestTime int - Exporter export.ExportFunc -} - -type ExporterWorker struct { - config ExpWorkerConfig - pipeConfig config.PipelineConfig - isRunning bool -} - -//var expWorkerConfig SharedConfig[ExpWorkerConfig] -//var pipelineConfig SharedConfig[config.PipelineConfig] - -func MakeExporterWorker(config ExpWorkerConfig, pipeConf config.PipelineConfig) ExporterWorker { - return ExporterWorker{config: config, pipeConfig: pipeConf, isRunning: false} -} - -func (exporterWorker *ExporterWorker) InitExporter() { - if !exporterWorker.isRunning { - log.Println("Starting exporter worker...") - exporterWorker.isRunning = true - go exporterWorker.exporterWorker() - } else { - log.Println("Exporter worker already running, config updated.") - } -} - -func (exporterWorker *ExporterWorker) exporterWorker() { - buffer := MakeReservoirBuffer[model.MeltModel](500) - pre := time.Now().Unix() - - for { - config := exporterWorker.config - harvestTime := time.Duration(config.HarvestTime) * time.Second - - data := <-config.InChannel - switch data.Type { - case model.Metric: - metric, _ := data.Metric() - log.Println("Exporter received a Metric", metric.Name) - case model.Event: - event, _ := data.Event() - log.Println("Exporter received an Event", event.Type) - case model.Log: - dlog, _ := data.Log() - log.Println("Exporter received a Log", dlog.Message, dlog.Type) - case model.Trace: - //TODO - log.Warn("TODO: Exporter received a Trace") - } - - buffer.Put(data) - - now := time.Now().Unix() - bufSize := buffer.Size() - - if now-pre >= int64(harvestTime.Seconds()) || bufSize >= config.BatchSize { - buf := *buffer.Clear() - - log.Println("Harvest cycle, buffer size = ", bufSize) - - err := config.Exporter(exporterWorker.pipeConfig, buf[0:bufSize]) - - if err != nil { - log.Error("Exporter failed = ", err) - //TODO: handle error condition, refill buffer? Discard data? Retry? - } - - pre = time.Now().Unix() - } - } -} diff --git a/pkg/env/standalone/pipeline.go b/pkg/env/standalone/pipeline.go deleted file mode 100644 index b19b5df..0000000 --- a/pkg/env/standalone/pipeline.go +++ /dev/null @@ -1,91 +0,0 @@ -package standalone - -import ( - "newrelic/multienv/integration" - "newrelic/multienv/pkg/config" - "newrelic/multienv/pkg/export" - "newrelic/multienv/pkg/model" - - log "github.com/sirupsen/logrus" -) - -// Init data pipeline. -func InitPipeline(pipeConf config.PipelineConfig, recvConfig config.RecvConfig, procConfig config.ProcConfig, proc ProcessorFunc) { - bufferSize, _ := pipeConf.GetInt("buffer") - - if bufferSize < 100 { - bufferSize = 100 - } - - if bufferSize > 1000 { - bufferSize = 1000 - } - - batchSize, _ := pipeConf.GetInt("batch_size") - - if batchSize < 10 { - batchSize = 10 - } - - if batchSize > 100 { - batchSize = 100 - } - - harvestTime, _ := pipeConf.GetInt("harvest_time") - - if harvestTime < 60 { - harvestTime = 60 - } - - recvToProcCh := make(chan map[string]any, bufferSize) - metricsProcToExpCh := make(chan model.MeltModel, bufferSize) - eventsProcToExpCh := make(chan model.MeltModel, bufferSize) - - metricsExporter := MakeExporterWorker(ExpWorkerConfig{ - InChannel: metricsProcToExpCh, - HarvestTime: harvestTime, - BatchSize: batchSize, - Exporter: export.SelectExporter(config.NrMetrics), - }, pipeConf) - - metricsExporter.InitExporter() - - eventsExporter := MakeExporterWorker(ExpWorkerConfig{ - InChannel: eventsProcToExpCh, - HarvestTime: harvestTime, - BatchSize: batchSize, - Exporter: export.SelectExporter(config.NrEvents), - }, pipeConf) - - eventsExporter.InitExporter() - - InitProcessor(ProcWorkerConfig{ - Processor: proc, - Model: procConfig.Model, - InChannel: recvToProcCh, - MetricsOutChannel: metricsProcToExpCh, - EventsOutChannel: eventsProcToExpCh, - }) - InitReceiver(RecvWorkerConfig{ - IntervalSec: pipeConf.Interval, - Connectors: recvConfig.Connectors, - Deserializer: recvConfig.Deser, - OutChannel: recvToProcCh, - }) -} - -// Start Integration -func Start(pipeConf config.PipelineConfig) error { - recvConfig, err := integration.InitRecv(&pipeConf) - if err != nil { - log.Error("Error initializing receiver: ", err) - return err - } - procConfig, err := integration.InitProc(&pipeConf) - if err != nil { - log.Error("Error initializing processor: ", err) - return err - } - InitPipeline(pipeConf, recvConfig, procConfig, integration.Proc) - return nil -} diff --git a/pkg/env/standalone/proc_worker.go b/pkg/env/standalone/proc_worker.go deleted file mode 100644 index 082ddb9..0000000 --- a/pkg/env/standalone/proc_worker.go +++ /dev/null @@ -1,55 +0,0 @@ -package standalone - -import ( - "newrelic/multienv/pkg/model" - - "github.com/mitchellh/mapstructure" - log "github.com/sirupsen/logrus" -) - -type ProcessorFunc = func(any) []model.MeltModel - -type ProcWorkerConfig struct { - Processor ProcessorFunc - Model any - InChannel <-chan map[string]any - MetricsOutChannel chan<- model.MeltModel - EventsOutChannel chan<- model.MeltModel -} - -var procWorkerConfigHoldr SharedConfig[ProcWorkerConfig] - -func InitProcessor(config ProcWorkerConfig) { - procWorkerConfigHoldr.SetConfig(config) - if !procWorkerConfigHoldr.SetIsRunning() { - log.Println("Starting processor worker...") - go processorWorker() - } else { - log.Println("Processor worker already running, config updated.") - } -} - -func processorWorker() { - for { - config := procWorkerConfigHoldr.Config() - configModel := config.Model - data := <-config.InChannel - err := mapstructure.Decode(data, &configModel) - if err == nil { - for _, val := range config.Processor(configModel) { - - switch val.Type { - case model.Metric: - config.MetricsOutChannel <- val - case model.Event: - config.EventsOutChannel <- val - - default: - log.Warn("Model type unknown") - } - } - } else { - log.Error("Error decoding data = ", err) - } - } -} diff --git a/pkg/env/standalone/recv_worker.go b/pkg/env/standalone/recv_worker.go deleted file mode 100644 index 9c2fe4e..0000000 --- a/pkg/env/standalone/recv_worker.go +++ /dev/null @@ -1,91 +0,0 @@ -package standalone - -import ( - "sync" - "time" - - "newrelic/multienv/pkg/connect" - "newrelic/multienv/pkg/deser" - - log "github.com/sirupsen/logrus" -) - -type RecvWorkerConfig struct { - IntervalSec uint - Connectors []connect.Connector - Deserializer deser.DeserFunc - OutChannel chan<- map[string]any -} - -var recvWorkerConfigHoldr SharedConfig[RecvWorkerConfig] - -func InitReceiver(config RecvWorkerConfig) { - recvWorkerConfigHoldr.SetConfig(config) - if !recvWorkerConfigHoldr.SetIsRunning() { - log.Println("Starting receiver worker...") - go receiverWorker() - } else { - log.Println("Receiver worker already running, config updated.") - } -} - -func receiverWorker() { - for { - config := recvWorkerConfigHoldr.Config() - pre := time.Now().Unix() - - wg := &sync.WaitGroup{} - wg.Add(len(config.Connectors)) - - for _, connector := range config.Connectors { - go func(connector connect.Connector) { - defer wg.Done() - - data, err := connector.Request() - if err.Err != nil { - log.Error("Http Get error = ", err.Err.Error()) - delayBeforeNextReq(pre, &config) - return - } - - //log.Println("Data received: ", string(data)) - - response, jsonType, desErr := config.Deserializer(data) - if desErr == nil { - switch jsonType { - case "array": - var rdata = map[string]any{} - for _, responseObject := range response.([]map[string]any) { - rdata["model"] = connector.ConnectorModel() - rdata["customData"] = connector.ConnectorCustomData() - rdata["response"] = responseObject - config.OutChannel <- rdata - } - case "object": - var rdata = map[string]any{} - rdata["model"] = connector.ConnectorModel() - rdata["customData"] = connector.ConnectorCustomData() - rdata["response"] = response.(map[string]any) - config.OutChannel <- rdata - default: - log.Warn("Response data type couldn't be identified") - } - } - }(connector) - } - - wg.Wait() - log.Println("All Requests Completed") - - // Delay before the next request - delayBeforeNextReq(pre, &config) - } -} - -func delayBeforeNextReq(pre int64, config *RecvWorkerConfig) { - timeDiff := time.Now().Unix() - pre - if timeDiff < int64(config.IntervalSec) { - remainingDelay := int64(config.IntervalSec) - timeDiff - time.Sleep(time.Duration(remainingDelay) * time.Second) - } -} diff --git a/pkg/env/standalone/reservoir.go b/pkg/env/standalone/reservoir.go deleted file mode 100644 index bf3f274..0000000 --- a/pkg/env/standalone/reservoir.go +++ /dev/null @@ -1,59 +0,0 @@ -package standalone - -import ( - "math/rand" -) - -type ReservoirBuffer[T any] struct { - buff []T - size int - capacity int - index int -} - -func MakeReservoirBuffer[T any](capacity int) Buffer[T] { - return &ReservoirBuffer[T]{ - buff: make([]T, capacity), - size: 0, - capacity: capacity, - index: 0, - } -} - -// Implement reservoir sampling Algorithm R -func (b *ReservoirBuffer[T]) Put(val T) bool { - accepted := false - if b.index < b.capacity { - // Fill buffer - b.buff[b.index] = val - b.size += 1 - accepted = true - } else { - // Buffer is full, start sampling - j := rand.Intn(b.index) - if j < b.capacity { - b.buff[j] = val - accepted = true - } else { - accepted = false - } - } - b.index += 1 - return accepted -} - -func (b *ReservoirBuffer[T]) Capacity() int { - return b.capacity -} - -func (b *ReservoirBuffer[T]) Size() int { - return b.size -} - -func (b *ReservoirBuffer[T]) Clear() *[]T { - ret := b.buff - b.buff = make([]T, b.capacity) - b.size = 0 - b.index = 0 - return &ret -} diff --git a/pkg/export/interface.go b/pkg/export/interface.go deleted file mode 100644 index 95473e4..0000000 --- a/pkg/export/interface.go +++ /dev/null @@ -1,40 +0,0 @@ -package export - -import ( - "newrelic/multienv/pkg/config" - "newrelic/multienv/pkg/model" - - log "github.com/sirupsen/logrus" -) - -type ExportFunc = func(config.PipelineConfig, []model.MeltModel) error - -func dummyExporter(pipeConf config.PipelineConfig, data []model.MeltModel) error { - log.Warn("Dummy Exporter, do nothing") - log.Warn(" Data = ", data) - log.Warn(" Config = ", pipeConf) - return nil -} - -func SelectExporter(exporterType config.ExporterType) ExportFunc { - switch exporterType { - case config.NrApi: - return exportNrApi - case config.NrEvents: - return exportNrEvent - case config.NrMetrics: - return exportNrMetric - case config.NrLogs: - return exportNrLog - case config.NrTraces: - return exportNrTrace - case config.NrInfra: - return exportNrInfra - case config.Otel: - return exportOtel - case config.Prometheus: - return exportProm - default: - return dummyExporter - } -} diff --git a/pkg/export/nrapi.go b/pkg/export/nrapi.go deleted file mode 100644 index b30a62a..0000000 --- a/pkg/export/nrapi.go +++ /dev/null @@ -1,278 +0,0 @@ -package export - -import ( - "bytes" - "compress/gzip" - "encoding/json" - "errors" - "newrelic/multienv/pkg/config" - "newrelic/multienv/pkg/connect" - "newrelic/multienv/pkg/model" - - log "github.com/sirupsen/logrus" -) - -func exportNrApi(pipeConf config.PipelineConfig, melt []model.MeltModel) error { - log.Print("------> NR API Exporter = ", melt) - - metricArray := []model.MeltModel{} - eventArray := []model.MeltModel{} - logArray := []model.MeltModel{} - - for _, element := range melt { - switch element.Data.(type) { - case model.MetricModel: - metricArray = append(metricArray, element) - case model.EventModel: - eventArray = append(eventArray, element) - case model.LogModel: - logArray = append(logArray, element) - case model.TraceModel: - //TODO: implement traces - } - } - - if len(metricArray) > 0 { - exportNrMetric(pipeConf, metricArray) - } - - if len(eventArray) > 0 { - exportNrEvent(pipeConf, eventArray) - } - - if len(logArray) > 0 { - exportNrLog(pipeConf, logArray) - } - - return nil -} - -func exportNrEvent(pipeConf config.PipelineConfig, data []model.MeltModel) error { - log.Print("------> NR Event Exporter = ", data) - - jsonModel, err := intoNrEvent(data) - if err != nil { - log.Error("Error generating NR Event API data = ", err) - return err - } - - log.Print("NR Event JSON = ", string(jsonModel)) - - return nrApiRequest(pipeConf, jsonModel, getEventEndpoint(pipeConf)) -} - -func exportNrMetric(pipeConf config.PipelineConfig, data []model.MeltModel) error { - log.Print("------> NR Metric Exporter = ", data) - - jsonModel, err := intoNrMetric(data) - if err != nil { - log.Error("Error generating NR Metric API data = ", err) - return err - } - - log.Print("NR Metric JSON = ", string(jsonModel)) - - return nrApiRequest(pipeConf, jsonModel, getMetricEndpoint(pipeConf)) -} - -func exportNrLog(pipeConf config.PipelineConfig, data []model.MeltModel) error { - log.Print("------> NR Log Exporter = ", data) - - jsonModel, err := intoNrLog(data) - if err != nil { - log.Error("Error generating NR Log API data = ", err) - return err - } - - log.Print("NR Log JSON = ", string(jsonModel)) - - return nrApiRequest(pipeConf, jsonModel, getLogEndpoint(pipeConf)) -} - -func exportNrTrace(pipeConf config.PipelineConfig, data []model.MeltModel) error { - log.Print("------> TODO: NR Trace Exporter = ", data) - return nil -} - -func getEndpoint(pipeConf config.PipelineConfig) string { - endpoint, ok := pipeConf.GetString("nr_endpoint") - if !ok { - endpoint = "US" - } else { - if endpoint != "US" && endpoint != "EU" { - endpoint = "US" - } - } - return endpoint -} - -func getEventEndpoint(pipeConf config.PipelineConfig) string { - accountId, ok := pipeConf.GetString("nr_account_id") - if !ok { - log.Error("'nr_account_id' not found in the pipeline config") - return "" - } - if getEndpoint(pipeConf) == "US" { - return "https://insights-collector.newrelic.com/v1/accounts/" + accountId + "/events" - } else { - return "https://insights-collector.eu01.nr-data.net/v1/accounts/" + accountId + "/events" - } -} - -func getMetricEndpoint(pipeConf config.PipelineConfig) string { - if getEndpoint(pipeConf) == "US" { - return "https://metric-api.newrelic.com/metric/v1" - } else { - return "https://metric-api.eu.newrelic.com/metric/v1" - } -} - -func getLogEndpoint(pipeConf config.PipelineConfig) string { - if getEndpoint(pipeConf) == "US" { - return "https://log-api.newrelic.com/log/v1" - } else { - return "https://log-api.eu.newrelic.com/log/v1" - } -} - -func intoNrEvent(meltData []model.MeltModel) ([]byte, error) { - events := make([]map[string]any, 0) - for _, element := range meltData { - event, ok := element.Event() - if ok { - nrevent := map[string]any{ - "eventType": event.Type, - "timestamp": element.Timestamp, - } - if element.Attributes != nil { - for k, v := range element.Attributes { - if k != "eventType" && k != "timestamp" { - nrevent[k] = v - } - } - } - events = append(events, nrevent) - } - } - - return json.Marshal(events) -} - -func intoNrMetric(meltData []model.MeltModel) ([]byte, error) { - metrics := make([]map[string]any, 0) - for _, element := range meltData { - metric, ok := element.Metric() - if ok { - var nrmetric map[string]any - - switch metric.Type { - case model.Gauge, model.CumulativeCount: - nrmetric = map[string]any{ - "name": metric.Name, - "type": "gauge", - "value": metric.Value.Value(), - "timestamp": element.Timestamp, - } - if element.Attributes != nil { - nrmetric["attributes"] = element.Attributes - } - case model.Count: - nrmetric = map[string]any{ - "name": metric.Name, - "type": "count", - "value": metric.Value.Value(), - "interval.ms": metric.Interval.Milliseconds(), - "timestamp": element.Timestamp, - } - if element.Attributes != nil { - nrmetric["attributes"] = element.Attributes - } - case model.Summary: - //TODO: implement summary metrics - default: - // Skip this metric - continue - } - - if element.Attributes != nil { - nrmetric["attributes"] = element.Attributes - } - metrics = append(metrics, nrmetric) - } - } - - metricModel := []any{ - map[string]any{ - "metrics": metrics, - }, - } - - return json.Marshal(metricModel) -} - -func intoNrLog(meltData []model.MeltModel) ([]byte, error) { - logs := make([]map[string]any, 0) - for _, element := range meltData { - log, ok := element.Log() - if ok { - nrlog := map[string]any{ - "message": log.Message, - "timestamp": element.Timestamp, - "logtype": log.Type, - } - if element.Attributes != nil { - nrlog["attributes"] = element.Attributes - } - logs = append(logs, nrlog) - } - } - - logModel := []any{ - map[string]any{ - "logs": logs, - }, - } - - return json.Marshal(logModel) -} - -func gzipString(inputData string) ([]byte, error) { - var b bytes.Buffer - gz := gzip.NewWriter(&b) - if _, err := gz.Write([]byte(inputData)); err != nil { - return nil, err - } - if err := gz.Close(); err != nil { - return nil, err - } - return b.Bytes(), nil -} - -func nrApiRequest(pipeConf config.PipelineConfig, jsonModel []byte, endpoint string) error { - apiKey, ok := pipeConf.GetString("nr_api_key") - if !ok { - return errors.New("'nr_api_key' not found in the pipeline config") - } - headers := map[string]string{ - "Api-Key": apiKey, - "Content-Type": "application/json", - "Content-Encoding": "gzip", - } - - gzipBody, errGzip := gzipString(string(jsonModel)) - if errGzip != nil { - log.Error("Error compressing body = ", errGzip) - return errGzip - } - - connector := connect.MakeHttpPostConnector(endpoint, gzipBody, headers) - response, errReq := connector.Request() - if errReq.Err != nil { - log.Error("Error sending request to NR API = ", errReq) - return errReq.Err - } - - log.Print("Response from NR API = ", string(response)) - - return nil -} diff --git a/pkg/export/nrinfra.go b/pkg/export/nrinfra.go deleted file mode 100644 index 1b5d483..0000000 --- a/pkg/export/nrinfra.go +++ /dev/null @@ -1,163 +0,0 @@ -package export - -import ( - "fmt" - "newrelic/multienv/pkg/config" - "newrelic/multienv/pkg/model" - "strconv" - "time" - - log "github.com/sirupsen/logrus" - - "github.com/newrelic/infra-integrations-sdk/v4/data/event" - "github.com/newrelic/infra-integrations-sdk/v4/data/metric" - "github.com/newrelic/infra-integrations-sdk/v4/integration" -) - -const NrInfraInventory = "NrInfraInventory" - -// Inventory model to insert into a MeltModel (as Custom MeltType) -type NrInfraInventoryData struct { - key string - field string - value any -} - -// Build a MeltModel with a custom NrInfraInventoryData -func MakeInventory(key string, field string, value any) model.MeltModel { - data := NrInfraInventoryData{ - key: key, - field: field, - value: value, - } - return model.MakeCustom(NrInfraInventory, data, time.Now()) -} - -func exportNrInfra(pipeConf config.PipelineConfig, data []model.MeltModel) error { - log.Print("------> NR Infra Exporter = ", data) - - name, ok := pipeConf.GetString("name") - if !ok { - name = "InfraIntegration" - } - - version, ok := pipeConf.GetString("version") - if !ok { - version = "0.1.0" - } - - // Create integration - i, err := integration.New(name, version) - if err != nil { - log.Error("Error creating Nr Infra integration", err) - return err - } - - entityName, ok := pipeConf.GetString("entity_name") - if !ok { - entityName = "EntityName" - } - - entityType, ok := pipeConf.GetString("entity_type") - if !ok { - entityType = "EntityType" - } - - entityDisplay, ok := pipeConf.GetString("entity_display") - if !ok { - entityDisplay = "EntityDisplay" - } - - // Create entity - entity, err := i.NewEntity(entityName, entityType, entityDisplay) - if err != nil { - log.Error("Error creating entity", err) - return err - } - - for _, d := range data { - if d.Type == model.Event || d.Type == model.Log { - ev, ok := d.Event() - if ok { - nriEv, err := event.New(time.UnixMilli(d.Timestamp), "Event of type "+ev.Type, ev.Type) - nriEv.Attributes = d.Attributes - if err != nil { - log.Error("Error creating event", err) - } else { - entity.AddEvent(nriEv) - } - } - } else if d.Type == model.Metric { - m, ok := d.Metric() - if ok { - switch m.Type { - case model.Gauge: - gauge, err := integration.Gauge(time.UnixMilli(d.Timestamp), m.Name, m.Value.Float()) - addAttributes(&d, &gauge) - if err != nil { - log.Error("Error creating gauge metric", err) - } else { - entity.AddMetric(gauge) - } - case model.Count, model.CumulativeCount: - //TODO: NO TIME INTERVAL??? - count, err := integration.Count(time.UnixMilli(d.Timestamp), m.Name, m.Value.Float()) - addAttributes(&d, &count) - if err != nil { - log.Error("Error creating count metric", err) - } else { - entity.AddMetric(count) - } - case model.Summary: - //TODO - } - } - } else if d.Type == model.Custom { - inv, ok := d.Custom() - if ok { - if inv.Id == NrInfraInventory { - dat, ok := inv.Data.(NrInfraInventoryData) - if ok { - entity.AddInventoryItem(dat.key, dat.field, dat.value) - } else { - log.Error("Custom data should be of type NrInfraInventoryData") - } - } else { - log.Warn("Ignored data, not NrInfraInventory") - } - } - } else { - log.Warn("Ignored data, not a metric, event or log: ", d) - } - } - - i.AddEntity(entity) - - err = i.Publish() - if err != nil { - log.Error("Error publishing", err) - return err - } - - return nil -} - -func addAttributes(model *model.MeltModel, metric *metric.Metric) { - for k, v := range model.Attributes { - switch val := v.(type) { - case string: - (*metric).AddDimension(k, val) - case int: - (*metric).AddDimension(k, strconv.Itoa(val)) - case float32: - (*metric).AddDimension(k, strconv.FormatFloat(float64(val), 'f', 2, 32)) - case float64: - (*metric).AddDimension(k, strconv.FormatFloat(val, 'f', 2, 32)) - case fmt.Stringer: - (*metric).AddDimension(k, val.String()) - default: - log.Warn("Attribute of unsupported type: ", k, v) - } - - } -} diff --git a/pkg/export/otel.go b/pkg/export/otel.go deleted file mode 100644 index 7c96799..0000000 --- a/pkg/export/otel.go +++ /dev/null @@ -1,402 +0,0 @@ -package export - -import ( - "encoding/json" - "newrelic/multienv/pkg/config" - "newrelic/multienv/pkg/connect" - "newrelic/multienv/pkg/model" - - log "github.com/sirupsen/logrus" -) - -//// OTel data model for Logs - -type otelLogsData struct { - ResourceLogs []otelResourceLog `json:"resourceLogs"` -} - -type otelResourceLog struct { - //TODO: add "resource" model - ScopeLogs []otelScopeLog `json:"scopeLogs"` -} - -type otelScopeLog struct { - //TODO: add "scope" model - LogRecords []otelLogRecord `json:"logRecords"` -} - -type otelLogRecord struct { - TimeUnixNano int64 `json:"timeUnixNano"` - ObservedTimeUnixNano int64 `json:"observedTimeUnixNano"` - SeverityText string `json:"severityText"` - Body stringAttribute `json:"body"` - Attributes []attribute `json:"attributes"` -} - -//// OTel data model for Metrics - -type otelMetricsData struct { - ResourceMetrics []otelResourceMetrics `json:"resourceMetrics"` -} - -type otelResourceMetrics struct { - //TODO: add "resource" model - ScopeMetrics []otelScopeMetrics `json:"scopeMetrics"` -} - -type otelScopeMetrics struct { - //TODO: add "scope" model - Metrics []any `json:"metrics"` -} - -type otelMetricSum struct { - Name string `json:"name"` - Sum otelMetricSumData `json:"sum"` -} - -type otelAggrTemp int - -const ( - AggrTempUnspecified otelAggrTemp = 0 - AggrTempDelta otelAggrTemp = 1 - AggrTempCumulative otelAggrTemp = 2 -) - -type otelMetricSumData struct { - AggregationTemporality otelAggrTemp `json:"aggregationTemporality"` - IsMonotonic bool `json:"isMonotonic"` - DataPoints []otelNumberDataPoint `json:"dataPoints"` -} - -type otelMetricGauge struct { - Name string `json:"name"` - Gauge otelMetricGaugeData `json:"gauge"` -} - -type otelMetricGaugeData struct { - DataPoints []otelNumberDataPoint `json:"dataPoints"` -} - -type otelNumberDataPoint struct { - //TODO: also include AsInt - AsDouble float64 `json:"asDouble"` - TimeUnixNano int64 `json:"timeUnixNano"` - StartTimeUnixNano int64 `json:"startTimeUnixNano,omitempty"` - Attributes []attribute `json:"attributes"` -} - -//TODO: summary metric model - -//// Common OTel models - -//TODO: resource model -//TODO: scope model - -type attribute struct { - Key string `json:"key"` - Value any `json:"value"` -} - -type stringAttribute struct { - StringValue string `json:"stringValue"` -} - -type intAttribute struct { - IntValue int64 `json:"intValue"` -} - -type doubleAttribute struct { - DoubleValue float64 `json:"doubleValue"` -} - -type boolAttribute struct { - BoolValue bool `json:"boolValue"` -} - -func exportOtel(pipeConf config.PipelineConfig, data []model.MeltModel) error { - metrics := make([]model.MeltModel, 0) - logs := make([]model.MeltModel, 0) - - for _, m := range data { - switch m.Type { - case model.Metric: - metrics = append(metrics, m) - case model.Event, model.Log: - logs = append(logs, m) - case model.Trace: - //TODO: append traces - } - } - - if len(metrics) > 0 { - err := exportOtelMetrics(pipeConf, metrics) - if err != nil { - return err - } - } - - if len(logs) > 0 { - err := exportOtelLogs(pipeConf, logs) - if err != nil { - return err - } - } - - return nil -} - -func exportOtelMetrics(pipeConf config.PipelineConfig, data []model.MeltModel) error { - log.Print("------> OpenTelemetry Metric Exporter = ", data) - - metrics := make([]any, 0) - - // Generate metrics - for _, d := range data { - m, _ := d.Metric() - switch m.Type { - case model.Gauge: - gauge := buildOtelGaugeMetric(d) - metrics = append(metrics, gauge) - case model.Count: - count := buildOtelCountMetric(d) - metrics = append(metrics, count) - case model.CumulativeCount: - count := buildOtelCumulCountMetric(d) - metrics = append(metrics, count) - case model.Summary: - //TODO - } - } - - metricData := otelMetricsData{ - ResourceMetrics: []otelResourceMetrics{ - { - ScopeMetrics: []otelScopeMetrics{ - { - Metrics: metrics, - }, - }, - }, - }, - } - - jsonData, err := json.Marshal(metricData) - if err != nil { - return err - } - - log.Print("Metric data in JSON = ", string(jsonData)) - - return otlpMetricRequest(pipeConf, jsonData) -} - -func buildOtelGaugeMetric(melt model.MeltModel) otelMetricGauge { - metric, _ := melt.Metric() - return otelMetricGauge{ - Name: metric.Name, - Gauge: otelMetricGaugeData{ - DataPoints: []otelNumberDataPoint{ - { - AsDouble: metric.Value.Float(), - TimeUnixNano: melt.Timestamp * 1000000, - StartTimeUnixNano: 0, - Attributes: convertAttributes(melt.Attributes), - }, - }, - }, - } -} - -func buildOtelCountMetric(melt model.MeltModel) otelMetricSum { - metric, _ := melt.Metric() - return otelMetricSum{ - Name: metric.Name, - Sum: otelMetricSumData{ - IsMonotonic: true, - AggregationTemporality: AggrTempDelta, - DataPoints: []otelNumberDataPoint{ - { - AsDouble: metric.Value.Float(), - TimeUnixNano: melt.Timestamp * 1000000, - StartTimeUnixNano: (melt.Timestamp - metric.Interval.Milliseconds()) * 1000000, - Attributes: convertAttributes(melt.Attributes), - }, - }, - }, - } -} - -func buildOtelCumulCountMetric(melt model.MeltModel) otelMetricSum { - metric, _ := melt.Metric() - return otelMetricSum{ - Name: metric.Name, - Sum: otelMetricSumData{ - IsMonotonic: true, - AggregationTemporality: AggrTempCumulative, - DataPoints: []otelNumberDataPoint{ - { - AsDouble: metric.Value.Float(), - TimeUnixNano: melt.Timestamp * 1000000, - Attributes: convertAttributes(melt.Attributes), - }, - }, - }, - } -} - -func exportOtelLogs(pipeConf config.PipelineConfig, data []model.MeltModel) error { - log.Print("------> OpenTelemetry Log Exporter = ", data) - - logRecords := []otelLogRecord{} - for _, d := range data { - l, _ := d.Log() - logRecord := otelLogRecord{ - TimeUnixNano: d.Timestamp * 1000000, - ObservedTimeUnixNano: d.Timestamp * 1000000, - SeverityText: l.Type, - Body: stringAttribute{ - StringValue: l.Message, - }, - Attributes: convertAttributes(d.Attributes), - } - logRecords = append(logRecords, logRecord) - } - - logsData := otelLogsData{ - ResourceLogs: []otelResourceLog{ - { - ScopeLogs: []otelScopeLog{ - { - LogRecords: logRecords, - }, - }, - }, - }, - } - - jsonData, err := json.Marshal(logsData) - if err != nil { - return err - } - - log.Print("Logs data in JSON = ", string(jsonData)) - - return otlpLogRequest(pipeConf, jsonData) -} - -func convertAttributes(attr map[string]any) []attribute { - attrArr := []attribute{} - for k, v := range attr { - switch v := v.(type) { - case string: - a := attribute{ - Key: k, - Value: stringAttribute{ - StringValue: v, - }, - } - attrArr = append(attrArr, a) - case int: - a := attribute{ - Key: k, - Value: intAttribute{ - IntValue: int64(v), - }, - } - attrArr = append(attrArr, a) - case float64: - a := attribute{ - Key: k, - Value: doubleAttribute{ - DoubleValue: v, - }, - } - attrArr = append(attrArr, a) - case bool: - a := attribute{ - Key: k, - Value: boolAttribute{ - BoolValue: v, - }, - } - attrArr = append(attrArr, a) - } - } - return attrArr -} - -func otlpMetricRequest(pipeConf config.PipelineConfig, jsonModel []byte) error { - endpoint, ok := pipeConf.GetString("otel_metric_endpoint") - if !ok { - endpoint = getOtelScheme(pipeConf) + "://" + getOtelEndpoint(pipeConf) + "/v1/metrics" - } - return otlpRequest(pipeConf, jsonModel, endpoint) -} - -func otlpLogRequest(pipeConf config.PipelineConfig, jsonModel []byte) error { - endpoint, ok := pipeConf.GetString("otel_log_endpoint") - if !ok { - endpoint = getOtelScheme(pipeConf) + "://" + getOtelEndpoint(pipeConf) + "/v1/logs" - } - return otlpRequest(pipeConf, jsonModel, endpoint) -} - -func otlpRequest(pipeConf config.PipelineConfig, jsonModel []byte, endpoint string) error { - headers := getOtelHeaders(pipeConf) - headers["Content-Type"] = "application/json" - headers["Content-Encoding"] = "gzip" - - gzipBody, errGzip := gzipString(string(jsonModel)) - if errGzip != nil { - log.Error("Error compressing body = ", errGzip) - return errGzip - } - - connector := connect.MakeHttpPostConnector(endpoint, gzipBody, headers) - response, errReq := connector.Request() - if errReq.Err != nil { - log.Error("Error sending request to OTel collector = ", errReq) - return errReq.Err - } - - log.Print("Response from OTel collector = ", string(response)) - - return nil -} - -func getOtelEndpoint(pipeConf config.PipelineConfig) string { - endpoint, ok := pipeConf.GetString("otel_endpoint") - if ok { - return endpoint - } else { - log.Warn("'otel_endpoint' not specified, fallback to 'otlp.nr-data.net:4318'") - return "otlp.nr-data.net:4318" - } -} - -func getOtelScheme(pipeConf config.PipelineConfig) string { - scheme, ok := pipeConf.GetString("otel_scheme") - if ok { - return scheme - } else { - return "https" - } -} - -func getOtelHeaders(pipeConf config.PipelineConfig) map[string]string { - any_headers, ok := pipeConf.GetMap("otel_headers") - if ok { - headers := map[string]string{} - for k, v := range any_headers { - switch v := v.(type) { - case string: - headers[k] = v - default: - log.Warn("Found a non string value in 'otel_headers', ignoring") - } - } - return headers - } else { - return map[string]string{} - } -} diff --git a/pkg/export/prom.go b/pkg/export/prom.go deleted file mode 100644 index b696f1d..0000000 --- a/pkg/export/prom.go +++ /dev/null @@ -1,149 +0,0 @@ -package export - -import ( - "context" - "errors" - "fmt" - "newrelic/multienv/pkg/config" - "newrelic/multienv/pkg/model" - "regexp" - "strconv" - "time" - - "github.com/castai/promwrite" - - log "github.com/sirupsen/logrus" -) - -func exportProm(pipeConf config.PipelineConfig, data []model.MeltModel) error { - log.Print("------> Prometheus Exporter = ", data) - - endpoint, ok := pipeConf.GetString("prom_endpoint") - if !ok { - return errors.New("Config key 'prom_endpoint' doesn't exist") - } - - metrics := make([]promwrite.TimeSeries, 0) - - for _, m := range data { - switch m.Type { - case model.Metric: - timeSeries, ok := metricIntoProm(m) - if ok { - metrics = append(metrics, timeSeries) - } else { - log.Warn("Metric can't be converted to Prometheus format") - } - default: - log.Warn("Data sample is not a metric, can't be sent to Prometheus") - } - } - - if len(metrics) == 0 { - return nil - } - - promHeaders := getPromHeaders(pipeConf) - credentials, ok_credentials := pipeConf.GetString("prom_credentials") - if ok_credentials { - promHeaders["Authorization"] = "Bearer " + credentials - } - - client := promwrite.NewClient(endpoint) - resp, err := client.Write(context.Background(), &promwrite.WriteRequest{TimeSeries: metrics}, promwrite.WriteHeaders(promHeaders)) - - if err != nil { - return err - } - - log.Print("Prom response = ", resp) - - return nil -} - -func metricIntoProm(melt model.MeltModel) (promwrite.TimeSeries, bool) { - metric, ok := melt.Metric() - if !ok { - return promwrite.TimeSeries{}, false - } - - labels := attributesToPromLabels(melt.Attributes) - labels = append(labels, promwrite.Label{ - Name: "__name__", - Value: nameToProm(metric.Name), - }) - - switch metric.Type { - // We are just ignoring the interval, because prometheus doesn't support delta counters - case model.Gauge, model.Count, model.CumulativeCount: - return promwrite.TimeSeries{ - Labels: labels, - Sample: promwrite.Sample{ - Time: time.UnixMilli(melt.Timestamp), - Value: metric.Value.Float(), - }, - }, true - default: - return promwrite.TimeSeries{}, false - } -} - -func attributesToPromLabels(attr map[string]any) []promwrite.Label { - labels := []promwrite.Label{} - for k, v := range attr { - switch val := v.(type) { - case string: - labels = append(labels, promwrite.Label{ - Name: nameToProm(k), - Value: val, - }) - case int: - labels = append(labels, promwrite.Label{ - Name: nameToProm(k), - Value: strconv.Itoa(val), - }) - case float32: - labels = append(labels, promwrite.Label{ - Name: nameToProm(k), - Value: strconv.FormatFloat(float64(val), 'f', 2, 32), - }) - case float64: - labels = append(labels, promwrite.Label{ - Name: nameToProm(k), - Value: strconv.FormatFloat(val, 'f', 2, 32), - }) - case fmt.Stringer: - labels = append(labels, promwrite.Label{ - Name: nameToProm(k), - Value: val.String(), - }) - default: - log.Warn("Attribute of unsupported type: ", k, v) - } - } - return labels -} - -// Convert name into prometheus naming conventions: only allow [a-zA-Z0-9_:] -func nameToProm(name string) string { - namePattern := regexp.MustCompile(`[^a-zA-Z0-9_:]`) - return string(namePattern.ReplaceAll([]byte(name), []byte("_"))) -} - -func getPromHeaders(pipeConf config.PipelineConfig) map[string]string { - any_headers, ok := pipeConf.GetMap("prom_headers") - if ok { - headers := map[string]string{} - for k, v := range any_headers { - switch v := v.(type) { - case string: - headers[k] = v - default: - log.Warn("Found a non string value in 'prom_headers', ignoring") - } - } - return headers - } else { - return map[string]string{} - } -} diff --git a/pkg/model/event.go b/pkg/model/event.go deleted file mode 100644 index 608925d..0000000 --- a/pkg/model/event.go +++ /dev/null @@ -1,20 +0,0 @@ -package model - -import "time" - -// Event model variant. -type EventModel struct { - Type string -} - -// Make a event. -func MakeEvent(evType string, attributes map[string]any, timestamp time.Time) MeltModel { - return MeltModel{ - Type: Event, - Timestamp: timestamp.UnixMilli(), - Attributes: attributes, - Data: EventModel{ - Type: evType, - }, - } -} diff --git a/pkg/model/log.go b/pkg/model/log.go deleted file mode 100644 index ac3cdb0..0000000 --- a/pkg/model/log.go +++ /dev/null @@ -1,23 +0,0 @@ -package model - -import ( - "time" -) - -// Log model variant. -type LogModel struct { - Message string - Type string -} - -// Make a log. -func MakeLog(message string, logType string, timestamp time.Time) MeltModel { - return MeltModel{ - Type: Log, - Timestamp: timestamp.UnixMilli(), - Data: LogModel{ - Message: message, - Type: logType, - }, - } -} diff --git a/pkg/model/metric.go b/pkg/model/metric.go deleted file mode 100644 index 160fc9b..0000000 --- a/pkg/model/metric.go +++ /dev/null @@ -1,64 +0,0 @@ -package model - -import "time" - -type MetricType int - -const ( - Gauge MetricType = iota - Count - CumulativeCount - Summary - // TODO: add histogram metric type -) - -// Metric model variant. -type MetricModel struct { - Name string - Type MetricType - Value Numeric - Interval time.Duration - //TODO: summary and histogram metric data model -} - -// Make a gauge metric. -func MakeGaugeMetric(name string, value Numeric, timestamp time.Time) MeltModel { - return MeltModel{ - Type: Metric, - Timestamp: timestamp.UnixMilli(), - Data: MetricModel{ - Name: name, - Type: Gauge, - Value: value, - }, - } -} - -// Make a delta count metric. -func MakeCountMetric(name string, value Numeric, interval time.Duration, timestamp time.Time) MeltModel { - return MeltModel{ - Type: Metric, - Timestamp: timestamp.UnixMilli(), - Data: MetricModel{ - Name: name, - Type: Count, - Value: value, - Interval: interval, - }, - } -} - -// Make a cumulative count metric. -func MakeCumulativeCountMetric(name string, value Numeric, timestamp time.Time) MeltModel { - return MeltModel{ - Type: Metric, - Timestamp: timestamp.UnixMilli(), - Data: MetricModel{ - Name: name, - Type: CumulativeCount, - Value: value, - }, - } -} - -//TODO: make summary metric diff --git a/pkg/model/model.go b/pkg/model/model.go deleted file mode 100644 index 97e52c0..0000000 --- a/pkg/model/model.go +++ /dev/null @@ -1,223 +0,0 @@ -package model - -import ( - "encoding/json" - "errors" - "strconv" - "time" - - log "github.com/sirupsen/logrus" - - "github.com/mitchellh/mapstructure" -) - -type MeltType int - -const ( - Metric MeltType = iota - Event - Log - Trace - Custom -) - -// Intermediate model. -type MeltModel struct { - Type MeltType - // Unix timestamp in millis. - Timestamp int64 - Attributes map[string]any - // Either a MetricModel, EventModel, LogModel, TraceModel or CustomModel. - Data any -} - -// Custom model variant. -type CustomModel struct { - Id string - Data any -} - -// Make a custom model. -func MakeCustom(id string, data any, timestamp time.Time) MeltModel { - return MeltModel{ - Type: Custom, - Timestamp: timestamp.UnixMilli(), - Data: CustomModel{ - Id: id, - Data: data, - }, - } -} - -func (receiver *MeltModel) UnmarshalJSON(data []byte) error { - var dict map[string]any - err := json.Unmarshal(data, &dict) - if err != nil { - return err - } - - var model MeltModel - err = mapstructure.Decode(dict, &model) - if err != nil { - return err - } - - meltData := model.Data.(map[string]any) - switch model.Type { - case Metric: - var metricModel MetricModel - err := mapstructure.Decode(meltData, &metricModel) - if err != nil { - return err - } - model.Data = metricModel - case Event: - var eventModel EventModel - err := mapstructure.Decode(meltData, &eventModel) - if err != nil { - return err - } - model.Data = eventModel - case Log: - var logModel LogModel - err := mapstructure.Decode(meltData, &logModel) - if err != nil { - return err - } - model.Data = logModel - case Trace: - //TODO: unmarshal Trace model - - //TODO: Unmarshal Custom model - - default: - return errors.New("'Type' contains an invalid value " + strconv.Itoa(int(model.Type))) - } - - *receiver = model - return nil -} - -func (m *MeltModel) Metric() (MetricModel, bool) { - model, ok := m.Data.(MetricModel) - return model, ok -} - -// Event obtains an EventModel from the MeltModel. -// If the inner data is a LogModel, it will be converted into an EventModel. -// This transformation may cause data loss: if the Log had a key in `Attributes` named "message", it will be overwritten -// with the contents of the `Message` field. -func (m *MeltModel) Event() (EventModel, bool) { - if m.Type == Log { - // Convert Log into an Event - logModel := m.Data.(LogModel) - model := EventModel{ - Type: logModel.Type, - } - if m.Attributes == nil { - m.Attributes = map[string]any{} - } - // Warning: if the log already had an attribute named "message", it will be overwritten - if _, ok := m.Attributes["message"]; ok { - log.Warn("Log2Event: Log already had an attribute named 'message', overwriting it") - } - m.Attributes["message"] = logModel.Message - return model, true - } else { - model, ok := m.Data.(EventModel) - return model, ok - } -} - -// Log obtains a LogModel from the MeltModel. -// If the inner data is an EventModel, it will be converted into a LogModel. -// If the Event doesn't have a key in `Attributes` named "message", the `Message` field will remain empty. -func (m *MeltModel) Log() (LogModel, bool) { - if m.Type == Event { - message, ok := m.Attributes["message"].(string) - if ok { - delete(m.Attributes, "message") - } - eventModel, _ := m.Data.(EventModel) - model := LogModel{ - Type: eventModel.Type, - Message: message, - } - return model, true - } else { - model, ok := m.Data.(LogModel) - return model, ok - } -} - -func (m *MeltModel) Trace() (TraceModel, bool) { - model, ok := m.Data.(TraceModel) - return model, ok -} - -func (m *MeltModel) Custom() (CustomModel, bool) { - model, ok := m.Data.(CustomModel) - return model, ok -} - -// Numeric model. -type Numeric struct { - IntOrFlt bool // true = Int, false = Float - IntVal int64 - FltVal float64 -} - -// Numeric holds an integer. -func (n *Numeric) IsInt() bool { - return n.IntOrFlt -} - -// Numeric holds a float. -func (n *Numeric) IsFloat() bool { - return !n.IntOrFlt -} - -// Get float from Numeric. -func (n *Numeric) Float() float64 { - if n.IsFloat() { - return n.FltVal - } else { - return float64(n.IntVal) - } -} - -// Get int from Numeric. -func (n *Numeric) Int() int64 { - if n.IsInt() { - return n.IntVal - } else { - return int64(n.FltVal) - } -} - -// Get whatever it is. -func (n *Numeric) Value() any { - if n.IsInt() { - return n.IntVal - } else { - return n.FltVal - } -} - -// Make a Numeric from an int64. -func MakeIntNumeric(val int64) Numeric { - return Numeric{ - IntOrFlt: true, - IntVal: val, - FltVal: 0.0, - } -} - -// Make a Numeric from a float64. -func MakeFloatNumeric(val float64) Numeric { - return Numeric{ - IntOrFlt: false, - IntVal: 0, - FltVal: val, - } -} diff --git a/pkg/model/trace.go b/pkg/model/trace.go deleted file mode 100644 index 41d39ac..0000000 --- a/pkg/model/trace.go +++ /dev/null @@ -1,8 +0,0 @@ -package model - -// Trace model variant. -type TraceModel struct { - // TODO: define trace model -} - -//TODO: MakeTrace

bdzTsaJtf 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