diff --git a/.github/workflows/build_release_artifacts.yaml b/.github/workflows/build_release_artifacts.yaml index d4215540..6f508ce1 100644 --- a/.github/workflows/build_release_artifacts.yaml +++ b/.github/workflows/build_release_artifacts.yaml @@ -77,6 +77,21 @@ jobs: run: | docker run -v ${{ github.workspace }}:/src/ -w /src/ --platform linux/${{ matrix.arch }} aerospike.jfrog.io/devops-containers-prod-local/fpm-${{ matrix.container }} ${{ matrix.cmd }} + - name: Build tar files + id: build-tar-artifact + run: | + make tar GOOS=linux GOARCH=amd64 ARCH=x86_64 + make tar GOOS=linux GOARCH=arm64 ARCH=aarch64 + + - name: gzip tar files + run: | + cd pkg/target + ls -lrt *.tar + echo "GZipping tar files" + gzip aerospike-prometheus-exporter*.tar + echo "gzipped files" + ls -lrt *.gz + - name: Upload Release Asset env: GH_TOKEN: ${{ github.token }} @@ -97,3 +112,66 @@ jobs: echo ls -lst pkg/target/* + tar_job: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - uses: actions-ecosystem/action-get-latest-tag@v1 + id: get-latest-tag + + - uses: actions/setup-ruby@v1 + with: + ruby-version: '3.x' + - run: gem install fpm --no-document + + - name: Set up Go + uses: actions/setup-go@v3 + with: + go-version: 1.20.2 + + - name: go mod tidy + run: | + dpkg-architecture -q DEB_BUILD_ARCH + (git describe --tags --always --abbrev=0 | cut -c 1-) + go mod tidy + + - name: Build tar files + id: build-tar-artifact + run: | + echo "Current working directory ".$PWD + echo + echo "Build Directory is ".$BUILD_DIR + make tar GOOS=linux GOARCH=amd64 ARCH=x86_64 + make tar GOOS=linux GOARCH=arm64 ARCH=aarch64 + + - name: gzip tar files + run: | + cd pkg/target + ls -lrt *.tar + echo "GZipping tar files" + gzip aerospike-prometheus-exporter*.tar + echo "gzipped files" + ls -lrt *.gz + + - name: Upload Release Asset + env: + GH_TOKEN: ${{ github.token }} + TAG_NAME: "${{ steps.get-latest-tag.outputs.tag }}" + run: | + # echo "tag_name $TAG_NAME" + echo + + files=$(find pkg/target -type f -name "aerospike-prome*" -printf "$(realpath -s %p) ") + + for file in $files; do + echo "uploading file === $file to release-tag $TAG_NAME" + gh release upload "$TAG_NAME" "$file" + done + + echo + echo "lising of files ... " + echo + ls -lst pkg/target/* diff --git a/Dockerfile b/Dockerfile index fbecabfc..7fdbc2fb 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,14 +4,14 @@ ARG VERSION=1.10.0 ADD . $GOPATH/src/github.com/aerospike/aerospike-prometheus-exporter WORKDIR $GOPATH/src/github.com/aerospike/aerospike-prometheus-exporter -RUN go build -ldflags="-X 'main.version=$VERSION'" -o aerospike-prometheus-exporter . \ +RUN go build -ldflags="-X 'main.version=$VERSION'" -o aerospike-prometheus-exporter ./cmd \ && cp aerospike-prometheus-exporter /aerospike-prometheus-exporter FROM alpine:latest COPY --from=builder /aerospike-prometheus-exporter /usr/bin/aerospike-prometheus-exporter -COPY ape.toml.template /etc/aerospike-prometheus-exporter/ape.toml.template -COPY gauge_stats_list.toml /etc/aerospike-prometheus-exporter/gauge_stats_list.toml +COPY configs/ape.toml.template /etc/aerospike-prometheus-exporter/ape.toml.template +COPY configs/gauge_stats_list.toml /etc/aerospike-prometheus-exporter/gauge_stats_list.toml COPY docker-entrypoint.sh /docker-entrypoint.sh RUN chmod -R a+rwX /etc/aerospike-prometheus-exporter diff --git a/Makefile b/Makefile index a145e336..c8f74f8c 100644 --- a/Makefile +++ b/Makefile @@ -6,7 +6,7 @@ include Makefile.vars .PHONY: exporter exporter: @echo $(GO_FIPS) - $(GO_ENV_VARS) GOEXPERIMENT=$(GO_FIPS) go build -ldflags="-X 'main.version=$(VERSION)'" -o aerospike-prometheus-exporter . + $(GO_ENV_VARS) GOEXPERIMENT=$(GO_FIPS) go build -ldflags="-X 'main.version=$(VERSION)'" -o aerospike-prometheus-exporter ./cmd .PHONY: fipsparam fipsparam: @@ -31,7 +31,8 @@ lint: .PHONY: test test: ## Run all the test-cases defined in this folder. - go test -v ./... + ## for verbose mode use go test -v ./... + go test ./... # Builds RPM, DEB and TAR packages # Requires FPM package manager diff --git a/README.md b/README.md index 87b9d730..e945e1df 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ We appreciate feedback from community members on the [issues](https://github.com #### Pre Requisites -- Install Go v1.17+ +- Install Go v1.20+ #### Steps @@ -235,20 +235,45 @@ make release-docker-multi-arch labels={zone="asia-south1-a", platform="google compute engine"} ``` +- Update exporter's cloud_provider to get few cloud details - region, availability-zone or location. + ```toml + [Agent] + + # supported cloud provider values are - AWS, Azure and GCP + cloud_provider = aws + ``` + +- Update exporter's refresh_system_stats to get few system metrics like open-filefd, memory, network recv/trans packets etc., + ```toml + [Agent] + + refresh_system_stats = true + ``` + +- Update exporter's OTel configuration to send metrics to a gRPC end-point (NOTE: only gRPC endpoint is supported for now) + ```toml + [Agent] + OPEN_TELEMETRY = true + + [Agen.OpenTelemetry] + ``` + - Use allowlist and blocklist to filter out required metrics (optional). The allowlist and blocklist supports standard wildcards (globbing patterns which include - `? (question mark)`, `* (asterisk)`, `[ ] (square brackets)`, `{ } (curly brackets)`, `[!]` and `\ (backslash)`) for bulk metrics filtering. For example, ```toml [Aerospike] - # Metrics Allowlist - If specified, only these metrics will be scraped. An empty list will exclude all metrics. + # Metrics Allowlist - If specified, only these metrics will be scraped. An empty list will include all metrics. # Commenting out the below allowlist configs will disable metrics filtering (i.e. all metrics will be scraped). # Namespace metrics allowlist namespace_metrics_allowlist=[ "client_read_[a-z]*", "stop_writes", - "storage-engine.file.defrag_q", + "storage-engine.file*", + "storage-engine.file\\[*\\].*", + "storage-engine.file*defrag_q", "client_write_success", - "memory_*_bytes", + "*memory-pct", "objects", "*_available_pct" ] @@ -275,18 +300,6 @@ make release-docker-multi-arch "lap_us" ] - # Job (scans/queries) metrics allowlist - job_metrics_allowlist = [ - "rps", - "active-threads", - "job-progress", - "run-time", - "recs-throttled", - "recs-succeeded", - "recs-failed", - "net-io-bytes" - ] - # Secondary index metrics allowlist sindex_metrics_allowlist = [ "entries", @@ -317,9 +330,6 @@ make release-docker-multi-arch # XDR metrics blocklist (only for Aerospike versions 5.0 and above) # xdr_metrics_blocklist=[] - # Job (scans/queries) metrics blocklist - # job_metrics_blocklist = [] - # Secondary index metrics blocklist # sindex_metrics_blocklist = [] ``` diff --git a/aerospike_stat.go b/aerospike_stat.go deleted file mode 100644 index 5f86c428..00000000 --- a/aerospike_stat.go +++ /dev/null @@ -1,49 +0,0 @@ -package main - -import "github.com/prometheus/client_golang/prometheus" - -type AerospikeStat struct { - context ContextType - name string - mType metricType - isAllowed bool -} - -/** - * Constructs Prometheus parameters required which are needed to push metrics to Prometheus - */ - -func (as *AerospikeStat) makePromMetric(pLabels ...string) (*prometheus.Desc, prometheus.ValueType) { - - qualifiedName := as.qualifyMetricContext() + "_" + normalizeMetric(as.name) - promDesc := prometheus.NewDesc( - qualifiedName, - normalizeDesc(as.name), - pLabels, - config.AeroProm.MetricLabels, - ) - - if as.mType == mtGauge { - return promDesc, prometheus.GaugeValue - } - - return promDesc, prometheus.CounterValue -} - -/** - * prefixs a Context with Aerospike qualifier - */ -func (as *AerospikeStat) qualifyMetricContext() string { - return PREFIX_AEROSPIKE + string(as.context) -} - -/* -Utility, constructs a new AerospikeStat object with required checks like is-allowed, metric-type -*/ -func newAerospikeStat(pContext ContextType, pStatName string) AerospikeStat { - - isAllowed := config.isMetricAllowed(pContext, pStatName) - mType := getMetricType(pContext, pStatName) - - return AerospikeStat{pContext, pStatName, mType, isAllowed} -} diff --git a/cmd/main.go b/cmd/main.go new file mode 100644 index 00000000..8405869e --- /dev/null +++ b/cmd/main.go @@ -0,0 +1,72 @@ +package main + +import ( + "flag" + "fmt" + "os" + + "github.com/aerospike/aerospike-prometheus-exporter/internal/pkg/config" + "github.com/aerospike/aerospike-prometheus-exporter/internal/pkg/executors" + + log "github.com/sirupsen/logrus" +) + +var ( + configFile = flag.String("config", "/etc/aerospike-prometheus-exporter/ape.toml", "Config File") + showUsage = flag.Bool("u", false, "Show usage information") + showVersion = flag.Bool("version", false, "Print version") + + version = "v1.9.0" + + // Gauge related + // + gaugeStatsFile = flag.String("gauge-list", "/etc/aerospike-prometheus-exporter/gauge_stats_list.toml", "Gauge stats File") + // gaugeStatHandler *GaugeStats +) + +func main() { + log.Infof("Welcome to Aerospike Prometheus Exporter %s", version) + parseCommandlineArgs() + + // initialize configs and gauge-stats + config.InitConfig(*configFile) + config.InitGaugeStats(*gaugeStatsFile) + + if config.Cfg.Agent.PrometheusEnabled { + startExecutor("prometheus") + } + if config.Cfg.Agent.OtelEnabled { + startExecutor("otel") + } + + select {} +} + +func startExecutor(mode string) { + metric_handlers := executors.GetExecutors() + + processor := metric_handlers[mode] + log.Infof("Starting metrics serving mode with '%s'", mode) + if processor != nil { + // start processor in a separate thread + go func() { + err := processor.Initialize() + if err != nil { + fmt.Println("Error while Initializing Processor ", err) + } + }() + } +} + +func parseCommandlineArgs() { + flag.Parse() + if *showUsage { + flag.Usage() + os.Exit(0) + } + + if *showVersion { + fmt.Println(version) + os.Exit(0) + } +} diff --git a/common.go b/common.go deleted file mode 100644 index 724e1091..00000000 --- a/common.go +++ /dev/null @@ -1,454 +0,0 @@ -package main - -import ( - "bytes" - "crypto/subtle" - "crypto/tls" - "crypto/x509" - "encoding/base64" - "encoding/pem" - "fmt" - "net/http" - "os" - "regexp" - "strconv" - "strings" - "unicode/utf8" - - "github.com/gobwas/glob" - "github.com/prometheus/client_golang/prometheus" - log "github.com/sirupsen/logrus" - - goversion "github.com/hashicorp/go-version" -) - -// this is used as a prefix to qualify a metric while pushing to Prometheus or something -var PREFIX_AEROSPIKE = "aerospike_" - -// used to define context of stat types (like namespace, set, xdr etc.,) -type ContextType string - -const ( - CTX_USERS ContextType = "users" - CTX_NAMESPACE ContextType = "namespace" - CTX_NODE_STATS ContextType = "node_stats" - CTX_SETS ContextType = "sets" - CTX_SINDEX ContextType = "sindex" - CTX_XDR ContextType = "xdr" - CTX_LATENCIES ContextType = "latencies" -) - -// below constant represent the labels we send along with metrics to Prometheus or something -const ( - METRIC_LABEL_CLUSTER_NAME = "cluster_name" - METRIC_LABEL_SERVICE = "service" - METRIC_LABEL_NS = "ns" - METRIC_LABEL_SET = "set" - METRIC_LABEL_LE = "le" - METRIC_LABEL_DC_NAME = "dc" - METRIC_LABEL_INDEX = "index" - METRIC_LABEL_SINDEX = "sindex" - METRIC_LABEL_STORAGE_ENGINE = "storage_engine" - METRIC_LABEL_USER = "user" -) - -// constants used to identify type of metrics -const ( - STORAGE_ENGINE = "storage-engine" - INDEX_TYPE = "index-type" - SINDEX_TYPE = "sindex-type" -) - -func makeMetric(namespace, name string, t metricType, constLabels map[string]string, labels ...string) promMetric { - promDesc := prometheus.NewDesc( - namespace+"_"+normalizeMetric(name), - normalizeDesc(name), - labels, - constLabels, - ) - - switch t { - case mtCounter: - return promMetric{ - origDesc: name, - desc: promDesc, - valueType: prometheus.CounterValue, - } - case mtGauge: - return promMetric{ - origDesc: name, - desc: promDesc, - valueType: prometheus.GaugeValue, - } - } - - panic("Should not reach here...") -} - -var descReplacerFunc = strings.NewReplacer("_", " ", "-", " ", ".", " ") - -func normalizeDesc(s string) string { - return descReplacerFunc.Replace(s) -} - -var metricReplacerFunc = strings.NewReplacer(".", "_", "-", "_", " ", "_") - -func normalizeMetric(s string) string { - return metricReplacerFunc.Replace(s) -} - -func parseStats(s, sep string) map[string]string { - stats := make(map[string]string, strings.Count(s, sep)+1) - s2 := strings.Split(s, sep) - for _, s := range s2 { - list := strings.SplitN(s, "=", 2) - switch len(list) { - case 0, 1: - case 2: - stats[list[0]] = list[1] - default: - stats[list[0]] = strings.Join(list[1:], "=") - } - } - - return stats -} - -func tryConvert(s string) (float64, error) { - if f, err := strconv.ParseFloat(s, 64); err == nil { - return f, nil - } - - if b, err := strconv.ParseBool(s); err == nil { - if b { - return 1, nil - } - return 0, nil - } - - return 0, fmt.Errorf("invalid value `%s`. Only Float or Boolean are accepted", s) -} - -// Check HTTP Basic Authentication. -// Validate username, password from the http request against the configured values. -func validateBasicAuth(r *http.Request, username string, password string) bool { - user, pass, ok := r.BasicAuth() - - if !ok || subtle.ConstantTimeCompare([]byte(user), []byte(username)) != 1 || subtle.ConstantTimeCompare([]byte(pass), []byte(password)) != 1 { - return false - } - - return true -} - -// Regex for indentifying globbing patterns (or standard wildcards) in the metrics allowlist and blocklist. -var globbingPattern = regexp.MustCompile(`\[|\]|\*|\?|\{|\}|\\|!`) - -// Filter metrics -// Runs the raw metrics through allowlist first and the resulting metrics through blocklist -func getFilteredMetrics(rawMetrics map[string]metricType, allowlist []string, allowlistEnabled bool, blocklist []string) map[string]metricType { - filteredMetrics := filterAllowedMetrics(rawMetrics, allowlist, allowlistEnabled) - filterBlockedMetrics(filteredMetrics, blocklist) - - return filteredMetrics -} - -// Filter metrics based on configured allowlist. -func filterAllowedMetrics(rawMetrics map[string]metricType, allowlist []string, allowlistEnabled bool) map[string]metricType { - if !allowlistEnabled { - return rawMetrics - } - - filteredMetrics := make(map[string]metricType) - - for _, stat := range allowlist { - if globbingPattern.MatchString(stat) { - ge := glob.MustCompile(stat) - - for k, v := range rawMetrics { - if ge.Match(k) { - filteredMetrics[k] = v - } - } - } else { - if val, ok := rawMetrics[stat]; ok { - filteredMetrics[stat] = val - } - } - } - - return filteredMetrics -} - -// Filter metrics based on configured blocklist. -func filterBlockedMetrics(filteredMetrics map[string]metricType, blocklist []string) { - if len(blocklist) == 0 { - return - } - - for _, stat := range blocklist { - if globbingPattern.MatchString(stat) { - ge := glob.MustCompile(stat) - - for k := range filteredMetrics { - if ge.Match(k) { - delete(filteredMetrics, k) - } - } - } else { - delete(filteredMetrics, stat) - } - } -} - -// Get secret -// secretConfig can be one of the following, -// 1. "" (secret directly) -// 2. "file:" (file containing secret) -// 3. "env:" (environment variable containing secret) -// 4. "env-b64:" (environment variable containing base64 encoded secret) -// 5. "b64:" (base64 encoded secret) -func getSecret(secretConfig string) ([]byte, error) { - secretSource := strings.SplitN(secretConfig, ":", 2) - - if len(secretSource) == 2 { - switch secretSource[0] { - case "file": - return readFromFile(secretSource[1]) - - case "env": - secret, ok := os.LookupEnv(secretSource[1]) - if !ok { - return nil, fmt.Errorf("environment variable %s not set", secretSource[1]) - } - - return []byte(secret), nil - - case "env-b64": - return getValueFromBase64EnvVar(secretSource[1]) - - case "b64": - return getValueFromBase64(secretSource[1]) - - default: - return nil, fmt.Errorf("invalid source: %s", secretSource[0]) - } - } - - return []byte(secretConfig), nil -} - -// Get certificate -// certConfig can be one of the following, -// 1. "" (certificate file path directly) -// 2. "file:" (certificate file path) -// 3. "env-b64:" (environment variable containing base64 encoded certificate) -// 4. "b64:" (base64 encoded certificate) -func getCertificate(certConfig string) ([]byte, error) { - certificateSource := strings.SplitN(certConfig, ":", 2) - - if len(certificateSource) == 2 { - switch certificateSource[0] { - case "file": - return readFromFile(certificateSource[1]) - - case "env-b64": - return getValueFromBase64EnvVar(certificateSource[1]) - - case "b64": - return getValueFromBase64(certificateSource[1]) - - default: - return nil, fmt.Errorf("invalid source %s", certificateSource[0]) - } - } - - // Assume certConfig is a file path (backward compatible) - return readFromFile(certConfig) -} - -// Read content from file -func readFromFile(filePath string) ([]byte, error) { - dataBytes, err := os.ReadFile(filePath) - if err != nil { - return nil, fmt.Errorf("failed to read from file `%s`: `%v`", filePath, err) - } - - data := bytes.TrimSuffix(dataBytes, []byte("\n")) - - return data, nil -} - -// Get decoded base64 value from environment variable -func getValueFromBase64EnvVar(envVar string) ([]byte, error) { - b64Value, ok := os.LookupEnv(envVar) - if !ok { - return nil, fmt.Errorf("environment variable %s not set", envVar) - } - - return getValueFromBase64(b64Value) -} - -// Get decoded base64 value -func getValueFromBase64(b64Value string) ([]byte, error) { - value, err := base64.StdEncoding.DecodeString(b64Value) - if err != nil { - return nil, fmt.Errorf("failed to decode base64 value: %v", err) - } - - return value, nil -} - -// loadCACert returns CA set of certificates (cert pool) -// reads CA certificate based on the certConfig and adds it to the pool -func loadCACert(certConfig string) (*x509.CertPool, error) { - certificates, err := x509.SystemCertPool() - if certificates == nil || err != nil { - certificates = x509.NewCertPool() - } - - if len(certConfig) > 0 { - caCert, err := getCertificate(certConfig) - if err != nil { - return nil, err - } - - certificates.AppendCertsFromPEM(caCert) - } - - return certificates, nil -} - -// loadServerCertAndKey reads server certificate and associated key file based on certConfig and keyConfig -// returns parsed server certificate -// if the private key is encrypted, it will be decrypted using key file passphrase -func loadServerCertAndKey(certConfig, keyConfig, keyPassConfig string) ([]tls.Certificate, error) { - var certificates []tls.Certificate - - // Read cert file - certFileBytes, err := getCertificate(certConfig) - if err != nil { - return nil, err - } - - // Read key file - keyFileBytes, err := getCertificate(keyConfig) - if err != nil { - return nil, err - } - - // Decode PEM data - keyBlock, _ := pem.Decode(keyFileBytes) - - if keyBlock == nil { - return nil, fmt.Errorf("failed to decode PEM data for key") - } - - // Check and Decrypt the the Key Block using passphrase - if x509.IsEncryptedPEMBlock(keyBlock) { // nolint:staticcheck - keyFilePassphraseBytes, err := getSecret(keyPassConfig) - if err != nil { - return nil, fmt.Errorf("failed to get key passphrase: `%s`", err) - } - - decryptedDERBytes, err := x509.DecryptPEMBlock(keyBlock, keyFilePassphraseBytes) // nolint:staticcheck - if err != nil { - return nil, fmt.Errorf("failed to decrypt PEM Block: `%s`", err) - } - - keyBlock.Bytes = decryptedDERBytes - keyBlock.Headers = nil - } - - // Encode PEM data - keyPEM := pem.EncodeToMemory(keyBlock) - - if keyPEM == nil { - return nil, fmt.Errorf("failed to encode PEM data for key") - } - - cert, err := tls.X509KeyPair(certFileBytes, keyPEM) - if err != nil { - return nil, fmt.Errorf("failed to add certificate and key to the pool: `%s`", err) - } - - certificates = append(certificates, cert) - - return certificates, nil -} - -func sanitizeUTF8(lv string) string { - if utf8.ValidString(lv) { - return lv - } - fixUtf := func(r rune) rune { - if r == utf8.RuneError { - return 65533 - } - return r - } - - return strings.Map(fixUtf, lv) -} - -func buildVersionGreaterThanOrEqual(rawMetrics map[string]string, ref string) (bool, error) { - if len(rawMetrics["build"]) == 0 { - return false, fmt.Errorf("couldn't get build version") - } - - ver := rawMetrics["build"] - version, err := goversion.NewVersion(ver) - if err != nil { - return false, fmt.Errorf("error parsing build version %s: %v", ver, err) - } - - refVersion, err := goversion.NewVersion(ref) - if err != nil { - return false, fmt.Errorf("error parsing reference version %s: %v", ref, err) - } - - if version.GreaterThanOrEqual(refVersion) { - return true, nil - } - - return false, nil -} - -/* -Validates if given stat is having - or defined in gauge-stat list, if not, return default metric-type (i.e. Counter) -*/ -func getMetricType(pContext ContextType, pRawMetricName string) metricType { - - // condition#1 : Config ( which has a - in the stat) is always a Gauge - // condition#2 : or - it is marked as Gauge in the configuration file - // - // If stat is storage-engine related then consider the remaining stat name during below check - // - - tmpRawMetricName := strings.ReplaceAll(pRawMetricName, STORAGE_ENGINE, "") - - if strings.Contains(tmpRawMetricName, "-") || - gaugeStatHandler.isGauge(pContext, tmpRawMetricName) { - return mtGauge - } - - return mtCounter -} - -// This is a common utility, used by all the watchers to push metric to prometheus -func pushToPrometheus(asMetric AerospikeStat, pv float64, labels []string, labelValues []string, - ch chan<- prometheus.Metric) { - - if asMetric.isAllowed { - // handle any panic from prometheus, this may occur when prom encounters a config/stat with special characters - defer func() { - if r := recover(); r != nil { - log.Tracef("%s recovered from panic while handling stat %s", string(asMetric.context), asMetric.name) - } - }() - - desc, valueType := asMetric.makePromMetric(labels...) - ch <- prometheus.MustNewConstMetric(desc, valueType, pv, labelValues...) - - } -} diff --git a/configs/ape.toml b/configs/ape.toml new file mode 100644 index 00000000..b494a966 --- /dev/null +++ b/configs/ape.toml @@ -0,0 +1,179 @@ +[Agent] + # Metrics Serving modes + PROMETHEUS = true + OPEN_TELEMETRY = false + + # labels to add to the prometheus metrics for e.g. labels={zone="asia-south1-a", platform="google compute engine"} + labels = {latitude="0",longitude="0"} + + # mention cloud provider (supported: aws, gcp, azure ) so exporter collects few details like region, zone etc., + cloud_provider = "" + + # metrics server timeout in seconds + timeout = 10 + + # support system statistics also + refresh_system_stats = false + + # Exporter logging configuration + # Log file path (optional, logs to console by default) + # Level can be info|warning,warn|error,err|debug|trace ('info' by default) + log_file = "" + log_level = "" + + # Exporter HTTPS (TLS) configuration + # HTTPS between Prometheus and Exporter + + # TLS certificates. + # Supports below formats, + # 1. Certificate file path - "file:" + # 2. Environment variable containing base64 encoded certificate - "env-b64:" + # 3. Base64 encoded certificate - "b64:" + # Applicable to 'root_ca', 'cert_file' and 'key_file' configurations. + + # Server certificate + cert_file = "" + + # Private key associated with server certificate + key_file = "" + + # Root CA to validate client certificates (for mutual TLS) + root_ca = "" + + # Passphrase for encrypted key_file. Supports below formats, + # 1. Passphrase directly - "" + # 2. Passphrase via file - "file:" + # 3. Passphrase via environment variable - "env:" + # 4. Passphrase via environment variable containing base64 encoded passphrase - "env-b64:" + # 5. Passphrase in base64 encoded form - "b64:" + key_file_passphrase = "" + + # prometheus binding port + bind = ":9145" + + # Basic HTTP authentication for '/metrics'. + # Supports below formats, + # 1. Credential directly - "" + # 2. Credential via file - "file:" + # 3. Credential via environment variable - "env:" + # 4. Credential via environment variable containing base64 encoded credential - "env-b64:" + # 5. Credential in base64 encoded form - "b64:" + basic_auth_username = "" + basic_auth_password = "" + +[Agent.OpenTelemetry] + # NOTE: currently supports only gRPC endpoints + + # OTel service-name + service_name = "aerospike-server-metrics-service" + + # OTel Endpoint + endpoint = "" + + # OTel SSL/TLS, for HTTPS endpoints + endpoint_tls_enabled = true + + # OTel headers + headers = {} + + # OTel server-stat fetch interval (default 15, not recommended to to reduce this) + server_stat_fetch_interval = 15 + + # OTel metric push interval (default 60, not recommended to to reduce this) + push_interval = 60 + +[Aerospike] + db_host = "localhost" + db_port = 3000 + + # TLS certificates. + # Supports below formats, + # 1. Certificate file path - "file:" + # 2. Environment variable containing base64 encoded certificate - "env-b64:" + # 3. Base64 encoded certificate - "b64:" + # Applicable to 'root_ca', 'cert_file' and 'key_file' configurations. + + # root certificate file + root_ca = "" + + # certificate file + cert_file = "" + + # key file + key_file = "" + + # Passphrase for encrypted key_file. Supports below formats, + # 1. Passphrase directly - "" + # 2. Passphrase via file - "file:" + # 3. Passphrase via environment variable - "env:" + # 4. Passphrase via environment variable containing base64 encoded passphrase - "env-b64:" + # 5. Passphrase in base64 encoded form - "b64:" + key_file_passphrase = "" + + # node TLS name for authentication + node_tls_name = "" + + # Aerospike cluster security credentials. + # Supports below formats, + # 1. Credential directly - "" + # 2. Credential via file - "file:" + # 3. Credential via environment variable - "env:" + # 4. Credential via environment variable containing base64 encoded credential - "env-b64:" + # 5. Credential in base64 encoded form - "b64:" + # Applicable to 'user' and 'password' configurations. + + # database user + user = "" + + # database password + password = "" + + # authentication mode: internal (server authentication) [default], external (e.g., LDAP), pki. + auth_mode = "" + + # timeout for sending commands to the server node in seconds + timeout = 5 + + # Number of histogram buckets to export for latency metrics. Bucket thresholds range from 2^0 to 2^16 (17 buckets). + # e.g. latency_buckets_count=5 will export first five buckets i.e. <=1ms, <=2ms, <=4ms, <=8ms and <=16ms. + # Default: 0 (export all threshold buckets). + latency_buckets_count = 0 + + # Order of context - namespace, set, latencies, node-stats, xdr, user, jobs, sindex + + # Metrics Allowlist - If specified, only these metrics will be scraped. An empty list will exclude all metrics. + # Commenting out the below allowlist configs will disable metrics filtering (i.e. all metrics will be scraped). + + # Metrics Blocklist - If specified, these metrics will be NOT be scraped. An empty list will include all metrics. + # Commenting out the below blocklist configs will disable metrics filtering (i.e. no metrics will be blocked/filtered). + + # globbing pattern (wildcard) are allowd for allowlist and blocklist + # for example "batch_index_*_buffers" + + # Namespace metrics allowlist, to control which Namespace metrics should be collected. + # namespace_metrics_allowlist = [] + # namespace_metrics_blocklist = [] + + # set_metrics_allowlist = [] + # set_metrics_blocklist = [] + + # Latencies histogram allowlist, to control which Histogram-name metrics should be collected. + # Note: globbing patterns (wildcard) are not supported for this latency metric configuration. + # latencies_metrics_allowlist = [] + # latencies_metrics_blocklist = [] + + # node_metrics_allowlist = [] + # node_metrics_blocklist = [] + + # Support only from Aerospike versions 5.0 and above + # xdr_metrics_allowlist = [] + # xdr_metrics_blocklist = [] + + # User statistics are available in Aerospike 5.6+ + # Note globbing patterns (wildcard) are not supported for this User configuration. + # user_metrics_users_allowlist = [] + # user_metrics_users_blocklist = [] + + # sindex_metrics_allowlist = [] + # sindex_metrics_blocklist = [] + diff --git a/configs/ape.toml.template b/configs/ape.toml.template new file mode 100644 index 00000000..1a68b3d1 --- /dev/null +++ b/configs/ape.toml.template @@ -0,0 +1,190 @@ +[Agent] + # Metrics Serving modes + PROMETHEUS = ${AGENT_PROMETHEUS} + OPEN_TELEMETRY = ${AGENT_OPEN_TELEMETRY} + + # labels to add to the prometheus metrics for e.g. labels={zone="asia-south1-a", platform="google compute engine"} + labels = {${METRIC_LABELS}} + + # mention cloud provider (aws, gcp, azure ) so exporter collects few details like region, zone etc., + cloud_provider = ${AGENT_CLOUD_PROVIDER} + + # metrics server timeout in seconds + timeout = ${AGENT_TIMEOUT} + + # support system statistics also + refresh_system_stats = ${AGENT_REFRESH_SYSTEM_STATS} + + # Exporter logging configuration + # Log file path (optional, logs to console by default) + # Level can be info|warning,warn|error,err|debug|trace ('info' by default) + log_file = "${AGENT_LOG_FILE}" + log_level = "${AGENT_LOG_LEVEL}" + +# Prometheus specific metrics +# + # Exporter HTTPS (TLS) configuration + # HTTPS between Prometheus and Exporter + + # TLS certificates. + # Supports below formats, + # 1. Certificate file path - "file:" + # 2. Environment variable containing base64 encoded certificate - "env-b64:" + # 3. Base64 encoded certificate - "b64:" + # Applicable to 'root_ca', 'cert_file' and 'key_file' configurations. + + # Server certificate + cert_file = "${AGENT_CERT_FILE}" + + # Private key associated with server certificate + key_file = "${AGENT_KEY_FILE}" + + # Root CA to validate client certificates (for mutual TLS) + root_ca = "${AGENT_ROOT_CA}" + + # Passphrase for encrypted key_file. Supports below formats, + # 1. Passphrase directly - "" + # 2. Passphrase via file - "file:" + # 3. Passphrase via environment variable - "env:" + # 4. Passphrase via environment variable containing base64 encoded passphrase - "env-b64:" + # 5. Passphrase in base64 encoded form - "b64:" + key_file_passphrase = "${AGENT_KEY_FILE_PASSPHRASE}" + + # prometheus binding port + bind = "${AGENT_BIND_HOST}:${AGENT_BIND_PORT}" + + # Basic HTTP authentication for '/metrics'. + # Supports below formats, + # 1. Credential directly - "" + # 2. Credential via file - "file:" + # 3. Credential via environment variable - "env:" + # 4. Credential via environment variable containing base64 encoded credential - "env-b64:" + # 5. Credential in base64 encoded form - "b64:" + basic_auth_username = "${BASIC_AUTH_USERNAME}" + basic_auth_password = "${BASIC_AUTH_PASSWORD}" + +[Agent.OpenTelemetry] + # NOTE: currently supports only gRPC endpoints + + # OTel service-name + service_name = "${AGENT_OTEL_APP_SERVICE_NAME}" + + # OTel Endpoint + endpoint = "${AGENT_OTEL_ENDPOINT}" + + # OTel SSL/TLS, for HTTPS endpoints + endpoint_tls_enabled = ${AGENT_OTEL_TLS_ENABLED} + + # OTel headers + headers = "{${AGENT_OTEL_HEADERS}}" + + # OTel server-stat fetch interval (default 15, not recommended to to reduce this) + server_stat_fetch_interval = ${AGENT_OTEL_SERVER_STAT_FETCH_INTERVAL} + + # OTel metric push interval (default 60, not recommended to to reduce this) + push_interval = ${AGENT_OTEL_PUSH_INTERVAL} + +[Aerospike] + db_host = "${AS_HOST}" + db_port = ${AS_PORT} + + # TLS certificates. + # Supports below formats, + # 1. Certificate file path - "file:" + # 2. Environment variable containing base64 encoded certificate - "env-b64:" + # 3. Base64 encoded certificate - "b64:" + # Applicable to 'root_ca', 'cert_file' and 'key_file' configurations. + + # root certificate file + root_ca = "${AS_ROOT_CA}" + + # certificate file + cert_file = "${AS_CERT_FILE}" + + # key file + key_file = "${AS_KEY_FILE}" + + # Passphrase for encrypted key_file. Supports below formats, + # 1. Passphrase directly - "" + # 2. Passphrase via file - "file:" + # 3. Passphrase via environment variable - "env:" + # 4. Passphrase via environment variable containing base64 encoded passphrase - "env-b64:" + # 5. Passphrase in base64 encoded form - "b64:" + key_file_passphrase = "${AS_KEY_FILE_PASSPHRASE}" + + # node TLS name for authentication + node_tls_name = "${AS_NODE_TLS_NAME}" + + # Aerospike cluster security credentials. + # Supports below formats, + # 1. Credential directly - "" + # 2. Credential via file - "file:" + # 3. Credential via environment variable - "env:" + # 4. Credential via environment variable containing base64 encoded credential - "env-b64:" + # 5. Credential in base64 encoded form - "b64:" + # Applicable to 'user' and 'password' configurations. + + # database user + user = "${AS_AUTH_USER}" + + # database password + password = "${AS_AUTH_PASSWORD}" + + # authentication mode: internal (server authentication) [default], external (e.g., LDAP), pki. + auth_mode = "${AS_AUTH_MODE}" + + # timeout for sending commands to the server node in seconds + timeout = ${TICKER_TIMEOUT} + + # Number of histogram buckets to export for latency metrics. Bucket thresholds range from 2^0 to 2^16 (17 buckets). + # e.g. latency_buckets_count = 5 will export first five buckets i.e. <=1ms, <=2ms, <=4ms, <=8ms and <=16ms. + # Default: 0 (export all threshold buckets). + latency_buckets_count = ${LATENCY_BUCKETS_COUNT} + + # Metrics Allowlist - If specified, only these metrics will be scraped. An empty list will exclude all metrics. + # Commenting out the below allowlist configs will disable metrics filtering (i.e. all metrics will be scraped). + + # Namespace metrics allowlist + # namespace_metrics_allowlist = [${NAMESPACE_METRICS_ALLOWLIST}] + + # Set metrics allowlist + # set_metrics_allowlist = [${SET_METRICS_ALLOWLIST}] + + # Node metrics allowlist + # node_metrics_allowlist = [${NODE_METRICS_ALLOWLIST}] + + # XDR metrics allowlist (only for Aerospike versions 5.0 and above) + # xdr_metrics_allowlist = [${XDR_METRICS_ALLOWLIST}] + + # Job (scans/queries) metrics allowlist + # job_metrics_allowlist = [${JOB_METRICS_ALLOWLIST}] + + # Secondary index metrics allowlist + # sindex_metrics_allowlist = [${SINDEX_METRICS_ALLOWLIST}] + + # Metrics Blocklist - If specified, these metrics will be NOT be scraped. + + # Namespace metrics blocklist + # namespace_metrics_blocklist = [${NAMESPACE_METRICS_BLOCKLIST}] + + # Set metrics blocklist + # set_metrics_blocklist = [${SET_METRICS_BLOCKLIST}] + + # Node metrics blocklist + # node_metrics_blocklist = [${NODE_METRICS_BLOCKLIST}] + + # XDR metrics blocklist (only for Aerospike versions 5.0 and above) + # xdr_metrics_blocklist = [${XDR_METRICS_BLOCKLIST}] + + # Job (scans/queries) metrics blocklist + # job_metrics_blocklist = [${JOB_METRICS_BLOCKLIST}] + + # Secondary index metrics blocklist + # sindex_metrics_blocklist = [${SINDEX_METRICS_BLOCKLIST}] + + # Users Statistics (user statistics are available in Aerospike 5.6+) + # Users Allowlist and Blocklist to control for which users their statistics should be collected. + # Note globbing patterns are not supported for this configuration. + + # user_metrics_users_allowlist = [${USER_METRICS_USERS_ALLOWLIST}] + # user_metrics_users_blocklist = [${USER_METRICS_USERS_BLOCKLIST}] diff --git a/gauge_stats_list.toml b/configs/gauge_stats_list.toml similarity index 98% rename from gauge_stats_list.toml rename to configs/gauge_stats_list.toml index eef44179..84abb07c 100644 --- a/gauge_stats_list.toml +++ b/configs/gauge_stats_list.toml @@ -239,4 +239,10 @@ namespace_gauge_stats =[ "sindex_used_bytes", "truncating", -] \ No newline at end of file +] + +# System Info Gauge metrics list +# +system_info_gauge_stats = [ + "", +] diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh index 751e2058..d093e96f 100644 --- a/docker-entrypoint.sh +++ b/docker-entrypoint.sh @@ -40,6 +40,20 @@ export JOB_METRICS_BLOCKLIST=${JOB_METRICS_BLOCKLIST:-""} export SINDEX_METRICS_ALLOWLIST=${SINDEX_METRICS_ALLOWLIST:-""} export SINDEX_METRICS_BLOCKLIST=${SINDEX_METRICS_BLOCKLIST:-""} +export AGENT_REFRESH_SYSTEM_STATS=${AGENT_REFRESH_SYSTEM_STATS:-"false"} +export AGENT_CLOUD_PROVIDER=${AGENT_CLOUD_PROVIDER:-""} + +export AGENT_PROMETHEUS=${AGENT_PROMETHEUS:-"true"} +export AGENT_OTEL=${AGENT_OPEN_TELEMETRY:-"false"} + +export USE_MOCK_DATASOURCE=${USE_MOCK_DATASOURCE:-"true"} +export AGENT_OTEL_APP_SERVICE_NAME=${AGENT_OTEL_APP_SERVICE_NAME:-"aerospike-server-metrics"} +export AGENT_OTEL_ENDPOINT=${AGENT_OTEL_ENDPOINT:-""} +export AGENT_OTEL_TLS_ENABLED=${AGENT_OTEL_TLS_ENABLED:-"true"} +export AGENT_OTEL_HEADERS=${AGENT_OTEL_HEADERS:-""} +export AGENT_OTEL_SERVER_STAT_FETCH_INTERVAL=${AGENT_OTEL_SERVER_STAT_FETCH_INTERVAL:-"60"} + + if [ -f /etc/aerospike-prometheus-exporter/ape.toml.template ]; then env | while IFS= read -r line; do name=${line%%=*} diff --git a/gauge_stats_test.go b/gauge_stats_test.go deleted file mode 100644 index 40d82ca8..00000000 --- a/gauge_stats_test.go +++ /dev/null @@ -1,86 +0,0 @@ -package main - -import ( - "fmt" - "testing" - - "github.com/stretchr/testify/assert" -) - -func TestGetGaugesNotEmpty(t *testing.T) { - fmt.Println("initializing GaugeMetrics ... TestGetGaugesNotEmpty") - - // Initialize and validate Gauge config - gaugeList := new(GaugeStats) - initGaugeStats(METRICS_CONFIG_FILE, gaugeList) - - nslist := gaugeList.NamespaceStats - nodelist := gaugeList.NodeStats - assert.NotEmpty(t, nslist) - assert.NotEmpty(t, nodelist) -} - -func TestGetGaugesCounts(t *testing.T) { - fmt.Println("initializing GaugeMetrics ... TestGetGaugesCounts") - - // Initialize and validate Gauge config - gaugeList := new(GaugeStats) - - initGaugeStats(METRICS_CONFIG_FILE, gaugeList) - - glist := gaugeList.NamespaceStats - assert.Equal(t, len(glist), 99) - - glist = gaugeList.NodeStats - assert.Equal(t, len(glist), 69) - - glist = gaugeList.SetsStats - assert.Equal(t, len(glist), 9) - - glist = gaugeList.SindexStats - assert.Equal(t, len(glist), 13) - - glist = gaugeList.XdrStats - assert.Equal(t, len(glist), 10) - -} - -func TestIsAGaugeTrue(t *testing.T) { - fmt.Println("initializing GaugeMetrics ... TestIsAGaugeTrue") - - // Initialize and validate Gauge config - gaugeList := new(GaugeStats) - - initGaugeStats(METRICS_CONFIG_FILE, gaugeList) - - exists := false - - exists = gaugeList.isGauge(CTX_NAMESPACE, "cache_read_pct") - assert.Equal(t, exists, true) - - exists = gaugeList.isGauge(CTX_NODE_STATS, "cluster_clock_skew_stop_writes_sec") - assert.Equal(t, exists, true) - - exists = gaugeList.isGauge(CTX_SINDEX, "entries_per_rec") - assert.Equal(t, exists, true) - - exists = gaugeList.isGauge(CTX_XDR, "recoveries_pending") - assert.Equal(t, exists, true) - - exists = gaugeList.isGauge(CTX_SETS, "truncate_lut") - assert.Equal(t, exists, true) - -} - -func TestNoGaugeExists(t *testing.T) { - - fmt.Println("initializing GaugeMetrics ... TestNoGaugeExists") - - // Initialize and validate Gauge config - gaugeList := new(GaugeStats) - - initGaugeStats(METRICS_CONFIG_FILE, gaugeList) - - exists := gaugeList.isGauge(CTX_NAMESPACE, "non-existing-key") - assert.Equal(t, exists, false) -} diff --git a/go.mod b/go.mod index e1bf8813..0e00ea88 100644 --- a/go.mod +++ b/go.mod @@ -8,25 +8,41 @@ require ( github.com/gobwas/glob v0.2.3 github.com/hashicorp/go-version v1.6.0 github.com/prometheus/client_golang v1.14.0 - github.com/prometheus/client_model v0.3.0 + github.com/prometheus/procfs v0.12.0 github.com/sirupsen/logrus v1.9.0 - github.com/stretchr/testify v1.8.0 + github.com/stretchr/testify v1.8.4 + go.opentelemetry.io/otel v1.21.0 + go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v0.44.0 + go.opentelemetry.io/otel/metric v1.21.0 + go.opentelemetry.io/otel/sdk v1.21.0 + go.opentelemetry.io/otel/sdk/metric v1.21.0 ) require ( github.com/beorn7/perks v1.0.1 // indirect + github.com/cenkalti/backoff/v4 v4.2.1 // indirect github.com/cespare/xxhash/v2 v2.2.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect - github.com/golang/protobuf v1.5.2 // indirect - github.com/kr/pretty v0.3.1 // indirect + github.com/go-logr/logr v1.3.0 // indirect + github.com/go-logr/stdr v1.2.2 // indirect + github.com/golang/protobuf v1.5.3 // indirect + github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0 // indirect + github.com/lufia/iostat v1.2.1 // indirect github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect + github.com/onsi/gomega v1.27.10 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect + github.com/prometheus/client_model v0.3.0 // indirect github.com/prometheus/common v0.39.0 // indirect - github.com/prometheus/procfs v0.9.0 // indirect github.com/yuin/gopher-lua v1.1.0 // indirect + go.opentelemetry.io/otel/trace v1.21.0 // indirect + go.opentelemetry.io/proto/otlp v1.0.0 // indirect golang.org/x/net v0.17.0 // indirect - golang.org/x/sync v0.1.0 // indirect - golang.org/x/sys v0.13.0 // indirect - google.golang.org/protobuf v1.28.1 // indirect + golang.org/x/sync v0.3.0 // indirect + golang.org/x/sys v0.14.0 // indirect + golang.org/x/text v0.13.0 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20230822172742-b8732ec3820d // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d // indirect + google.golang.org/grpc v1.59.0 // indirect + google.golang.org/protobuf v1.31.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/go.sum b/go.sum index 1ab5d357..57eb9cc3 100644 --- a/go.sum +++ b/go.sum @@ -4,21 +4,28 @@ github.com/aerospike/aerospike-client-go/v6 v6.10.0 h1:dqnYUuMJwnUNsylaOOzs7oEnB github.com/aerospike/aerospike-client-go/v6 v6.10.0/go.mod h1:Do5/flmgSo2X32YLGAYd6o5e/U2gOSpgEhrIGyOS3UI= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= +github.com/cenkalti/backoff/v4 v4.2.1 h1:y4OZtCnogmCPw98Zjyt5a6+QwPLGkiQsYW5oUqylYbM= +github.com/cenkalti/backoff/v4 v4.2.1/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44= github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= -github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fsnotify/fsnotify v1.4.9 h1:hsms1Qyu0jgnwNXIxa+/V/PDsU6CfLf6CNO8H7IWoS4= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= +github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/logr v1.3.0 h1:2y3SDp0ZXuc6/cjLSZ+Q3ir+QB9T/iG5yYRXqsagWSY= +github.com/go-logr/logr v1.3.0/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-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y= github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8= +github.com/golang/glog v1.1.2 h1:DVjP2PbBOzHyzA+dn3WhHIq4NdVu3Q+pvivFICf/7fo= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk= github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= @@ -28,22 +35,25 @@ github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:W github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= +github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= +github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0 h1:YBftPWNWd4WwGqtY2yeZL2ef8rHAxPBD8KFhJpmcqms= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0/go.mod h1:YN5jB8ie0yfIUg6VvR9Kz84aCaG7AsGZnLjhHbUqwPg= github.com/hashicorp/go-version v1.6.0 h1:feTTfFNnjP967rlCxM/I9g701jU+RN74YKx2mOkIeek= github.com/hashicorp/go-version v1.6.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= github.com/k0kubun/pp v3.0.1+incompatible/go.mod h1:GWse8YhT0p8pT4ir3ZgBbfZild3tgzSScAn6HmfYukg= github.com/k0kubun/pp/v3 v3.1.0/go.mod h1:vIrP5CF0n78pKHm2Ku6GVerpZBJvscg48WepUYEk2gw= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= -github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= -github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= +github.com/lufia/iostat v1.2.1 h1:tnCdZBIglgxD47RyD55kfWQcJMGzO+1QBziSQfesf2k= +github.com/lufia/iostat v1.2.1/go.mod h1:rEPNA0xXgjHQjuI5Cy05sLlS2oRcSlWHRLrvh/AQ+Pg= github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= github.com/matttproud/golang_protobuf_extensions v1.0.4 h1:mmDVorXM7PCGKw94cs5zkfA9PSy5pEvNWRP0ET0TIVo= @@ -57,9 +67,9 @@ github.com/onsi/ginkgo v1.16.4 h1:29JGrr5oVBm5ulCWet69zQkzWipVXIol6ygQUe/EzNc= github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vvnwo0= github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= -github.com/onsi/gomega v1.15.0 h1:WjP/FQ/sk43MRmnEcT+MlDw2TFvkrXlprrPST/IudjU= github.com/onsi/gomega v1.15.0/go.mod h1:cIuvLEne0aoVhAgh/O6ac0Op8WWw9H6eYCriF+tEHG0= -github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= +github.com/onsi/gomega v1.27.10 h1:naR28SdDFlqrG6kScpT8VWpu1xWY5nJRCF3XaYyBjhI= +github.com/onsi/gomega v1.27.10/go.mod h1:RsS8tutOdbdgzbPtzzATp12yT7kM5I5aElG3evPbQ0M= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/prometheus/client_golang v1.14.0 h1:nJdhIvne2eSX/XRAFV9PcvFFRbrjbcTUj0VP62TMhnw= @@ -68,24 +78,35 @@ github.com/prometheus/client_model v0.3.0 h1:UBgGFHqYdG/TPFD1B1ogZywDqEkwp3fBMvq github.com/prometheus/client_model v0.3.0/go.mod h1:LDGWKZIo7rky3hgvBe+caln+Dr3dPggB5dvjtD7w9+w= github.com/prometheus/common v0.39.0 h1:oOyhkDq05hPZKItWVBkJ6g6AtGxi+fy7F4JvUV8uhsI= github.com/prometheus/common v0.39.0/go.mod h1:6XBZ7lYdLCbkAVhwRsWTZn+IN5AB9F/NXd5w0BbEX0Y= -github.com/prometheus/procfs v0.9.0 h1:wzCHvIvM5SxWqYvwgVL7yJY8Lz3PKn49KQtpgMYJfhI= -github.com/prometheus/procfs v0.9.0/go.mod h1:+pB4zwohETzFnmlpe6yd2lSc+0/46IYZRB/chUwxUZY= -github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= -github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= +github.com/prometheus/procfs v0.12.0 h1:jluTpSng7V9hY0O2R9DzzJHYb2xULk9VTR1V1R/k6Bo= +github.com/prometheus/procfs v0.12.0/go.mod h1:pcuDEFsWDnvcgNzo4EEweacyhjeA9Zk3cnaOZAZEfOo= +github.com/rogpeppe/go-internal v1.11.0 h1:cWPaGQEPrBb5/AsnsZesgZZ9yb1OQ+GOISoDNXVBh4M= github.com/sirupsen/logrus v1.9.0 h1:trlNQbNUG3OdDrDil03MCb1H2o9nJ1x4/5LYw7byDE0= github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= 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/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 h1:pSgiaMZlXftHpm5L7V1+rVB+AZJydKsMxsQBIJw4PKk= -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.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= github.com/yuin/gopher-lua v0.0.0-20200816102855-ee81675732da/go.mod h1:E1AXubJBdNmFERAOucpDIxNzeGfLzg0mYh+UfMWdChA= github.com/yuin/gopher-lua v1.1.0 h1:BojcDhfyDWgU2f2TOzYK/g5p2gxMrku8oupLDqlnSqE= github.com/yuin/gopher-lua v1.1.0/go.mod h1:GBR0iDaNXjAgGg9zfCvksxSRnQx76gclCIb7kdAd1Pw= +go.opentelemetry.io/otel v1.21.0 h1:hzLeKBZEL7Okw2mGzZ0cc4k/A7Fta0uoPgaJCr8fsFc= +go.opentelemetry.io/otel v1.21.0/go.mod h1:QZzNPQPm1zLX4gZK4cMi+71eaorMSGT3A4znnUvNNEo= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v0.44.0 h1:jd0+5t/YynESZqsSyPz+7PAFdEop0dlN0+PkyHYo8oI= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v0.44.0/go.mod h1:U707O40ee1FpQGyhvqnzmCJm1Wh6OX6GGBVn0E6Uyyk= +go.opentelemetry.io/otel/metric v1.21.0 h1:tlYWfeo+Bocx5kLEloTjbcDwBuELRrIFxwdQ36PlJu4= +go.opentelemetry.io/otel/metric v1.21.0/go.mod h1:o1p3CA8nNHW8j5yuQLdc1eeqEaPfzug24uvsyIEJRWM= +go.opentelemetry.io/otel/sdk v1.21.0 h1:FTt8qirL1EysG6sTQRZ5TokkU8d0ugCj8htOgThZXQ8= +go.opentelemetry.io/otel/sdk v1.21.0/go.mod h1:Nna6Yv7PWTdgJHVRD9hIYywQBRx7pbox6nwBnZIxl/E= +go.opentelemetry.io/otel/sdk/metric v1.21.0 h1:smhI5oD714d6jHE6Tie36fPx4WDFIg+Y6RfAY4ICcR0= +go.opentelemetry.io/otel/sdk/metric v1.21.0/go.mod h1:FJ8RAsoPGv/wYMgBdUJXOm+6pzFY3YdljnXtv1SBE8Q= +go.opentelemetry.io/otel/trace v1.21.0 h1:WD9i5gzvoUPuXIXH24ZNBudiarZDKuekPqi/E8fpfLc= +go.opentelemetry.io/otel/trace v1.21.0/go.mod h1:LGbsEB0f9LGjN+OZaQQ26sohbOmiMR+BaslueVtS/qQ= +go.opentelemetry.io/proto/otlp v1.0.0 h1:T0TX0tmXU8a3CbNXzEKGeU5mIVOdf0oykP+u2lIVU/I= +go.opentelemetry.io/proto/otlp v1.0.0/go.mod h1:Sy6pihPLfYHkr3NkUbEhGHFhINUSI/v80hjKIs5JXpM= 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= @@ -106,8 +127,8 @@ golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o= -golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.3.0 h1:ftCYgMx6zT/asHUrPw8BLLscYtGznsLAnjq5RH9P66E= +golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/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= @@ -125,14 +146,15 @@ golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.13.0 h1:Af8nKPmuFypiUBjVoU9V20FiaFXOcuZI21p0ycVYYGE= -golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.14.0 h1:Vz7Qs629MkJkGyHxUlRHizWJRG2j8fbQKjELVSNhy7Q= +golang.org/x/sys v0.14.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.13.0 h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k= +golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= @@ -141,6 +163,13 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +google.golang.org/genproto v0.0.0-20230822172742-b8732ec3820d h1:VBu5YqKPv6XiJ199exd8Br+Aetz+o08F+PLMnwJQHAY= +google.golang.org/genproto/googleapis/api v0.0.0-20230822172742-b8732ec3820d h1:DoPTO70H+bcDXcd39vOqb2viZxgqeBeSGtZ55yZU4/Q= +google.golang.org/genproto/googleapis/api v0.0.0-20230822172742-b8732ec3820d/go.mod h1:KjSP20unUpOx5kyQUFa7k4OJg0qeJ7DEZflGDu2p6Bk= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d h1:uvYuEyMHKNt+lT4K3bN6fGswmK8qSvcreM3BwjDh+y4= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d/go.mod h1:+Bk1OCOj40wS2hwAMA+aCW9ypzm63QTBBHp6lQ3p+9M= +google.golang.org/grpc v1.59.0 h1:Z5Iec2pjwb+LEOqzpB2MR12/eKFhDPhuqW91O+4bwUk= +google.golang.org/grpc v1.59.0/go.mod h1:aUPDwccQo6OTjy7Hct4AfBPD1GptF4fyUjIkQ9YtF98= 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= @@ -149,8 +178,8 @@ google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzi google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.28.1 h1:d0NfwRgPtno5B1Wa6L2DAG+KivqkdutMf1UhdNx175w= -google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8= +google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= @@ -159,7 +188,6 @@ gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWD gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= diff --git a/helper_test.go b/helper_test.go deleted file mode 100644 index 8dd43362..00000000 --- a/helper_test.go +++ /dev/null @@ -1,296 +0,0 @@ -package main - -import ( - "fmt" - "sort" - "strconv" - "strings" - - "github.com/gobwas/glob" -) - -var DEFAULT_APE_TOML = "tests/default_ape.toml" -var LABELS_APE_TOML = "tests/labels_ape.toml" -var NS_ALLOWLIST_APE_TOML = "tests/ns_allowlist_ape.toml" -var NS_BLOCKLIST_APE_TOML = "tests/ns_blocklist_ape.toml" - -var METRICS_CONFIG_FILE = "gauge_stats_list.toml" - -var MOCK_TEST_DATA_FILE = "tests/mock_test_data.txt" - -func extractNamespaceFromLabel(label string) string { - // [name:"cluster_name" value:"" name:"ns" value:"bar" name:"service" value:"" ] - nsFromLabel := label - nsFromLabel = nsFromLabel[(strings.Index(nsFromLabel, "ns"))+11:] - nsFromLabel = nsFromLabel[0:(strings.Index(nsFromLabel, "\""))] - - return nsFromLabel -} - -func stringifyLabel(label string) string { - labelReplacerFunc := strings.NewReplacer(".", "_", "-", "_", " ", "_", "[", "_", "]", "_", "\"", "_", ":", "_", "/", "_") - hypenReplacerFunc := strings.NewReplacer("_", "") - - // return labelReplacerFunc.Replace(label) - return hypenReplacerFunc.Replace(labelReplacerFunc.Replace(label)) -} - -func extractLabelNameValueFromFullLabel(fullLabel string, reqName string) string { - - // Example Given Original: [name:"cluster_name" value:"null" name:"service" value:"172.17.0.3:3000" ] - // Example After Replacing: [name:cluster_name value:null name:service value:172.17.0.3:3000 ] - - // labels will have individual strings like [ name:cluster_name value:null ] [name:service value:172.17.0.3:3000] - value := extractNameValuePair(fullLabel, "name:"+reqName) - - return strings.TrimSpace(value) -} - -func extractNameValuePair(fullLabel string, reqName string) string { - - // in the label-string, each label is separated by a double-space i.e." " - fullLabel = strings.ReplaceAll(fullLabel, "\"", "") - fullLabel = strings.ReplaceAll(fullLabel, "[", "") - fullLabel = strings.ReplaceAll(fullLabel, "]", "") - - arrLabels := strings.Split(fullLabel, " ") - for idx := range arrLabels { - - element := arrLabels[idx] - if strings.HasPrefix(element, reqName) { - // example: name:service value:172.17.0.3:3000 - // name := element[0:len(reqName)] - // name = name[5:] - - from := len(reqName) + 7 - value := element[from:] - - return strings.TrimSpace(value) - } - } - - return "" -} - -func extractMetricNameFromDesc(desc string) string { - // Desc{fqName: "aerospike_namespac_memory_free_pct", help: "memory free pct", constLabels: {}, variableLabels: [cluster_name service ns]} - metricNameFromDesc := desc[0 : (strings.Index(desc, ","))-1] - metricNameFromDesc = metricNameFromDesc[(strings.Index(metricNameFromDesc, ":"))+3:] - - return strings.Trim(metricNameFromDesc, " ") -} - -func makeKeyname(a string, b string, combineBoth bool) string { - if combineBoth { - return a + "/" + b - } - return a -} - -func splitAndRetrieveStats(s, sep string) map[string]string { - stats := make(map[string]string, strings.Count(s, sep)+1) - s2 := strings.Split(s, sep) - for _, s := range s2 { - list := strings.SplitN(s, "=", 2) - switch len(list) { - case 0, 1: - case 2: - stats[list[0]] = list[1] - default: - stats[list[0]] = strings.Join(list[1:], "=") - } - } - - return stats -} - -func convertValue(s string) (float64, error) { - temp_s := strings.TrimSpace(s) - if f, err := strconv.ParseFloat(temp_s, 64); err == nil { - return f, nil - } - - if b, err := strconv.ParseBool(temp_s); err == nil { - if b { - return 1, nil - } - return 0, nil - } - - return 0, fmt.Errorf("invalid value `%s`. Only Float or Boolean are accepted", s) -} - -func isHelperAllowedMetric(rawStatName string, allowlist []string) bool { - // consider, disabled-allowlist and empty-allowlist as same, stat is accepted and allowed - if len(allowlist) == 0 { - return true - } - - for _, cfgStatPattern := range allowlist { - if globbingPattern.MatchString(cfgStatPattern) { - ge := glob.MustCompile(cfgStatPattern) - - if ge.Match(rawStatName) { - return true - } - } else { - if rawStatName == cfgStatPattern { - return true - } - } - } - - return false -} - -func isHelperBlockedMetric(rawMetricName string, blocklist []string) bool { - if len(blocklist) == 0 { - return false - } - - for _, stat := range blocklist { - if globbingPattern.MatchString(stat) { - ge := glob.MustCompile(stat) - - if ge.Match(rawMetricName) { - return true - } - } else { - if rawMetricName == stat { - return true - } - } - } - - return false -} - -// Latency related utility functions - -func splitLatencyDetails(latencies []string) (string, string, string) { - - // {test}-read:msec,0.0,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00 - // batch-index: - firstElement := latencies[0] - firstElement = strings.ReplaceAll(firstElement, "{", "") - firstElement = strings.ReplaceAll(firstElement, "}", "") - firstElement = strings.ReplaceAll(firstElement, ":", "-") - // - // {test}-read:msec ==> test-read-msec - // batch-index: ==> batch-index- - // - elements := strings.Split(firstElement, "-") - - return elements[0], elements[1], elements[2] -} - -func isLatencyOperationAllowe(operation string, allowlist []string, blocklist []string) bool { - - if len(blocklist) > 0 { - for idx := range blocklist { - op := blocklist[idx] - if strings.EqualFold(op, operation) { - return false - } - } - } - - if len(allowlist) == 0 { - return true - } - - for idx := range allowlist { - op := allowlist[idx] - if strings.EqualFold(op, operation) { - return true - } - } - - return false -} - -func splitLatencies(latencyRawMetric string) []string { - // {test}-read:msec,0.0,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00 - // batch-index: - arrLatencies := strings.Split(latencyRawMetric, ",") - - latencies := []string{} - - operation := strings.TrimSpace(arrLatencies[0]) - - latencies = append(latencies, operation) - if len(arrLatencies) > 1 { - sumOfQueriesStr := arrLatencies[1] - total, err := convertValue(sumOfQueriesStr) - - sumOfQueriesStr = fmt.Sprintf("%.0f", total) - latencies = append(latencies, sumOfQueriesStr) - if err != nil { - fmt.Println(" unable to convert sumOfQueriesStr to float-value ", sumOfQueriesStr) - return nil - } - for idx := range arrLatencies { - // process from second element - if idx >= 2 { // i.e. 3rd element in index - // value, err := strconv.ParseFloat(arrLatencies[idx], 64) - value, err := convertValue(arrLatencies[idx]) - - // value, err := strconv.ParseInt(arrLatencies[idx], 10, 64) - if err != nil { - fmt.Println(" unable to convert latencies value to float-value ", latencies[idx], " at index: ", idx, " -- err: ", err) - return nil - } - // value = total - value - value = (total - ((value * total) / 100)) - convertedValue := fmt.Sprintf("%.0f", value) - latencies = append(latencies, convertedValue) - } - } - } - - return latencies -} - -func constructLabelElement(labelKey string, labelValue string) string { - return " name:" + "\"" + labelKey + "\"" + " value:" + "\"" + labelValue + "\"" -} - -func extractOperationFromMetric(metricName string) string { - operationName := strings.ReplaceAll(metricName, "aerospike_latencies_", "") - - operationName = operationName[0:strings.Index(operationName, "_")] - - return operationName -} - -func copyConfigLabels() map[string]string { - cfgLabels := config.AeroProm.MetricLabels - - returnLabelMap := make(map[string]string) - for key, value := range cfgLabels { - returnLabelMap[key] = value - } - - return returnLabelMap -} - -func createLabelByNames(labelsMap map[string]string) string { - - arr_label_names := []string{} - createdLabelString := "" - - for key := range labelsMap { - arr_label_names = append(arr_label_names, strings.TrimSpace(key)) - } - - // sort the keys - sort.Strings(arr_label_names) - - for idx := range arr_label_names { - keyName := arr_label_names[idx] - value := labelsMap[keyName] - createdLabelString = createdLabelString + constructLabelElement(keyName, strings.TrimSpace(value)) - } - - return strings.TrimSpace(createdLabelString) -} diff --git a/info_parser.go b/info_parser.go deleted file mode 100644 index 78c3b0fa..00000000 --- a/info_parser.go +++ /dev/null @@ -1,66 +0,0 @@ -package main - -import ( - "bufio" - "fmt" - "strings" -) - -// InfoParser provides a reader for Aerospike cluster's response for any of the metric -type InfoParser struct { - *bufio.Reader -} - -// NewInfoParser provides an instance of the InfoParser -func NewInfoParser(s string) *InfoParser { - return &InfoParser{bufio.NewReader(strings.NewReader(s))} -} - -// PeekAndExpect checks if the expected value is present without advancing the reader -func (ip *InfoParser) PeekAndExpect(s string) error { - bytes, err := ip.Peek(len(s)) - if err != nil { - return err - } - - v := string(bytes) - if v != s { - return fmt.Errorf("InfoParser: Wrong value. Peek expected %s, but found %s", s, v) - } - - return nil -} - -// Expect validates the expected value against the one returned by the InfoParser -// This advances the reader by length of the input string. -func (ip *InfoParser) Expect(s string) error { - bytes := make([]byte, len(s)) - - v, err := ip.Read(bytes) - if err != nil { - return err - } - - if string(bytes) != s { - return fmt.Errorf("InfoParser: Wrong value. Expected %s, found %d", s, v) - } - - return nil -} - -// ReadUntil reads bytes from the InfoParser by handeling some edge-cases -func (ip *InfoParser) ReadUntil(delim byte) (string, error) { - v, err := ip.ReadBytes(delim) - - switch len(v) { - case 0: - return string(v), err - case 1: - if v[0] == delim { - return "", err - } - return string(v), err - } - - return string(v[:len(v)-1]), err -} diff --git a/internal/pkg/commons/constants.go b/internal/pkg/commons/constants.go new file mode 100644 index 00000000..082cc542 --- /dev/null +++ b/internal/pkg/commons/constants.go @@ -0,0 +1,65 @@ +package commons + +import "github.com/prometheus/procfs" + +const ( + CTX_USERS ContextType = "users" + CTX_NAMESPACE ContextType = "namespace" + CTX_NODE_STATS ContextType = "node_stats" + CTX_SETS ContextType = "sets" + CTX_SINDEX ContextType = "sindex" + CTX_XDR ContextType = "xdr" + CTX_LATENCIES ContextType = "latencies" +) + +// below constant represent the labels we send along with metrics to Prometheus or something +const ( + METRIC_LABEL_CLUSTER_NAME = "cluster_name" + METRIC_LABEL_SERVICE = "service" + METRIC_LABEL_NS = "ns" + METRIC_LABEL_SET = "set" + METRIC_LABEL_LE = "le" + METRIC_LABEL_DC_NAME = "dc" + METRIC_LABEL_INDEX = "index" + METRIC_LABEL_SINDEX = "sindex" + METRIC_LABEL_STORAGE_ENGINE = "storage_engine" + METRIC_LABEL_USER = "user" +) + +// constants used to identify type of metrics +const ( + STORAGE_ENGINE = "storage-engine" + INDEX_TYPE = "index-type" + SINDEX_TYPE = "sindex-type" +) + +const ( + CTX_SYSINFO_MEMORY_STATS ContextType = "sysinfo_memory_stats" + CTX_SYSINFO_DISK_STATS ContextType = "sysinfo_disk_stats" + CTX_SYSINFO_FILESYSTEM_STATS ContextType = "sysinfo_filesystem_stats" + CTX_SYSINFO_CPU_STATS ContextType = "sysinfo_cpu" + CTX_SYSINFO_NET_STATS ContextType = "sysinfo_netstat" + CTX_SYSINFO_NET_DEV_STATS ContextType = "sysinfo_net_dev" + CTX_SYSINFO_NETWORK_STATS ContextType = "sysinfo_network" + CTX_SYSINFO_FILEFD_STATS ContextType = "sysinfo_filefd" + CTX_SYSINFO_VM_STATS ContextType = "sysinfo_vmstat" +) +const ( + METRIC_LABEL_DEVICE = "device" + METRIC_LABEL_MAJOR = "major_version" + METRIC_LABEL_MINOR = "minor_version" + METRIC_LABEL_SERIAL = "serial" + METRIC_LABEL_MOUNT_POINT = "mountpoint" + METRIC_LABEL_FSTYPE = "fstype" + METRIC_LABEL_CPU = "cpu" + METRIC_LABEL_CPU_MODE = "mode" +) + +var ( + PROC_PATH = procfs.DefaultMountPoint + SYS_PATH = "/sys" + ROOTFS_PATH = "/" + UDEV_DATA_PATH = "/run/udev/data" + NET_STAT_PATH = "net/netstat" + NET_DEV_STAT_PATH = "/proc/net/dev" +) diff --git a/internal/pkg/commons/testutils.go b/internal/pkg/commons/testutils.go new file mode 100644 index 00000000..dbb2dd9c --- /dev/null +++ b/internal/pkg/commons/testutils.go @@ -0,0 +1,62 @@ +package commons + +import ( + "fmt" + "os" + + "github.com/aerospike/aerospike-prometheus-exporter/internal/pkg/config" +) + +/* +Constants, common variables and helper functions +*/ + +const ( + TESTS_DEFAULT_CONFIG_FILE = "tests_data/default_ape.toml" + TESTS_USERS_CONFIG_FILE = "tests_data/users_ape.toml" + TESTS_MOCK_CONFIG_FILE = "tests_data/mock_ape.toml" + TESTS_DEFAULT_GAUGE_LIST_FILE = "configs/gauge_stats_list.toml" +) + +func GetConfigfileLocation(filename string) string { + if _, err := os.Stat(filename); err != nil { + l_filename, _ := os.Getwd() + + filePath := l_filename + "/" + filename + + if _, err := os.Stat(filePath); err != nil { + filePath = l_filename + "/../../../../" + filename + fmt.Println("==> Given filename not found: ", filename, " \n\tHence using ", filePath) + } + + return filePath + } + + return filename +} + +func InitConfigurations(config_filename string) { + config.InitConfig(GetConfigfileLocation(config_filename)) + config.InitGaugeStats(GetDefaultGaugeListFilename()) + +} + +func GetDefaultGaugeListFilename() string { + return GetExporterBaseFolder() + "/" + TESTS_DEFAULT_GAUGE_LIST_FILE +} + +func GetWatchersConfigFile(filename string) string { + return GetExporterBaseFolder() + "/internal/pkg/statprocessors/tests/" + filename +} + +func GetWatchersMockResultsFile(filename string) string { + return GetExporterBaseFolder() + "/internal/pkg/statprocessors/tests/" + filename +} + +func GetExecutorsConfigFile(filename string) string { + return GetExporterBaseFolder() + "/internal/pkg/executors/tests/" + filename +} + +func GetPromMockResultsFile(filename string) string { + return GetExporterBaseFolder() + "/internal/pkg/executors/tests/" + filename +} diff --git a/internal/pkg/commons/types.go b/internal/pkg/commons/types.go new file mode 100644 index 00000000..c317ba14 --- /dev/null +++ b/internal/pkg/commons/types.go @@ -0,0 +1,11 @@ +package commons + +// used to define context of stat types (like namespace, set, xdr etc.,) +type ContextType string + +type MetricType byte + +const ( + MetricTypeGauge MetricType = 'G' + MetricTypeCounter MetricType = 'C' +) diff --git a/internal/pkg/commons/utils.go b/internal/pkg/commons/utils.go new file mode 100644 index 00000000..cc1a4985 --- /dev/null +++ b/internal/pkg/commons/utils.go @@ -0,0 +1,329 @@ +package commons + +import ( + "bytes" + "crypto/subtle" + "crypto/tls" + "crypto/x509" + "encoding/base64" + "encoding/pem" + "fmt" + "net" + "net/http" + "os" + "os/signal" + "strconv" + "strings" + "syscall" + "time" + "unicode/utf8" + + "github.com/aerospike/aerospike-prometheus-exporter/internal/pkg/config" + log "github.com/sirupsen/logrus" +) + +// Utility functions +func ParseStats(s, sep string) map[string]string { + stats := make(map[string]string, strings.Count(s, sep)+1) + s2 := strings.Split(s, sep) + for _, s := range s2 { + list := strings.SplitN(s, "=", 2) + switch len(list) { + case 0, 1: + case 2: + stats[list[0]] = list[1] + default: + stats[list[0]] = strings.Join(list[1:], "=") + } + } + + return stats +} + +func TryConvert(s string) (float64, error) { + if f, err := strconv.ParseFloat(s, 64); err == nil { + return f, nil + } + + if b, err := strconv.ParseBool(s); err == nil { + if b { + return 1, nil + } + return 0, nil + } + + return 0, fmt.Errorf("invalid value `%s`. Only Float or Boolean are accepted", s) +} + +// Check HTTP Basic Authentication. +// Validate username, password from the http request against the configured values. +func ValidateBasicAuth(r *http.Request, username string, password string) bool { + user, pass, ok := r.BasicAuth() + + if !ok || subtle.ConstantTimeCompare([]byte(user), []byte(username)) != 1 || subtle.ConstantTimeCompare([]byte(pass), []byte(password)) != 1 { + return false + } + + return true +} + +// Get secret +// secretConfig can be one of the following, +// 1. "" (secret directly) +// 2. "file:" (file containing secret) +// 3. "env:" (environment variable containing secret) +// 4. "env-b64:" (environment variable containing base64 encoded secret) +// 5. "b64:" (base64 encoded secret) +func GetSecret(secretConfig string) ([]byte, error) { + secretSource := strings.SplitN(secretConfig, ":", 2) + + if len(secretSource) == 2 { + switch secretSource[0] { + case "file": + return readFromFile(secretSource[1]) + + case "env": + secret, ok := os.LookupEnv(secretSource[1]) + if !ok { + return nil, fmt.Errorf("environment variable %s not set", secretSource[1]) + } + + return []byte(secret), nil + + case "env-b64": + return GetValueFromBase64EnvVar(secretSource[1]) + + case "b64": + return GetValueFromBase64(secretSource[1]) + + default: + return nil, fmt.Errorf("invalid source: %s", secretSource[0]) + } + } + + return []byte(secretConfig), nil +} + +// Get decoded base64 value from environment variable +func GetValueFromBase64EnvVar(envVar string) ([]byte, error) { + b64Value, ok := os.LookupEnv(envVar) + if !ok { + return nil, fmt.Errorf("environment variable %s not set", envVar) + } + + return GetValueFromBase64(b64Value) +} + +// Get decoded base64 value +func GetValueFromBase64(b64Value string) ([]byte, error) { + value, err := base64.StdEncoding.DecodeString(b64Value) + if err != nil { + return nil, fmt.Errorf("failed to decode base64 value: %v", err) + } + + return value, nil +} + +func LoadServerOrClientCertificates() (*x509.CertPool, []tls.Certificate) { + if len(config.Cfg.Aerospike.RootCA) == 0 && len(config.Cfg.Aerospike.CertFile) == 0 && len(config.Cfg.Aerospike.KeyFile) == 0 { + return nil, nil + } + + var clientPool []tls.Certificate + var serverPool *x509.CertPool + var err error + + serverPool, err = LoadCACert(config.Cfg.Aerospike.RootCA) + if err != nil { + log.Fatal(err) + } + + if len(config.Cfg.Aerospike.CertFile) > 0 || len(config.Cfg.Aerospike.KeyFile) > 0 { + clientPool, err = LoadServerCertAndKey(config.Cfg.Aerospike.CertFile, config.Cfg.Aerospike.KeyFile, config.Cfg.Aerospike.KeyFilePassphrase) + if err != nil { + log.Fatal(err) + } + } + return serverPool, clientPool +} + +// loadCACert returns CA set of certificates (cert pool) +// reads CA certificate based on the certConfig and adds it to the pool +func LoadCACert(certConfig string) (*x509.CertPool, error) { + certificates, err := x509.SystemCertPool() + if certificates == nil || err != nil { + certificates = x509.NewCertPool() + } + + if len(certConfig) > 0 { + caCert, err := getCertificate(certConfig) + if err != nil { + return nil, err + } + + certificates.AppendCertsFromPEM(caCert) + } + + return certificates, nil +} + +// loadServerCertAndKey reads server certificate and associated key file based on certConfig and keyConfig +// returns parsed server certificate +// if the private key is encrypted, it will be decrypted using key file passphrase +func LoadServerCertAndKey(certConfig, keyConfig, keyPassConfig string) ([]tls.Certificate, error) { + var certificates []tls.Certificate + + // Read cert file + certFileBytes, err := getCertificate(certConfig) + if err != nil { + return nil, err + } + + // Read key file + keyFileBytes, err := getCertificate(keyConfig) + if err != nil { + return nil, err + } + + // Decode PEM data + keyBlock, _ := pem.Decode(keyFileBytes) + + if keyBlock == nil { + return nil, fmt.Errorf("failed to decode PEM data for key") + } + + // Check and Decrypt the the Key Block using passphrase + if x509.IsEncryptedPEMBlock(keyBlock) { // nolint:staticcheck + keyFilePassphraseBytes, err := GetSecret(keyPassConfig) + if err != nil { + return nil, fmt.Errorf("failed to get key passphrase: `%s`", err) + } + + decryptedDERBytes, err := x509.DecryptPEMBlock(keyBlock, keyFilePassphraseBytes) // nolint:staticcheck + if err != nil { + return nil, fmt.Errorf("failed to decrypt PEM Block: `%s`", err) + } + + keyBlock.Bytes = decryptedDERBytes + keyBlock.Headers = nil + } + + // Encode PEM data + keyPEM := pem.EncodeToMemory(keyBlock) + + if keyPEM == nil { + return nil, fmt.Errorf("failed to encode PEM data for key") + } + + cert, err := tls.X509KeyPair(certFileBytes, keyPEM) + if err != nil { + return nil, fmt.Errorf("failed to add certificate and key to the pool: `%s`", err) + } + + certificates = append(certificates, cert) + + return certificates, nil +} + +func SanitizeUTF8(lv string) string { + if utf8.ValidString(lv) { + return lv + } + fixUtf := func(r rune) rune { + if r == utf8.RuneError { + return 65533 + } + return r + } + + return strings.Map(fixUtf, lv) +} + +func GetFullHost() string { + return net.JoinHostPort(config.Cfg.Aerospike.Host, strconv.Itoa(int(config.Cfg.Aerospike.Port))) +} + +// Internal helper methods, which are not exposed outside commons package +// Get certificate +// certConfig can be one of the following, +// 1. "" (certificate file path directly) +// 2. "file:" (certificate file path) +// 3. "env-b64:" (environment variable containing base64 encoded certificate) +// 4. "b64:" (base64 encoded certificate) +func getCertificate(certConfig string) ([]byte, error) { + certificateSource := strings.SplitN(certConfig, ":", 2) + + if len(certificateSource) == 2 { + switch certificateSource[0] { + case "file": + return readFromFile(certificateSource[1]) + + case "env-b64": + return GetValueFromBase64EnvVar(certificateSource[1]) + + case "b64": + return GetValueFromBase64(certificateSource[1]) + + default: + return nil, fmt.Errorf("invalid source %s", certificateSource[0]) + } + } + + // Assume certConfig is a file path (backward compatible) + return readFromFile(certConfig) +} + +// Read content from file +func readFromFile(filePath string) ([]byte, error) { + dataBytes, err := os.ReadFile(filePath) + if err != nil { + return nil, fmt.Errorf("failed to read from file `%s`: `%v`", filePath, err) + } + + data := bytes.TrimSuffix(dataBytes, []byte("\n")) + + return data, nil +} + +func GetExporterBaseFolder() string { + l_cwd, _ := os.Getwd() + EXPORTER_NAME := "aerospike-prometheus-exporter" + base_dir_idx := strings.Index(l_cwd, EXPORTER_NAME) + + return l_cwd[0:(base_dir_idx + len(EXPORTER_NAME))] +} + +// OS Signal handling logic +var ProcessExit chan bool + +func HandleSignals() { + ProcessExit = make(chan bool) + sigChan := make(chan os.Signal, 1) + + signal.Notify(sigChan, syscall.SIGINT, syscall.SIGTERM) + + // Spawn a goroutine to handle signals + go func() { + for { + // Block until a signal is received + sig := <-sigChan + + switch sig { + case syscall.SIGINT: + log.Infof("Received SIGINT. Shutting down...") + case syscall.SIGTERM: + log.Infof("Received SIGTERM. Shutting down...") + default: + log.Infof("Received unexpected signal: %v", sig) + } + + // Inform listeners to exit + close(ProcessExit) + + // Wait for listeners to exit + time.Sleep(1 * time.Second) + + os.Exit(0) + } + }() +} diff --git a/internal/pkg/config/cloudinfo.go b/internal/pkg/config/cloudinfo.go new file mode 100644 index 00000000..b8ca3603 --- /dev/null +++ b/internal/pkg/config/cloudinfo.go @@ -0,0 +1,152 @@ +package config + +import ( + "io" + "net/http" + "strings" + "time" + + log "github.com/sirupsen/logrus" +) + +const ( + BASE_CLOUD_METADATA_URL = "http://169.254.169.254/" + HTTP_DEFAULT_TIMEOUT = time.Duration(1 * time.Second) +) + +var ( + cloudInfo map[string]string +) + +func CollectCloudDetails() map[string]string { + + cloudProvider := strings.Trim(Cfg.Agent.CloudProvider, " ") + + cloudInfo = make(map[string]string) + startTime := time.Now() + + switch cloudProvider { + case "aws": + getAwsCloudDetails() + case "gcp": + getGoogleCloudDetails() + case "azure": + getAzureCloudDetails() + default: + log.Debug("Configured 'cloud_provider' ", cloudProvider, " is NOT supported, ignoring") + } + + totalTimeTaken := time.Since(startTime) + log.Debug("Total time taken to get Cloud params ", totalTimeTaken) + + return cloudInfo +} + +func getAwsCloudDetails() { + if len(cloudInfo) > 0 { + return + } + + var token, awsRegion string + var tokenHeaders = make(map[string]string) + tokenHeaders["X-aws-ec2-metadata-token-ttl-seconds"] = "21600" + token, ok := callUrl("PUT", BASE_CLOUD_METADATA_URL+"/latest/api/token", tokenHeaders) + if !ok { + return + } + + tokenHeaders["X-aws-ec2-metadata-token"] = token + awsRegion, ok = callUrl("GET", BASE_CLOUD_METADATA_URL+"/latest/meta-data/placement/region", tokenHeaders) + if !ok { + return + } + cloudInfo["region"] = awsRegion + + // var awsAvailZoneId string + // awsAvailZoneId, ok = callUrl("GET", BASE_CLOUD_METADATA_URL+"/latest/meta-data/placement/availability-zone-id", tokenHeaders) + // if !ok { + // return + // } + // cloudInfo["availability_zone_id"] = awsAvailZoneId + + var awsAvailZone string + awsAvailZone, ok = callUrl("GET", BASE_CLOUD_METADATA_URL+"/latest/meta-data/placement/availability-zone", tokenHeaders) + if !ok { + return + } + cloudInfo["availability_zone"] = awsAvailZone +} + +func getAzureCloudDetails() { + if len(cloudInfo) > 0 { + return + } + var tokenHeaders = make(map[string]string) + tokenHeaders["Metadata"] = "true" + azureLocation, ok := callUrl("GET", BASE_CLOUD_METADATA_URL+"/metadata/instance/compute/location?api-version=2021-02-01&format=text", tokenHeaders) + if !ok { + return + } + cloudInfo["location"] = azureLocation + + azureZone, ok := callUrl("GET", BASE_CLOUD_METADATA_URL+"/metadata/instance/compute/zone?api-version=2021-02-01&format=text", tokenHeaders) + if !ok { + return + } + cloudInfo["zone"] = azureZone + +} + +func getGoogleCloudDetails() { + if len(cloudInfo) > 0 { + return + } + + var tokenHeaders = make(map[string]string) + tokenHeaders["Metadata-Flavor"] = "Google" + gcpZone, ok := callUrl("GET", BASE_CLOUD_METADATA_URL+"/computeMetadata/v1/instance/zone", tokenHeaders) + if !ok { + return + } + cloudInfo["zone"] = gcpZone + +} + +func callUrl(method string, url string, headers map[string]string) (string, bool) { + request, err := http.NewRequest(method, url, nil) + if err != nil { + log.Debug("Error while creating new-http-request, Error ", err) + return "", false + } + + request.Header.Set("Content-Type", "text/html; charset=utf-8") + for k, v := range headers { + request.Header.Set(k, v) + } + + // send the request + client := &http.Client{Timeout: HTTP_DEFAULT_TIMEOUT} + response, err := client.Do(request) + + if err != nil { + log.Debug("Call failed to URL ", url, " Error ", err) + return "", false + } + + esponseBodyBytes, err := io.ReadAll(response.Body) + + if err != nil { + log.Debug("Error while reading response-bytes from URL ", url, " Error ", err) + return "", false + } + + responseBody := string(esponseBodyBytes) + + // ignore, if response body is having any 404 kind of error, this responsebody starts with 0 { + cloudLabels := CollectCloudDetails() + log.Debug("Adding Cloud Info to Metric Labels ", cloudLabels) + + for k, v := range cloudLabels { + if v == "" || len(v) == 0 { + v = "null" + } + Cfg.Agent.MetricLabels[k] = v + } + } } // Initialize exporter configuration -func initConfig(configFile string, config *Config) { +func InitConfig(configFile string) { // to print everything out regarding reading the config in app init log.SetLevel(log.DebugLevel) @@ -152,17 +207,20 @@ func initConfig(configFile string, config *Config) { log.Fatalln(err) } - md, err := toml.Decode(string(blob), &config) + md, err := toml.Decode(string(blob), &Cfg) if err != nil { log.Fatalln(err) } - initAllowlistAndBlocklistConfigs(config, md) + initAllowlistAndBlocklistConfigs(md) - config.LogFile = setLogFile(config.AeroProm.LogFile) + Cfg.LogFile = setLogFile(Cfg.Agent.LogFile) aslog.Logger.SetLogger(log.StandardLogger()) - setLogLevel(config.AeroProm.LogLevel) + setLogLevel(Cfg.Agent.LogLevel) + + Cfg.ValidateAndUpdate(md) + Cfg.FetchCloudInfo(md) } // Set log file path @@ -206,181 +264,85 @@ func setLogLevel(level string) { } // Initialize Allowlist and Blocklist configurations -func initAllowlistAndBlocklistConfigs(config *Config, md toml.MetaData) { +func initAllowlistAndBlocklistConfigs(md toml.MetaData) { // Initialize AllowlistEnabled config - config.Aerospike.NamespaceMetricsAllowlistEnabled = md.IsDefined("Aerospike", "namespace_metrics_allowlist") - config.Aerospike.SetMetricsAllowlistEnabled = md.IsDefined("Aerospike", "set_metrics_allowlist") - config.Aerospike.NodeMetricsAllowlistEnabled = md.IsDefined("Aerospike", "node_metrics_allowlist") - config.Aerospike.XdrMetricsAllowlistEnabled = md.IsDefined("Aerospike", "xdr_metrics_allowlist") - config.Aerospike.UserMetricsUsersAllowlistEnabled = md.IsDefined("Aerospike", "user_metrics_users_allowlist") - config.Aerospike.JobMetricsAllowlistEnabled = md.IsDefined("Aerospike", "job_metrics_allowlist") - config.Aerospike.SindexMetricsAllowlistEnabled = md.IsDefined("Aerospike", "sindex_metrics_allowlist") - config.Aerospike.LatenciesMetricsAllowlistEnabled = md.IsDefined("Aerospike", "latencies_metrics_allowlist") + Cfg.Aerospike.NamespaceMetricsAllowlistEnabled = md.IsDefined("Aerospike", "namespace_metrics_allowlist") + Cfg.Aerospike.SetMetricsAllowlistEnabled = md.IsDefined("Aerospike", "set_metrics_allowlist") + Cfg.Aerospike.NodeMetricsAllowlistEnabled = md.IsDefined("Aerospike", "node_metrics_allowlist") + Cfg.Aerospike.XdrMetricsAllowlistEnabled = md.IsDefined("Aerospike", "xdr_metrics_allowlist") + Cfg.Aerospike.UserMetricsUsersAllowlistEnabled = md.IsDefined("Aerospike", "user_metrics_users_allowlist") + Cfg.Aerospike.JobMetricsAllowlistEnabled = md.IsDefined("Aerospike", "job_metrics_allowlist") + Cfg.Aerospike.SindexMetricsAllowlistEnabled = md.IsDefined("Aerospike", "sindex_metrics_allowlist") + Cfg.Aerospike.LatenciesMetricsAllowlistEnabled = md.IsDefined("Aerospike", "latencies_metrics_allowlist") // Tolerate older whitelist and blacklist configurations for a while. // If whitelist and blacklist configs are defined copy them into allowlist and blocklist. // Error out if both configurations are used at the same time. if md.IsDefined("Aerospike", "namespace_metrics_whitelist") { - if config.Aerospike.NamespaceMetricsAllowlistEnabled { + if Cfg.Aerospike.NamespaceMetricsAllowlistEnabled { log.Fatalf("namespace_metrics_whitelist and namespace_metrics_allowlist are mutually exclusive!") } - config.Aerospike.NamespaceMetricsAllowlistEnabled = true - config.Aerospike.NamespaceMetricsAllowlist = config.Aerospike.NamespaceMetricsWhitelist + Cfg.Aerospike.NamespaceMetricsAllowlistEnabled = true + Cfg.Aerospike.NamespaceMetricsAllowlist = Cfg.Aerospike.NamespaceMetricsWhitelist } if md.IsDefined("Aerospike", "set_metrics_whitelist") { - if config.Aerospike.SetMetricsAllowlistEnabled { + if Cfg.Aerospike.SetMetricsAllowlistEnabled { log.Fatalf("set_metrics_whitelist and set_metrics_allowlist are mutually exclusive!") } - config.Aerospike.SetMetricsAllowlistEnabled = true - config.Aerospike.SetMetricsAllowlist = config.Aerospike.SetMetricsWhitelist + Cfg.Aerospike.SetMetricsAllowlistEnabled = true + Cfg.Aerospike.SetMetricsAllowlist = Cfg.Aerospike.SetMetricsWhitelist } if md.IsDefined("Aerospike", "node_metrics_whitelist") { - if config.Aerospike.NodeMetricsAllowlistEnabled { + if Cfg.Aerospike.NodeMetricsAllowlistEnabled { log.Fatalf("node_metrics_whitelist and node_metrics_allowlist are mutually exclusive!") } - config.Aerospike.NodeMetricsAllowlistEnabled = true - config.Aerospike.NodeMetricsAllowlist = config.Aerospike.NodeMetricsWhitelist + Cfg.Aerospike.NodeMetricsAllowlistEnabled = true + Cfg.Aerospike.NodeMetricsAllowlist = Cfg.Aerospike.NodeMetricsWhitelist } if md.IsDefined("Aerospike", "xdr_metrics_whitelist") { - if config.Aerospike.XdrMetricsAllowlistEnabled { + if Cfg.Aerospike.XdrMetricsAllowlistEnabled { log.Fatalf("xdr_metrics_whitelist and xdr_metrics_allowlist are mutually exclusive!") } - config.Aerospike.XdrMetricsAllowlistEnabled = true - config.Aerospike.XdrMetricsAllowlist = config.Aerospike.XdrMetricsWhitelist + Cfg.Aerospike.XdrMetricsAllowlistEnabled = true + Cfg.Aerospike.XdrMetricsAllowlist = Cfg.Aerospike.XdrMetricsWhitelist } if md.IsDefined("Aerospike", "namespace_metrics_blacklist") { - if len(config.Aerospike.NamespaceMetricsBlocklist) > 0 { + if len(Cfg.Aerospike.NamespaceMetricsBlocklist) > 0 { log.Fatalf("namespace_metrics_blacklist and namespace_metrics_blocklist are mutually exclusive!") } - config.Aerospike.NamespaceMetricsBlocklist = config.Aerospike.NamespaceMetricsBlacklist + Cfg.Aerospike.NamespaceMetricsBlocklist = Cfg.Aerospike.NamespaceMetricsBlacklist } if md.IsDefined("Aerospike", "set_metrics_blacklist") { - if len(config.Aerospike.SetMetricsBlocklist) > 0 { + if len(Cfg.Aerospike.SetMetricsBlocklist) > 0 { log.Fatalf("set_metrics_blacklist and set_metrics_blocklist are mutually exclusive!") } - config.Aerospike.SetMetricsBlocklist = config.Aerospike.SetMetricsBlacklist + Cfg.Aerospike.SetMetricsBlocklist = Cfg.Aerospike.SetMetricsBlacklist } if md.IsDefined("Aerospike", "node_metrics_blacklist") { - if len(config.Aerospike.NodeMetricsBlocklist) > 0 { + if len(Cfg.Aerospike.NodeMetricsBlocklist) > 0 { log.Fatalf("node_metrics_blacklist and node_metrics_blocklist are mutually exclusive!") } - config.Aerospike.NodeMetricsBlocklist = config.Aerospike.NodeMetricsBlacklist + Cfg.Aerospike.NodeMetricsBlocklist = Cfg.Aerospike.NodeMetricsBlacklist } if md.IsDefined("Aerospike", "xdr_metrics_blacklist") { - if len(config.Aerospike.XdrMetricsBlocklist) > 0 { + if len(Cfg.Aerospike.XdrMetricsBlocklist) > 0 { log.Fatalf("xdr_metrics_blacklist and xdr_metrics_blocklist are mutually exclusive!") } - config.Aerospike.XdrMetricsBlocklist = config.Aerospike.XdrMetricsBlacklist - } -} - -/** - * this function check is a given stat is allowed or blocked against given patterns - * these patterns are defined within ape.toml - * - * NOTE: when a stat falls within intersection of allow-list & block-list, we block that stat - * - * | empty | no-pattern-match-found | pattern-match-found - * allow-list | allowed/true | not-allowed/ false | allowed/true - * block-list | blocked/false | not-blocked/ false | blocked/true - * - * by checking the blocklist first, - * we avoid processing the allow-list for some of the metrics - * - */ -func (cfg *Config) isMetricAllowed(pContextType ContextType, pRawStatName string) bool { - - pAllowlist := []string{} - pBlocklist := []string{} - - switch pContextType { - case CTX_NAMESPACE: - pAllowlist = cfg.Aerospike.NamespaceMetricsAllowlist - pBlocklist = cfg.Aerospike.NamespaceMetricsBlocklist - case CTX_NODE_STATS: - pAllowlist = cfg.Aerospike.NodeMetricsAllowlist - pBlocklist = cfg.Aerospike.NodeMetricsBlocklist - case CTX_SETS: - pAllowlist = cfg.Aerospike.SetMetricsAllowlist - pBlocklist = cfg.Aerospike.SetMetricsBlocklist - case CTX_SINDEX: - pAllowlist = cfg.Aerospike.SindexMetricsAllowlist - pBlocklist = cfg.Aerospike.SindexMetricsBlocklist - case CTX_XDR: - pAllowlist = cfg.Aerospike.XdrMetricsAllowlist - pBlocklist = cfg.Aerospike.XdrMetricsBlocklist - - } - - /** - * is this stat is in blocked list - * if is-block-list array not-defined or is-empty, then false (i.e. STAT-IS-NOT-BLOCKED) - * else - * match stat with "all-block-list-patterns", - * if-any-pattern-match-found, - * return true (i.e. STAT-IS-BLOCKED) - * if stat-is-not-blocked - * if is-allow-list array not-defined or is-empty, then true (i.e. STAT-IS-ALLOWED) - * else - * match stat with "all-allow-list-patterns" - * if-any-pattern-match-found, - * return true (i.e. STAT-IS-ALLOWED) - */ - if len(pBlocklist) > 0 { - isBlocked := cfg.loopPatterns(pRawStatName, pBlocklist) - if isBlocked { - return false - } - } - - // as it is already blocked, we dont need to check in allow-list, - // i.e. when a stat falls within intersection of allow-list & block-list, we block that stat - // - - if len(pAllowlist) == 0 { - return true + Cfg.Aerospike.XdrMetricsBlocklist = Cfg.Aerospike.XdrMetricsBlacklist } - - return cfg.loopPatterns(pRawStatName, pAllowlist) -} - -/** - * this function is used to loop thru any given regex-pattern-list, [ master_objects or *master* ] - * - * | empty | no-pattern-match-found | pattern-match-found - * allow-list | allowed/true | not-allowed/ false | allowed/true - * block-list | blocked/false | not-blocked/ false | blocked/true - * - * - */ - -func (cfg *Config) loopPatterns(pRawStatName string, pPatternList []string) bool { - - for _, statPattern := range pPatternList { - if len(statPattern) > 0 { - - ge := glob.MustCompile(statPattern) - - if ge.Match(pRawStatName) { - return true - } - } - } - - return false } diff --git a/gauge_stats.go b/internal/pkg/config/gauge_stats.go similarity index 58% rename from gauge_stats.go rename to internal/pkg/config/gauge_stats.go index f4945649..3ad8315f 100644 --- a/gauge_stats.go +++ b/internal/pkg/config/gauge_stats.go @@ -1,4 +1,4 @@ -package main +package config import ( "os" @@ -8,6 +8,8 @@ import ( log "github.com/sirupsen/logrus" ) +var GaugeStatHandler GaugeStats + /** * Defines the structure which holds various Gauge stats for each contexts from a toml file */ @@ -20,6 +22,9 @@ type GaugeStats struct { Sindex []string `toml:"sindex_gauge_stats"` Xdr []string `toml:"xdr_gauge_stats"` + // System Info Gauges + SysInfo []string `toml:"system_info_gauge_stats"` + // why below maps? // all gauge stats are added and mapped as true after reading from toml file NamespaceStats map[string]bool @@ -27,10 +32,13 @@ type GaugeStats struct { SetsStats map[string]bool SindexStats map[string]bool XdrStats map[string]bool + + // System Info Gauges + SysInfoStats map[string]bool } // Initialize exporter configuration -func initGaugeStats(pGaugeStatsFile string, pGaugeStats *GaugeStats) { +func InitGaugeStats(pGaugeStatsFile string) { log.Infof("Loading Gauge Stats file %s", pGaugeStatsFile) @@ -39,47 +47,30 @@ func initGaugeStats(pGaugeStatsFile string, pGaugeStats *GaugeStats) { log.Fatalln(err) } - md, err := toml.Decode(string(blob), &pGaugeStats) + md, err := toml.Decode(string(blob), &GaugeStatHandler) if err != nil { log.Fatalln(err) } // create maps from read stats, this is done as we check each stat if it is a gauge or not - pGaugeStats.NamespaceStats = pGaugeStats.createMapFromArray(pGaugeStats.Namespace) - pGaugeStats.NodeStats = pGaugeStats.createMapFromArray(pGaugeStats.Node) - pGaugeStats.SindexStats = pGaugeStats.createMapFromArray(pGaugeStats.Sindex) - pGaugeStats.SetsStats = pGaugeStats.createMapFromArray(pGaugeStats.Sets) - pGaugeStats.XdrStats = pGaugeStats.createMapFromArray(pGaugeStats.Xdr) + GaugeStatHandler.NamespaceStats = GaugeStatHandler.createMapFromArray(GaugeStatHandler.Namespace) + GaugeStatHandler.NodeStats = GaugeStatHandler.createMapFromArray(GaugeStatHandler.Node) + GaugeStatHandler.SindexStats = GaugeStatHandler.createMapFromArray(GaugeStatHandler.Sindex) + GaugeStatHandler.SetsStats = GaugeStatHandler.createMapFromArray(GaugeStatHandler.Sets) + GaugeStatHandler.XdrStats = GaugeStatHandler.createMapFromArray(GaugeStatHandler.Xdr) // Nullify/empty the Arrays to avoid duplicate stats-copy - pGaugeStats.Namespace = nil - pGaugeStats.Node = nil - pGaugeStats.Sindex = nil - pGaugeStats.Sets = nil - pGaugeStats.Xdr = nil - - log.Debugln("# of Gauge Keys defined at Gauge Stat level are: ", len(md.Keys())) -} + GaugeStatHandler.Namespace = nil + GaugeStatHandler.Node = nil + GaugeStatHandler.Sindex = nil + GaugeStatHandler.Sets = nil + GaugeStatHandler.Xdr = nil -/** - * Check if given stat is a Gauge in a given context like Node, Namespace etc., - */ -func (gm *GaugeStats) isGauge(pContextType ContextType, pStat string) bool { - - switch pContextType { - case CTX_NAMESPACE: - return gm.NamespaceStats[pStat] - case CTX_NODE_STATS: - return gm.NodeStats[pStat] - case CTX_SETS: - return gm.SetsStats[pStat] - case CTX_SINDEX: - return gm.SindexStats[pStat] - case CTX_XDR: - return gm.XdrStats[pStat] - } + // System Info + GaugeStatHandler.SysInfoStats = GaugeStatHandler.createMapFromArray(GaugeStatHandler.SysInfo) + GaugeStatHandler.SysInfo = nil - return false + log.Debugln("# of Gauge Keys defined at Gauge Stat level are: ", len(md.Keys())) } /** diff --git a/internal/pkg/config/tests/gauge_stats_test.go b/internal/pkg/config/tests/gauge_stats_test.go new file mode 100644 index 00000000..2a75a497 --- /dev/null +++ b/internal/pkg/config/tests/gauge_stats_test.go @@ -0,0 +1,91 @@ +package config + +import ( + "fmt" + "os" + "testing" + + "github.com/aerospike/aerospike-prometheus-exporter/internal/pkg/config" + "github.com/stretchr/testify/assert" +) + +const ( + GAUGES_NAMESPACES_COUNT = 99 + GAUGES_NODE_STATS_COUNT = 69 + GAUGES_SETS_COUNT = 9 + GAUGES_SINDEX_COUNT = 13 + GAUGES_XDR_COUNT = 10 +) + +var TESTS_DEFAULT_GAUGE_LIST_FILE = "configs/gauge_stats_list.toml" + +func initConfigsAndGauges() { + // Initialize and validate Gauge config + l_cwd, _ := os.Getwd() + config.InitGaugeStats(l_cwd + "/../../../../" + TESTS_DEFAULT_GAUGE_LIST_FILE) + +} + +func TestGetGaugesNotEmpty(t *testing.T) { + fmt.Println("initializing GaugeMetrics ... TestGetGaugesNotEmpty") + + // Initialize configs and gauges + initConfigsAndGauges() + gaugeList := config.GaugeStatHandler + + nslist := gaugeList.NamespaceStats + nodelist := gaugeList.NodeStats + assert.NotEmpty(t, nslist) + assert.NotEmpty(t, nodelist) +} + +func TestGetGaugesCounts(t *testing.T) { + fmt.Println("initializing GaugeMetrics ... TestGetGaugesCounts") + + // Initialize and validate Gauge config + initConfigsAndGauges() + gaugeList := config.GaugeStatHandler + + glist := gaugeList.NamespaceStats + assert.Equal(t, len(glist), GAUGES_NAMESPACES_COUNT) + + glist = gaugeList.NodeStats + assert.Equal(t, len(glist), GAUGES_NODE_STATS_COUNT) + + glist = gaugeList.SetsStats + assert.Equal(t, len(glist), GAUGES_SETS_COUNT) + + glist = gaugeList.SindexStats + assert.Equal(t, len(glist), GAUGES_SINDEX_COUNT) + + glist = gaugeList.XdrStats + assert.Equal(t, len(glist), GAUGES_XDR_COUNT) + +} + +func TestIsAGaugeTrue(t *testing.T) { + fmt.Println("initializing GaugeMetrics ... TestIsAGaugeTrue") + + // Initialize and validate Gauge config + initConfigsAndGauges() + gaugeList := config.GaugeStatHandler + + assert.Equal(t, gaugeList.NamespaceStats["cache_read_pct"], true) + assert.Equal(t, gaugeList.NodeStats["cluster_clock_skew_stop_writes_sec"], true) + + assert.Equal(t, gaugeList.SindexStats["entries_per_rec"], true) + assert.Equal(t, gaugeList.XdrStats["recoveries_pending"], true) + assert.Equal(t, gaugeList.SetsStats["truncate_lut"], true) + +} + +func TestNoGaugeExists(t *testing.T) { + + fmt.Println("initializing GaugeMetrics ... TestNoGaugeExists") + + // Initialize and validate Gauge config + initConfigsAndGauges() + gaugeList := config.GaugeStatHandler + + assert.Equal(t, gaugeList.NamespaceStats["non-existing-key"], false) +} diff --git a/internal/pkg/dataprovider/aero_server.go b/internal/pkg/dataprovider/aero_server.go new file mode 100644 index 00000000..913ab48b --- /dev/null +++ b/internal/pkg/dataprovider/aero_server.go @@ -0,0 +1,224 @@ +package dataprovider + +import ( + "crypto/tls" + "crypto/x509" + "errors" + "fmt" + "log" + "strings" + "time" + + aero "github.com/aerospike/aerospike-client-go/v6" + "github.com/aerospike/aerospike-client-go/v6/types" + "github.com/aerospike/aerospike-prometheus-exporter/internal/pkg/commons" + "github.com/aerospike/aerospike-prometheus-exporter/internal/pkg/config" + "github.com/sirupsen/logrus" +) + +// Inherits DataProvider interface +type AerospikeServer struct { +} + +func (asm AerospikeServer) RequestInfo(infoKeys []string) (map[string]string, error) { + return fetchRequestInfoFromAerospike(infoKeys) +} + +func (asm AerospikeServer) FetchUsersDetails() (bool, []*aero.UserRoles, error) { + return fetchUsersRoles() +} + +// Aerospike server interaction related code + +var ( + fullHost string + user string + pass string + retryCount int = 3 + + asConnection *aero.Connection + clientPolicy *aero.ClientPolicy + asServerHost *aero.Host +) + +func initializeAndConnectAerospikeServer() (*aero.Connection, error) { + + fullHost = commons.GetFullHost() + + logrus.Debugf("Connecting to host %s ", fullHost) + + asServerHost = aero.NewHost(config.Cfg.Aerospike.Host, int(config.Cfg.Aerospike.Port)) + asServerHost.TLSName = config.Cfg.Aerospike.NodeTLSName + user = config.Cfg.Aerospike.User + pass = config.Cfg.Aerospike.Password + + // Get aerospike auth username + username, err := commons.GetSecret(user) + if err != nil { + log.Fatal(err) + } + + // Get aerospike auth password + password, err := commons.GetSecret(pass) + if err != nil { + log.Fatal(err) + } + + clientPolicy = aero.NewClientPolicy() + clientPolicy.User = string(username) + clientPolicy.Password = string(password) + + authMode := strings.ToLower(strings.TrimSpace(config.Cfg.Aerospike.AuthMode)) + + switch authMode { + case "internal", "": + clientPolicy.AuthMode = aero.AuthModeInternal + case "external": + clientPolicy.AuthMode = aero.AuthModeExternal + case "pki": + if len(config.Cfg.Aerospike.CertFile) == 0 || len(config.Cfg.Aerospike.KeyFile) == 0 { + log.Fatalln("Invalid certificate configuration when using auth mode PKI: cert_file and key_file must be set") + } + clientPolicy.AuthMode = aero.AuthModePKI + default: + log.Fatalln("Invalid auth mode: only `internal`, `external`, `pki` values are accepted.") + } + + // allow only ONE connection + clientPolicy.ConnectionQueueSize = 1 + clientPolicy.Timeout = time.Duration(config.Cfg.Aerospike.Timeout) * time.Second + + clientPolicy.TlsConfig = initAerospikeTLS() + + return createNewConnection() +} + +func initAerospikeTLS() *tls.Config { + var clientPool []tls.Certificate + var serverPool *x509.CertPool + + // load the server / client certificates + serverPool, clientPool = commons.LoadServerOrClientCertificates() + + if serverPool != nil && clientPool != nil { + // we either have server pool or client pool of certificates + tlsConfig := &tls.Config{ + Certificates: clientPool, + RootCAs: serverPool, + InsecureSkipVerify: false, + PreferServerCipherSuites: true, + NameToCertificate: nil, + } + return tlsConfig + } + + return nil +} + +func createNewConnection() (*aero.Connection, error) { + asConnection, err := aero.NewConnection(clientPolicy, asServerHost) + if err != nil { + return nil, err + } + + if clientPolicy.RequiresAuthentication() { + if err := asConnection.Login(clientPolicy); err != nil { + return nil, err + } + } + + // Set no connection deadline to re-use connection, but socketTimeout will be in effect + var deadline time.Time + err = asConnection.SetTimeout(deadline, clientPolicy.Timeout) + if err != nil { + return nil, err + } + + return asConnection, nil +} + +func fetchRequestInfoFromAerospike(infoKeys []string) (map[string]string, error) { + var err error + rawMetrics := make(map[string]string) + + // Retry for connection, timeout, network errors + // including errors from RequestInfo() + for i := 0; i < retryCount; i++ { + // Validate existing connection + if asConnection == nil || !asConnection.IsConnected() { + // Create new connection + asConnection, err = initializeAndConnectAerospikeServer() + if err != nil { + logrus.Debug("Error while connecting to aerospike server: ", err) + continue + } + } + + // Info request + rawMetrics, err = asConnection.RequestInfo(infoKeys...) + if err != nil { + logrus.Debug("Error while requestInfo ( infoKeys...) : ", err) + continue + } + + break + } + + if len(rawMetrics) == 1 { + for k := range rawMetrics { + if strings.HasPrefix(strings.ToUpper(k), "ERROR:") { + return nil, errors.New(k) + } + } + } + + return rawMetrics, err +} + +func fetchUsersRoles() (bool, []*aero.UserRoles, error) { + + shouldFetchUserStatistics := true + + admPlcy := aero.NewAdminPolicy() + admPlcy.Timeout = time.Duration(config.Cfg.Aerospike.Timeout) * time.Second + admCmd := aero.NewAdminCommand(nil) + + var users []*aero.UserRoles + var aeroErr aero.Error + var err error + + for i := 0; i < retryCount; i++ { + // Validate existing connection + if asConnection == nil || !asConnection.IsConnected() { + // Create new connection + asConnection, err = initializeAndConnectAerospikeServer() + if err != nil { + logrus.Debug(err) + continue + } + } + + // query users + users, aeroErr = admCmd.QueryUsers(asConnection, admPlcy) + + if aeroErr != nil { + // Do not retry if there's role violation. + // This could be a permanent error leading to unnecessary errors on server end. + if aeroErr.Matches(types.ROLE_VIOLATION) { + shouldFetchUserStatistics = false + logrus.Debugf("Unable to fetch user statistics: %s", aeroErr.Error()) + break + } + + err = fmt.Errorf(aeroErr.Error()) + if err != nil { + logrus.Warnf("Error while querying users: %s", err) + continue + } + } + + break + } + + return shouldFetchUserStatistics, users, nil +} diff --git a/internal/pkg/dataprovider/data_provider.go b/internal/pkg/dataprovider/data_provider.go new file mode 100644 index 00000000..63532256 --- /dev/null +++ b/internal/pkg/dataprovider/data_provider.go @@ -0,0 +1,37 @@ +package dataprovider + +import ( + aero "github.com/aerospike/aerospike-client-go/v6" + "github.com/aerospike/aerospike-prometheus-exporter/internal/pkg/config" +) + +// //go:generate go run github.com/maxbrunsfeld/counterfeiter/v6 -generate +// +//go:generate go run github.com/maxbrunsfeld/counterfeiter/v6 . DataProvider +type DataProvider interface { + RequestInfo(infokeys []string) (map[string]string, error) + FetchUsersDetails() (bool, []*aero.UserRoles, error) +} + +// pre-create the instances +var dp_aerospike_server = &AerospikeServer{} +var dp_mock_server = &MockAerospikeServer{} +var sys_info_provider = &SystemInfoProvider{} + +func GetProvider() DataProvider { + + if config.Cfg.Agent.UseMockDatasource { + // initialize, internally it will check if already initialized + dp_mock_server.Initialize() + + // a := &FakeDataProvider{} + + return dp_mock_server + } + + return dp_aerospike_server +} + +func GetSystemProvider() *SystemInfoProvider { + return sys_info_provider +} diff --git a/internal/pkg/dataprovider/fake_data_provider.go b/internal/pkg/dataprovider/fake_data_provider.go new file mode 100644 index 00000000..6207c8ed --- /dev/null +++ b/internal/pkg/dataprovider/fake_data_provider.go @@ -0,0 +1,196 @@ +// Code generated by counterfeiter. DO NOT EDIT. +package dataprovider + +import ( + "sync" + + aerospike "github.com/aerospike/aerospike-client-go/v6" +) + +type FakeDataProvider struct { + FetchUsersDetailsStub func() (bool, []*aerospike.UserRoles, error) + fetchUsersDetailsMutex sync.RWMutex + fetchUsersDetailsArgsForCall []struct { + } + fetchUsersDetailsReturns struct { + result1 bool + result2 []*aerospike.UserRoles + result3 error + } + fetchUsersDetailsReturnsOnCall map[int]struct { + result1 bool + result2 []*aerospike.UserRoles + result3 error + } + RequestInfoStub func([]string) (map[string]string, error) + requestInfoMutex sync.RWMutex + requestInfoArgsForCall []struct { + arg1 []string + } + requestInfoReturns struct { + result1 map[string]string + result2 error + } + requestInfoReturnsOnCall map[int]struct { + result1 map[string]string + result2 error + } + invocations map[string][][]interface{} + invocationsMutex sync.RWMutex +} + +func (fake *FakeDataProvider) FetchUsersDetails() (bool, []*aerospike.UserRoles, error) { + fake.fetchUsersDetailsMutex.Lock() + ret, specificReturn := fake.fetchUsersDetailsReturnsOnCall[len(fake.fetchUsersDetailsArgsForCall)] + fake.fetchUsersDetailsArgsForCall = append(fake.fetchUsersDetailsArgsForCall, struct { + }{}) + stub := fake.FetchUsersDetailsStub + fakeReturns := fake.fetchUsersDetailsReturns + fake.recordInvocation("FetchUsersDetails", []interface{}{}) + fake.fetchUsersDetailsMutex.Unlock() + if stub != nil { + return stub() + } + if specificReturn { + return ret.result1, ret.result2, ret.result3 + } + return fakeReturns.result1, fakeReturns.result2, fakeReturns.result3 +} + +func (fake *FakeDataProvider) FetchUsersDetailsCallCount() int { + fake.fetchUsersDetailsMutex.RLock() + defer fake.fetchUsersDetailsMutex.RUnlock() + return len(fake.fetchUsersDetailsArgsForCall) +} + +func (fake *FakeDataProvider) FetchUsersDetailsCalls(stub func() (bool, []*aerospike.UserRoles, error)) { + fake.fetchUsersDetailsMutex.Lock() + defer fake.fetchUsersDetailsMutex.Unlock() + fake.FetchUsersDetailsStub = stub +} + +func (fake *FakeDataProvider) FetchUsersDetailsReturns(result1 bool, result2 []*aerospike.UserRoles, result3 error) { + fake.fetchUsersDetailsMutex.Lock() + defer fake.fetchUsersDetailsMutex.Unlock() + fake.FetchUsersDetailsStub = nil + fake.fetchUsersDetailsReturns = struct { + result1 bool + result2 []*aerospike.UserRoles + result3 error + }{result1, result2, result3} +} + +func (fake *FakeDataProvider) FetchUsersDetailsReturnsOnCall(i int, result1 bool, result2 []*aerospike.UserRoles, result3 error) { + fake.fetchUsersDetailsMutex.Lock() + defer fake.fetchUsersDetailsMutex.Unlock() + fake.FetchUsersDetailsStub = nil + if fake.fetchUsersDetailsReturnsOnCall == nil { + fake.fetchUsersDetailsReturnsOnCall = make(map[int]struct { + result1 bool + result2 []*aerospike.UserRoles + result3 error + }) + } + fake.fetchUsersDetailsReturnsOnCall[i] = struct { + result1 bool + result2 []*aerospike.UserRoles + result3 error + }{result1, result2, result3} +} + +func (fake *FakeDataProvider) RequestInfo(arg1 []string) (map[string]string, error) { + var arg1Copy []string + if arg1 != nil { + arg1Copy = make([]string, len(arg1)) + copy(arg1Copy, arg1) + } + fake.requestInfoMutex.Lock() + ret, specificReturn := fake.requestInfoReturnsOnCall[len(fake.requestInfoArgsForCall)] + fake.requestInfoArgsForCall = append(fake.requestInfoArgsForCall, struct { + arg1 []string + }{arg1Copy}) + stub := fake.RequestInfoStub + fakeReturns := fake.requestInfoReturns + fake.recordInvocation("RequestInfo", []interface{}{arg1Copy}) + fake.requestInfoMutex.Unlock() + if stub != nil { + return stub(arg1) + } + if specificReturn { + return ret.result1, ret.result2 + } + return fakeReturns.result1, fakeReturns.result2 +} + +func (fake *FakeDataProvider) RequestInfoCallCount() int { + fake.requestInfoMutex.RLock() + defer fake.requestInfoMutex.RUnlock() + return len(fake.requestInfoArgsForCall) +} + +func (fake *FakeDataProvider) RequestInfoCalls(stub func([]string) (map[string]string, error)) { + fake.requestInfoMutex.Lock() + defer fake.requestInfoMutex.Unlock() + fake.RequestInfoStub = stub +} + +func (fake *FakeDataProvider) RequestInfoArgsForCall(i int) []string { + fake.requestInfoMutex.RLock() + defer fake.requestInfoMutex.RUnlock() + argsForCall := fake.requestInfoArgsForCall[i] + return argsForCall.arg1 +} + +func (fake *FakeDataProvider) RequestInfoReturns(result1 map[string]string, result2 error) { + fake.requestInfoMutex.Lock() + defer fake.requestInfoMutex.Unlock() + fake.RequestInfoStub = nil + fake.requestInfoReturns = struct { + result1 map[string]string + result2 error + }{result1, result2} +} + +func (fake *FakeDataProvider) RequestInfoReturnsOnCall(i int, result1 map[string]string, result2 error) { + fake.requestInfoMutex.Lock() + defer fake.requestInfoMutex.Unlock() + fake.RequestInfoStub = nil + if fake.requestInfoReturnsOnCall == nil { + fake.requestInfoReturnsOnCall = make(map[int]struct { + result1 map[string]string + result2 error + }) + } + fake.requestInfoReturnsOnCall[i] = struct { + result1 map[string]string + result2 error + }{result1, result2} +} + +func (fake *FakeDataProvider) Invocations() map[string][][]interface{} { + fake.invocationsMutex.RLock() + defer fake.invocationsMutex.RUnlock() + fake.fetchUsersDetailsMutex.RLock() + defer fake.fetchUsersDetailsMutex.RUnlock() + fake.requestInfoMutex.RLock() + defer fake.requestInfoMutex.RUnlock() + copiedInvocations := map[string][][]interface{}{} + for key, value := range fake.invocations { + copiedInvocations[key] = value + } + return copiedInvocations +} + +func (fake *FakeDataProvider) recordInvocation(key string, args []interface{}) { + fake.invocationsMutex.Lock() + defer fake.invocationsMutex.Unlock() + if fake.invocations == nil { + fake.invocations = map[string][][]interface{}{} + } + if fake.invocations[key] == nil { + fake.invocations[key] = [][]interface{}{} + } + fake.invocations[key] = append(fake.invocations[key], args) +} + +var _ DataProvider = new(FakeDataProvider) diff --git a/internal/pkg/dataprovider/host_sysinfo_provider.go b/internal/pkg/dataprovider/host_sysinfo_provider.go new file mode 100644 index 00000000..4f698bb8 --- /dev/null +++ b/internal/pkg/dataprovider/host_sysinfo_provider.go @@ -0,0 +1,111 @@ +package dataprovider + +import ( + "bufio" + "fmt" + "os" + "strings" + + "github.com/prometheus/procfs" + log "github.com/sirupsen/logrus" +) + +type SystemInfoProvider struct { +} + +func (sip SystemInfoProvider) GetFileFD() map[string]string { + fileFDStats := make(map[string]string) + + fileName := getProcFilePath("sys/fs/file-nr") + + file, err := os.Open(fileName) + if err != nil { + log.Error("Error while opening file,", fileName, " Error: ", err) + return fileFDStats + } + defer file.Close() + + scanner := bufio.NewScanner(file) + + for scanner.Scan() { + // + values := strings.Split(scanner.Text(), "\t") + + fileFDStats["allocated"] = values[0] + + } + + log.Debug("FileFD Stats - Count of return stats ", len(fileFDStats)) + + return fileFDStats +} + +func (sip SystemInfoProvider) GetMemInfoStats() map[string]string { + memStats := make(map[string]string) + + fs, err := procfs.NewFS(PROC_PATH) + + if err != nil { + log.Debug("Eror while reading procfs.NewFS system, error: ", err) + return memStats + } + + meminfo, err := fs.Meminfo() + if err != nil { + log.Debug("Eror while reading MemInfo, error: ", err) + return memStats + } + + // All values are in KB, convert to bytes + memStats["Shmem"] = fmt.Sprint(getFloatValue(meminfo.Shmem) * ONE_KILO_BYTE) + memStats["Swap_Cached"] = fmt.Sprint(getFloatValue(meminfo.SwapCached) * ONE_KILO_BYTE) + + log.Debug("MemInfo Stats - Count of return stats ", memStats) + return memStats +} + +func (sip SystemInfoProvider) GetNetStatInfo() map[string]string { + + arrSnmpStats := parseNetStats(getProcFilePath("net/snmp")) + + log.Debug("NetStatsInfo SNMP - Count of return stats ", len(arrSnmpStats)) + return arrSnmpStats +} + +func (sip SystemInfoProvider) GetNetDevStats() ([]map[string]string, []map[string]string) { + arrNetReceiveStats := []map[string]string{} + arrNetTransferStats := []map[string]string{} + + fs, err := procfs.NewFS(PROC_PATH) + if err != nil { + log.Debug("parseNetworkStats Error while reading Net_Dev Stats from ", PROC_PATH, " Error ", err) + return arrNetReceiveStats, arrNetTransferStats + } + + stats, err := fs.NetDev() + if err != nil { + log.Debug("Eror while reading procfs.NewFS system, error: ", err) + return arrNetReceiveStats, arrNetTransferStats + } + + for deviceName, stats := range stats { + + receiveStats := make(map[string]string) + transferStats := make(map[string]string) + + // network receive + receiveStats["device_name"] = deviceName + receiveStats["receive_bytes_total"] = fmt.Sprint(float64(stats.RxBytes)) + + // network transfer + transferStats["device_name"] = deviceName + transferStats["transfer_bytes_total"] = fmt.Sprint(float64(stats.TxBytes)) + + arrNetReceiveStats = append(arrNetReceiveStats, receiveStats) + arrNetTransferStats = append(arrNetTransferStats, transferStats) + } + + log.Debug("NetDevStats - RECEIVE Count of return status ", len(arrNetReceiveStats)) + log.Debug("NetDevStats - TRANSFER Count of return status ", len(arrNetTransferStats)) + return arrNetReceiveStats, arrNetTransferStats +} diff --git a/internal/pkg/dataprovider/host_sysinfo_utils.go b/internal/pkg/dataprovider/host_sysinfo_utils.go new file mode 100644 index 00000000..9ae6af96 --- /dev/null +++ b/internal/pkg/dataprovider/host_sysinfo_utils.go @@ -0,0 +1,91 @@ +package dataprovider + +import ( + "bufio" + "os" + "path/filepath" + "regexp" + "strings" + + "github.com/prometheus/procfs" + log "github.com/sirupsen/logrus" +) + +var ( + PROC_PATH = procfs.DefaultMountPoint + SYS_PATH = "/sys" + ROOTFS_PATH = "/" + NET_STAT_PATH = "net/netstat" + NET_DEV_STAT_PATH = "/proc/net/dev" +) + +const ( + // DISK_IGNORE_NAME_LIST = "^(z?ram|loop|fd|(h|s|v|xv)d[a-z]|nvme\\d+n\\d+p)\\d$" + DISK_IGNORE_NAME_LIST = "^(z?ram|loop|fd|(h|s|xv)d[a-z]|nvme\\d+n\\d+p)\\d$" + // FILE_STAT_IGNORE_LIST = "^(overlay|mqueue)$" + FILE_STAT_IGNORE_LIST = "^(mqueue)$" + + // NET_STAT_ACCEPT_LIST = "^(.*_(inerrors|inerrs)|ip_forwarding|ip(6|ext)_(inoctets|outoctets)|icmp6?_(inmsgs|outmsgs)|tcpext_(listen.*|syncookies.*|tcpsynretrans|tcptimeouts|tcpofoqueue)|tcp_(activeopens|insegs|outsegs|outrsts|passiveopens|retranssegs|currestab)|udp6?_(indatagrams|outdatagrams|noports|rcvbuferrors|sndbuferrors))$" + NET_STAT_ACCEPT_LIST = "tcp_(activeopens|retranssegs|currestab)" +) + +const ( + SECONDS_PER_TICK = 0.0001 // 1000 ticks per second + + // Read/write sectors are "standard UNIX 512-byte sectors" (https://www.kernel.org/doc/Documentation/block/stat.txt) + DISK_SECTOR_SIZE_IN_UNIX = 512.0 + + ONE_KILO_BYTE = 1024 +) + +var ( + regexNetstatAcceptPattern = regexp.MustCompile(NET_STAT_ACCEPT_LIST) +) + +func getProcFilePath(name string) string { + return filepath.Join(PROC_PATH, name) +} + +func acceptNetstat(name string) bool { + return (regexNetstatAcceptPattern != nil && regexNetstatAcceptPattern.MatchString(name)) +} + +func getFloatValue(addr *uint64) float64 { + if addr != nil { + value := float64(*addr) + return value + } + return 0.0 +} + +func parseNetStats(fileName string) map[string]string { + arrSysInfoStats := make(map[string]string) + + file, err := os.Open(fileName) + if err != nil { + log.Error("Error while opening file,", fileName, " Error: ", err) + return arrSysInfoStats + } + defer file.Close() + + scanner := bufio.NewScanner(file) + + for scanner.Scan() { + statNames := strings.Split(scanner.Text(), " ") + scanner.Scan() + values := strings.Split(scanner.Text(), " ") + protocol := statNames[0][:len(statNames[0])-1] + if len(statNames) != len(values) { + return arrSysInfoStats + } + for i := 1; i < len(statNames); i++ { + key := strings.ToLower(protocol + "_" + statNames[i]) + // fmt.Println("key ", key, " acceptNetstat(key): ", acceptNetstat(key), " valueParts[i] ", valueParts[i]) + if acceptNetstat(key) { + arrSysInfoStats[key] = values[i] + } + } + } + + return arrSysInfoStats +} diff --git a/internal/pkg/dataprovider/mock_server.go b/internal/pkg/dataprovider/mock_server.go new file mode 100644 index 00000000..d07ead64 --- /dev/null +++ b/internal/pkg/dataprovider/mock_server.go @@ -0,0 +1,448 @@ +package dataprovider + +import ( + "bufio" + "fmt" + "os" + "strconv" + "strings" + + aero "github.com/aerospike/aerospike-client-go/v6" + "github.com/aerospike/aerospike-prometheus-exporter/internal/pkg/commons" +) + +/* +Dummy Raw Metrics, copied from local Aerospike Server +returns static test data copied from running an Aerospike Server with test namespaces, sets, sindex, jobs, latencies etc., +we need to update this data for each release to reflect the new metrics, contexts etc., +this data is passed to the watcher and expected output is also generated +once we have output from watcher-implementations ( like watcher_namespaces.go, watcher_node_stats.go) + + this output is compated with the expected results generated by Test-Cases +*/ + +var MOCK_DATA_FILE = "mock_test_data.txt" + +func (mas MockAerospikeServer) RequestInfo(infokeys []string) (map[string]string, error) { + + return mas.fetchRequestInfoFromFile(infokeys), nil +} + +func (mas MockAerospikeServer) FetchUsersDetails() (bool, []*aero.UserRoles, error) { + + var aero_users []*aero.UserRoles + + users := mas.getUsersDetails("") + + user_keys := strings.Split(users, ";") + + for _, l_user_key := range user_keys { + if len(l_user_key) > 0 { + l_aero_user := mas.constructAeroUserRolesObject(l_user_key) + aero_users = append(aero_users, l_aero_user) + } + } + + return true, aero_users, nil +} + +// Mock Data Provider related code, Inherits DataProvider interface +type MockAerospikeServer struct { + Namespaces_stats []string + Sets_stats []string + Xdr_stats []string + Node_stats []string + Latencies_stats []string + Sindex_stats []string + + Build []string + Cluster_name []string + Service_clear_std []string + Namespaces []string + Sindexes []string + XdrContext []string + Users []string + Passone_output_str string + Passone_outputs_map map[string]string +} + +// read mock test data from a file +var Is_Mock_Initialized = 0 + +const ( + MOCK_IK_BUILD string = "build" + MOCK_IK_CLUSTER_NAME string = "cluster-name" + MOCK_IK_SERVICE_CLEAR_STD string = "service-clear-std" + MOCK_IK_NODE_STATISTICS string = "statistics" + MOCK_IK_GET_CONFIG_CONTEXT_SERVICE string = "get-config:context=service" + MOCK_IK_SETS string = "sets" + MOCK_IK_NAMESPACES string = "namespaces" + MOCK_IK_SINDEX string = "sindex" + MOCK_IK_NAMESPACE_SLASH string = "namespace/" + MOCK_IK_SINDEX_SLASH string = "sindex/" + MOCK_IK_XDR_CONFIG string = "get-config:context=xdr" + MOCK_IK_XDR_STATS_DC string = "get-stats:context=xdr;dc" + MOCK_IK_XDR_CONFIG_DC string = "get-config:context=xdr;dc" + MOCK_IK_LATENCIES string = "latencies" +) + +func (md *MockAerospikeServer) Initialize() { + + base_folder := commons.GetExporterBaseFolder() + filePath := base_folder + "/internal/pkg/dataprovider/mockdata/" + MOCK_DATA_FILE + + md.internalInitialize(filePath) +} + +func (md *MockAerospikeServer) internalInitialize(filePath string) { + + // avoid multiple initializations + if Is_Mock_Initialized == 1 { + return + } + fmt.Println("************************************************************************************************************") + fmt.Println("* *") + fmt.Println("* *") + fmt.Println("* Mock Aerospike Server is enabled, going to use mock data *") + fmt.Println("* Initializing mock-data-provider-data from file", MOCK_DATA_FILE, " ") + fmt.Println("* *") + fmt.Println("* *") + fmt.Println("************************************************************************************************************") + + // Mark as initialized + Is_Mock_Initialized = 1 + + readFile, err := os.Open(filePath) + + if err != nil { + fmt.Println(err) + } + + fmt.Println("Loading mock-data provider data from file :", filePath) + + fileScanner := bufio.NewScanner(readFile) + fileScanner.Split(bufio.ScanLines) + var fileLines []string + + for fileScanner.Scan() { + fileLines = append(fileLines, strings.TrimSpace(fileScanner.Text())) + } + + readFile.Close() + + for _, line := range fileLines { + if strings.HasPrefix(line, "#") && strings.HasPrefix(line, "//") { + // ignore, comments + } else if len(line) > 0 { + if strings.HasPrefix(line, "namespace-") { + md.Namespaces_stats = append(md.Namespaces_stats, line) + } else if strings.HasPrefix(line, "set-stats") { + md.Sets_stats = append(md.Sets_stats, line) + } else if strings.HasPrefix(line, "latencies-stats") { + md.Latencies_stats = append(md.Latencies_stats, line) + } else if strings.HasPrefix(line, "node-") { + md.Node_stats = append(md.Node_stats, line) + } else if strings.HasPrefix(line, "xdr-") { + md.Xdr_stats = append(md.Xdr_stats, line) + } else if strings.HasPrefix(line, "user-stat") { + md.Users = append(md.Users, line) + } else if strings.HasPrefix(line, "get-config:context=xdr") { // Xdr configs + md.XdrContext = append(md.XdrContext, line) + } else if strings.HasPrefix(line, "sindex-stats:") { + md.Sindex_stats = append(md.Sindex_stats, line) + } else if strings.HasPrefix(line, "sindex:") { + md.Sindexes = append(md.Sindexes, line) + } else if strings.HasPrefix(line, "build") { + md.Build = append(md.Build, line) + } else if strings.HasPrefix(line, "service-clear-std") { + md.Service_clear_std = append(md.Service_clear_std, line) + } else if strings.HasPrefix(line, "cluster-name") { + md.Cluster_name = append(md.Cluster_name, line) + } else if strings.HasPrefix(line, "namespaces") { + md.Namespaces = append(md.Namespaces, line) + } else if strings.HasPrefix(line, "passone_output") { + // passone_output:build:6.4.0.0-rc4 get-config:context=xdr:dcs=backup_dc_asdev20,backup_dc_asdev20_second;src-id=0;trace-sample=0 namespaces:test;bar_device;materials;ns_test_on_flash;test_on_shmem;bar_on_flash;pmkohl_on_device sindex:ns=test:indexname=test_sindex1:set=from_branch_2:bin=occurred:type=numeric:indextype=default:context=null:state=RW + str := strings.ReplaceAll(line, "passone_output:", "") + // store full string also + md.Passone_output_str = str + elements := strings.Split(md.Passone_output_str, " ") + // reinitialize internal map + md.Passone_outputs_map = make(map[string]string) + for _, entry := range elements { + + colonIndex := strings.Index(entry, ":") + // parts := strings.Split(entry, ":") + key := entry[0:colonIndex] + value := entry[colonIndex+1:] + md.Passone_outputs_map[key] = value + } + // md.passone_outputs = splitAndRetrieveStats(str, ";") + + } + + } + } +} + +func (md *MockAerospikeServer) fetchRequestInfoFromFile(infokeys []string) map[string]string { + var l_mock_data_map = make(map[string]string) + + for _, k := range infokeys { + + switch true { + case strings.HasPrefix(k, MOCK_IK_BUILD): + l_mock_data_map[k] = md.getBuild(k) + case strings.HasPrefix(k, MOCK_IK_CLUSTER_NAME): + l_mock_data_map[k] = md.getClusterName(k) + case strings.HasPrefix(k, MOCK_IK_SERVICE_CLEAR_STD): + l_mock_data_map[k] = md.getServiceClearStd(k) + case strings.HasPrefix(k, MOCK_IK_NAMESPACES): + l_mock_data_map[k] = md.getNamespaces(k) + case strings.HasPrefix(k, MOCK_IK_NAMESPACE_SLASH): + l_mock_data_map[k] = md.getSingleNamespaceStats(k) + case strings.HasPrefix(k, MOCK_IK_NODE_STATISTICS): + l_mock_data_map[k] = md.getNodeStatistics(k) + case strings.HasPrefix(k, MOCK_IK_GET_CONFIG_CONTEXT_SERVICE): + l_mock_data_map[k] = md.getNodeStatistics(k) + case strings.HasPrefix(k, MOCK_IK_SETS): + l_mock_data_map[k] = md.getSetsStatistics(k) + case (strings.HasPrefix(k, MOCK_IK_SINDEX) && !strings.Contains(k, "/")): + l_mock_data_map[k] = md.getSindex(k) + case strings.HasPrefix(k, MOCK_IK_SINDEX_SLASH): + l_mock_data_map[k] = md.getSingleSindexStatistics(k) + case strings.HasPrefix(k, MOCK_IK_XDR_CONFIG): + l_mock_data_map[k] = md.getXdrConfigsContext(k) + case strings.HasPrefix(k, MOCK_IK_XDR_CONFIG_DC): + l_mock_data_map[k] = md.getSingleXdrKeys(k) + case strings.HasPrefix(k, MOCK_IK_XDR_STATS_DC): + l_mock_data_map[k] = md.getSingleXdrKeys(k) + case strings.HasPrefix(k, MOCK_IK_LATENCIES): + l_mock_data_map[k] = md.getLatenciesStats(k) + } + } + return l_mock_data_map +} + +func (md *MockAerospikeServer) getBuild(key string) string { + return strings.Split(md.Build[0], "=")[1] +} + +func (md *MockAerospikeServer) getClusterName(key string) string { + return strings.Split(md.Cluster_name[0], "=")[1] +} + +func (md *MockAerospikeServer) getServiceClearStd(key string) string { + return strings.Split(md.Service_clear_std[0], "=")[1] +} + +func (md *MockAerospikeServer) getNamespaces(key string) string { + return strings.Split(md.Namespaces[0], ":")[1] +} + +func (md *MockAerospikeServer) getSingleNamespaceStats(nsKey string) string { + rawMetrics := "" + + ns := strings.Split(nsKey, "/")[1] + + // namespace + for _, entry := range md.Namespaces_stats { + elements := strings.Split(entry, ":") + // format: namespace-stats:test:ns_cluster_size=1;effective_ ( 2nd element is the namespace name "test") + if strings.Contains(entry, (":" + ns + ":")) { + // key := "namespace/" + elements[1] + rawMetrics = elements[2] + } + } + + return rawMetrics +} + +func (md *MockAerospikeServer) getNodeStatistics(key string) string { + rawMetrics := "" + // node-stats & node-configs + for _, entry := range md.Node_stats { + + // node-configs: & node-stats: + elements := strings.Split(entry, ":") + + if strings.HasPrefix(key, "statistics") && strings.HasPrefix(elements[0], "node-stats") { + // key := "statistics" + rawMetrics = elements[1] + } else if strings.HasPrefix(key, "get-config:context=service") && strings.HasPrefix(elements[0], "node-config") { + // key := "get-config:context=service" + rawMetrics = elements[1] + } + } + + return rawMetrics + +} + +func (md *MockAerospikeServer) getSetsStatistics(key string) string { + rawMetrics := "" + // node-stats & node-configs + for _, entry := range md.Sets_stats { + + if strings.HasPrefix(key, "sets") && strings.HasPrefix(entry, "set-stats:") { + // set-stats: + elements := strings.Replace(entry, "set-stats:[", "", 1) + elements = strings.Replace(elements, "]", "", 1) + + // key := "sets" + rawMetrics = elements + } + } + + return rawMetrics + +} + +func (md *MockAerospikeServer) getSindex(key string) string { + rawMetrics := "" + // sindex + for _, entry := range md.Sindexes { + if strings.HasPrefix(key, "sindex") && strings.HasPrefix(entry, "sindex:") { + // set-stats: + elements := strings.Replace(entry, "sindex:", "", 1) + + // key := "sets" + rawMetrics = elements + } + } + + return rawMetrics + +} + +func (md *MockAerospikeServer) getSingleSindexStatistics(key string) string { + rawMetrics := "" + // sindex-stats + for _, entry := range md.Sindex_stats { + elements := strings.Split(entry, ":") + + if strings.HasPrefix(entry, "sindex-stats") && strings.HasPrefix(elements[1], key) { + // key := "sindex" + rawMetrics = elements[2] + } + } + + return rawMetrics + +} + +func (md *MockAerospikeServer) getXdrConfigsContext(key string) string { + rawMetrics := "" + // sindex + for _, entry := range md.XdrContext { + if strings.HasPrefix(key, "get-config:context=xdr") { + // set-stats: + elements := strings.Replace(entry, "get-config:context=xdr:", "", 1) + + // key := "sets" + rawMetrics = elements + } + } + + return rawMetrics + +} + +func (md *MockAerospikeServer) getSingleXdrKeys(key string) string { + rawMetrics := "" + // xdr-stats and xdr-configs + for _, entry := range md.Xdr_stats { + elements := "" + + if strings.HasPrefix(entry, "xdr") && strings.Contains(entry, key) { + // key := "xdr-" + elements = strings.Replace(entry, "xdr-", "", 1) + elements = strings.Replace(elements, (key + ";"), "", 1) + elements = strings.Replace(elements, (key + ":"), "", 1) + + rawMetrics = elements + break + } + } + + return rawMetrics +} + +func (md *MockAerospikeServer) getLatenciesStats(latenciesKey string) string { + rawMetrics := "" + + // Latencies + for _, entry := range md.Latencies_stats { + // format: latencies-stats: + if strings.Contains(entry, ("latencies-stats:")) { + // key := "latencies-stats:" + elements := strings.Replace(entry, "latencies-stats:", "", 1) + rawMetrics = elements + } + } + + return rawMetrics +} + +func (md *MockAerospikeServer) getUsersDetails(key string) string { + rawMetrics := "" + // users + elements := md.Users[0] + elements = strings.Replace(elements, "user-stats:", "", 1) + rawMetrics = elements + + return rawMetrics + +} + +func (md *MockAerospikeServer) constructAeroUserRolesObject(key string) *aero.UserRoles { + + var err error + tmp_user_role := &aero.UserRoles{} + + elements := strings.Split(key, ":") + + // user + tmp_user_role.User = strings.Split(elements[0], "=")[1] + + // roles assigned + tmp_user_role.Roles = strings.Split(strings.Split(elements[1], "=")[1], "-") + + // conns-in-use + s_conns_in_user := strings.Split(elements[2], "=")[1] + tmp_user_role.ConnsInUse = 0 + if s_conns_in_user != "" { + tmp_user_role.ConnsInUse, err = strconv.Atoi(strings.Split(elements[2], "=")[1]) + } + + // read-info + if len(elements) > 2 { + // read-info=1-2-3-4 + l_read_info := strings.Split(strings.Split(elements[3], "=")[1], "-") + l_int_read_info := []int{0, 0, 0, 0} + for i := 0; i < len(l_read_info); i++ { + l_int_read_info[i] = 0 + if l_read_info[i] != "" { + l_int_read_info[i], err = strconv.Atoi(l_read_info[i]) + } + } + tmp_user_role.ReadInfo = l_int_read_info + + // write-info=11-12-13-14 + l_write_info := strings.Split(strings.Split(elements[4], "=")[1], "-") + l_int_write_info := []int{0, 0, 0, 0} + for i := 0; i < len(l_write_info); i++ { + l_int_write_info[i] = 0 + if l_read_info[i] != "" { + l_int_write_info[i], err = strconv.Atoi(l_write_info[i]) + } + } + tmp_user_role.WriteInfo = l_int_write_info + + if err != nil { + fmt.Println("error while convering user-stat values: ", err) + } + + } + + return tmp_user_role +} diff --git a/internal/pkg/dataprovider/mockdata/mock_test_data.txt b/internal/pkg/dataprovider/mockdata/mock_test_data.txt new file mode 100644 index 00000000..4d3863eb --- /dev/null +++ b/internal/pkg/dataprovider/mockdata/mock_test_data.txt @@ -0,0 +1,52 @@ +build=7.0.0.0-rc4 +service-clear-std=172.17.0.6:3000 +cluster-name=70_aus_perth_1 +namespaces:test;bar;bar_pmem;employees_flash + +sindex:ns=test:indexname=test_sindex1:set=from_branch_2:bin=occurred:type=numeric:indextype=default:context=null:state=RW;ns=test:indexname=7x_sindex_1:set=NULL:bin=occurred:type=numeric:indextype=default:context=null:state=RW;ns=bar:indexname=7x_sindex_bar_2:set=NULL:bin=occurred:type=numeric:indextype=default:context=null:state=RW + +get-config:context=xdr:dcs=172.17.0.10,64_asia_sng_dr_1;src-id=0;trace-sample=0 +get-config:context=xdr:dcs=172.17.0.8:8901,64_asia_sng_dr_1;src-id=0;trace-sample=0 + +#passone_output:build:7.0.0.0-rc4 get-config:context=xdr:dcs=172.17.0.10,64_asia_sng_dr_1;src-id=0;trace-sample=0 namespaces:test;bar;bar_pmem;employees_flash sindex:ns=test:indexname=test_sindex1:set=from_branch_2:bin=occurred:type=numeric:indextype=default:context=null:state=RW;ns=test:indexname=7x_sindex_1:set=NULL:bin=occurred:type=numeric:indextype=default:context=null:state=RW;ns=bar:indexname=7x_sindex_bar_2:set=NULL:bin=occurred:type=numeric:indextype=default:context=null:state=RW + +namespace-stats:test:ns_cluster_size=1;effective_replication_factor=1;objects=1798577;tombstones=0;xdr_tombstones=0;xdr_bin_cemeteries=0;master_objects=1798577;master_tombstones=0;prole_objects=0;prole_tombstones=0;non_replica_objects=0;non_replica_tombstones=0;unreplicated_records=0;dead_partitions=0;unavailable_partitions=0;clock_skew_stop_writes=false;stop_writes=true;hwm_breached=true;current_time=437564269;non_expirable_objects=0;expired_objects=0;evicted_objects=0;evict_ttl=0;evict_void_time=0;smd_evict_void_time=0;nsup_cycle_duration=0;nsup_cycle_deleted_pct=0.00;truncate_lut=0;truncating=false;sindex_gc_cleaned=0;xmem_id=1;index_used_bytes=115108928;set_index_used_bytes=0;sindex_used_bytes=33554432;data_total_bytes=4294967296;data_used_bytes=1560717808;data_used_pct=36;data_avail_pct=60;data_compression_ratio=1.000;storage-engine.stripe[0].used_bytes=194993824;storage-engine.stripe[0].free_wblocks=39;storage-engine.stripe[0].writes=23;storage-engine.stripe[0].defrag_q=0;storage-engine.stripe[0].defrag_reads=0;storage-engine.stripe[0].defrag_writes=0;storage-engine.stripe[1].used_bytes=194998160;storage-engine.stripe[1].free_wblocks=39;storage-engine.stripe[1].writes=23;storage-engine.stripe[1].defrag_q=0;storage-engine.stripe[1].defrag_reads=0;storage-engine.stripe[1].defrag_writes=0;storage-engine.stripe[2].used_bytes=195561120;storage-engine.stripe[2].free_wblocks=39;storage-engine.stripe[2].writes=23;storage-engine.stripe[2].defrag_q=0;storage-engine.stripe[2].defrag_reads=0;storage-engine.stripe[2].defrag_writes=0;storage-engine.stripe[3].used_bytes=194781904;storage-engine.stripe[3].free_wblocks=39;storage-engine.stripe[3].writes=23;storage-engine.stripe[3].defrag_q=0;storage-engine.stripe[3].defrag_reads=0;storage-engine.stripe[3].defrag_writes=0;storage-engine.stripe[4].used_bytes=195060464;storage-engine.stripe[4].free_wblocks=39;storage-engine.stripe[4].writes=23;storage-engine.stripe[4].defrag_q=0;storage-engine.stripe[4].defrag_reads=0;storage-engine.stripe[4].defrag_writes=0;storage-engine.stripe[5].used_bytes=194858304;storage-engine.stripe[5].free_wblocks=39;storage-engine.stripe[5].writes=23;storage-engine.stripe[5].defrag_q=0;storage-engine.stripe[5].defrag_reads=0;storage-engine.stripe[5].defrag_writes=0;storage-engine.stripe[6].used_bytes=195283840;storage-engine.stripe[6].free_wblocks=39;storage-engine.stripe[6].writes=23;storage-engine.stripe[6].defrag_q=0;storage-engine.stripe[6].defrag_reads=0;storage-engine.stripe[6].defrag_writes=0;storage-engine.stripe[7].used_bytes=195180192;storage-engine.stripe[7].free_wblocks=39;storage-engine.stripe[7].writes=23;storage-engine.stripe[7].defrag_q=0;storage-engine.stripe[7].defrag_reads=0;storage-engine.stripe[7].defrag_writes=0;record_proto_uncompressed_pct=0.000;record_proto_compression_ratio=1.000;query_proto_uncompressed_pct=0.000;query_proto_compression_ratio=1.000;pending_quiesce=false;effective_is_quiesced=false;nodes_quiesced=0;effective_prefer_uniform_balance=true;migrate_tx_partitions_imbalance=0;migrate_tx_instances=0;migrate_rx_instances=0;migrate_tx_partitions_active=0;migrate_rx_partitions_active=0;migrate_tx_partitions_initial=0;migrate_tx_partitions_remaining=0;migrate_tx_partitions_lead_remaining=0;migrate_rx_partitions_initial=0;migrate_rx_partitions_remaining=0;migrate_records_skipped=0;migrate_records_transmitted=0;migrate_record_retransmits=0;migrate_record_receives=0;migrate_signals_active=0;migrate_signals_remaining=0;appeals_tx_active=0;appeals_rx_active=0;appeals_tx_remaining=0;appeals_records_exonerated=0;client_tsvc_error=0;client_tsvc_timeout=0;client_proxy_complete=0;client_proxy_error=0;client_proxy_timeout=0;client_read_success=599751;client_read_error=0;client_read_timeout=0;client_read_not_found=84966;client_read_filtered_out=0;client_write_success=1798577;client_write_error=33045319;client_write_timeout=0;client_write_filtered_out=0;xdr_client_write_success=0;xdr_client_write_error=0;xdr_client_write_timeout=0;client_delete_success=0;client_delete_error=0;client_delete_timeout=0;client_delete_not_found=0;client_delete_filtered_out=0;xdr_client_delete_success=0;xdr_client_delete_error=0;xdr_client_delete_timeout=0;xdr_client_delete_not_found=0;client_udf_complete=0;client_udf_error=0;client_udf_timeout=0;client_udf_filtered_out=0;client_lang_read_success=0;client_lang_write_success=0;client_lang_delete_success=0;client_lang_error=0;from_proxy_tsvc_error=0;from_proxy_tsvc_timeout=0;from_proxy_read_success=0;from_proxy_read_error=0;from_proxy_read_timeout=0;from_proxy_read_not_found=0;from_proxy_read_filtered_out=0;from_proxy_write_success=0;from_proxy_write_error=0;from_proxy_write_timeout=0;from_proxy_write_filtered_out=0;xdr_from_proxy_write_success=0;xdr_from_proxy_write_error=0;xdr_from_proxy_write_timeout=0;from_proxy_delete_success=0;from_proxy_delete_error=0;from_proxy_delete_timeout=0;from_proxy_delete_not_found=0;from_proxy_delete_filtered_out=0;xdr_from_proxy_delete_success=0;xdr_from_proxy_delete_error=0;xdr_from_proxy_delete_timeout=0;xdr_from_proxy_delete_not_found=0;from_proxy_udf_complete=0;from_proxy_udf_error=0;from_proxy_udf_timeout=0;from_proxy_udf_filtered_out=0;from_proxy_lang_read_success=0;from_proxy_lang_write_success=0;from_proxy_lang_delete_success=0;from_proxy_lang_error=0;batch_sub_tsvc_error=0;batch_sub_tsvc_timeout=0;batch_sub_proxy_complete=0;batch_sub_proxy_error=0;batch_sub_proxy_timeout=0;batch_sub_read_success=36114;batch_sub_read_error=0;batch_sub_read_timeout=0;batch_sub_read_not_found=1937893;batch_sub_read_filtered_out=0;batch_sub_write_success=0;batch_sub_write_error=0;batch_sub_write_timeout=0;batch_sub_write_filtered_out=0;batch_sub_delete_success=0;batch_sub_delete_error=0;batch_sub_delete_timeout=0;batch_sub_delete_not_found=0;batch_sub_delete_filtered_out=0;batch_sub_udf_complete=0;batch_sub_udf_error=0;batch_sub_udf_timeout=0;batch_sub_udf_filtered_out=0;batch_sub_lang_read_success=0;batch_sub_lang_write_success=0;batch_sub_lang_delete_success=0;batch_sub_lang_error=0;from_proxy_batch_sub_tsvc_error=0;from_proxy_batch_sub_tsvc_timeout=0;from_proxy_batch_sub_read_success=0;from_proxy_batch_sub_read_error=0;from_proxy_batch_sub_read_timeout=0;from_proxy_batch_sub_read_not_found=0;from_proxy_batch_sub_read_filtered_out=0;from_proxy_batch_sub_write_success=0;from_proxy_batch_sub_write_error=0;from_proxy_batch_sub_write_timeout=0;from_proxy_batch_sub_write_filtered_out=0;from_proxy_batch_sub_delete_success=0;from_proxy_batch_sub_delete_error=0;from_proxy_batch_sub_delete_timeout=0;from_proxy_batch_sub_delete_not_found=0;from_proxy_batch_sub_delete_filtered_out=0;from_proxy_batch_sub_udf_complete=0;from_proxy_batch_sub_udf_error=0;from_proxy_batch_sub_udf_timeout=0;from_proxy_batch_sub_udf_filtered_out=0;from_proxy_batch_sub_lang_read_success=0;from_proxy_batch_sub_lang_write_success=0;from_proxy_batch_sub_lang_delete_success=0;from_proxy_batch_sub_lang_error=0;udf_sub_tsvc_error=0;udf_sub_tsvc_timeout=0;udf_sub_udf_complete=0;udf_sub_udf_error=0;udf_sub_udf_timeout=0;udf_sub_udf_filtered_out=0;udf_sub_lang_read_success=0;udf_sub_lang_write_success=0;udf_sub_lang_delete_success=0;udf_sub_lang_error=0;ops_sub_tsvc_error=0;ops_sub_tsvc_timeout=0;ops_sub_write_success=0;ops_sub_write_error=0;ops_sub_write_timeout=0;ops_sub_write_filtered_out=0;dup_res_ask=0;dup_res_respond_read=0;dup_res_respond_no_read=0;retransmit_all_read_dup_res=0;retransmit_all_write_dup_res=0;retransmit_all_write_repl_write=0;retransmit_all_delete_dup_res=0;retransmit_all_delete_repl_write=0;retransmit_all_udf_dup_res=0;retransmit_all_udf_repl_write=0;retransmit_all_batch_sub_dup_res=0;retransmit_udf_sub_dup_res=0;retransmit_udf_sub_repl_write=0;retransmit_ops_sub_dup_res=0;retransmit_ops_sub_repl_write=0;pi_query_short_basic_complete=0;pi_query_short_basic_error=0;pi_query_short_basic_timeout=0;pi_query_long_basic_complete=0;pi_query_long_basic_error=0;pi_query_long_basic_abort=0;pi_query_aggr_complete=0;pi_query_aggr_error=0;pi_query_aggr_abort=0;pi_query_udf_bg_complete=0;pi_query_udf_bg_error=0;pi_query_udf_bg_abort=0;pi_query_ops_bg_complete=0;pi_query_ops_bg_error=0;pi_query_ops_bg_abort=0;si_query_short_basic_complete=0;si_query_short_basic_error=0;si_query_short_basic_timeout=0;si_query_long_basic_complete=0;si_query_long_basic_error=0;si_query_long_basic_abort=0;si_query_aggr_complete=0;si_query_aggr_error=0;si_query_aggr_abort=0;si_query_udf_bg_complete=0;si_query_udf_bg_error=0;si_query_udf_bg_abort=0;si_query_ops_bg_complete=0;si_query_ops_bg_error=0;si_query_ops_bg_abort=0;geo_region_query_reqs=0;geo_region_query_cells=0;geo_region_query_points=0;geo_region_query_falsepos=0;re_repl_tsvc_error=0;re_repl_tsvc_timeout=0;re_repl_success=0;re_repl_error=0;re_repl_timeout=0;fail_xdr_forbidden=0;fail_key_busy=0;fail_generation=0;fail_record_too_big=0;fail_client_lost_conflict=0;fail_xdr_lost_conflict=0;deleted_last_bin=0;allow-ttl-without-nsup=false;background-query-max-rps=10000;conflict-resolution-policy=generation;conflict-resolve-writes=false;default-ttl=0;disable-cold-start-eviction=false;disable-write-dup-res=false;disallow-expunge=false;disallow-null-setname=false;enable-benchmarks-batch-sub=false;enable-benchmarks-ops-sub=false;enable-benchmarks-read=false;enable-benchmarks-udf=false;enable-benchmarks-udf-sub=false;enable-benchmarks-write=false;enable-hist-proxy=false;evict-hist-buckets=10000;evict-sys-memory-pct=0;evict-tenths-pct=5;force-long-queries=false;ignore-migrate-fill-delay=false;index-stage-size=1073741824;inline-short-queries=false;max-record-size=0;migrate-order=5;migrate-retransmit-ms=5000;migrate-sleep=1;nsup-hist-period=3600;nsup-period=600;nsup-threads=1;partition-tree-sprigs=256;prefer-uniform-balance=true;rack-id=0;read-consistency-level-override=off;reject-non-xdr-writes=false;reject-xdr-writes=false;replication-factor=2;sindex-stage-size=1073741824;single-query-threads=4;stop-writes-sys-memory-pct=90;strong-consistency=false;strong-consistency-allow-expunge=false;tomb-raider-eligible-age=86400;tomb-raider-period=86400;transaction-pending-limit=20;truncate-threads=4;write-commit-level-override=off;xdr-bin-tombstone-ttl=86400;xdr-tomb-raider-period=120;xdr-tomb-raider-threads=1;geo2dsphere-within.strict=true;geo2dsphere-within.min-level=1;geo2dsphere-within.max-level=20;geo2dsphere-within.max-cells=12;geo2dsphere-within.level-mod=1;geo2dsphere-within.earth-radius-meters=6371000;index-type=shmem;sindex-type=shmem;storage-engine=memory;storage-engine.stripe[0]=stripe-0.0xad001000;storage-engine.stripe[1]=stripe-1.0xad001001;storage-engine.stripe[2]=stripe-2.0xad001002;storage-engine.stripe[3]=stripe-3.0xad001003;storage-engine.stripe[4]=stripe-4.0xad001004;storage-engine.stripe[5]=stripe-5.0xad001005;storage-engine.stripe[6]=stripe-6.0xad001006;storage-engine.stripe[7]=stripe-7.0xad001007;storage-engine.commit-to-device=false;storage-engine.compression=none;storage-engine.compression-acceleration=0;storage-engine.compression-level=0;storage-engine.data-size=4294967296;storage-engine.defrag-lwm-pct=50;storage-engine.defrag-queue-min=0;storage-engine.defrag-sleep=500;storage-engine.defrag-startup-minimum=0;storage-engine.direct-files=false;storage-engine.disable-odsync=false;storage-engine.enable-benchmarks-storage=false;storage-engine.encryption-key-file=null;storage-engine.encryption-old-key-file=null;storage-engine.evict-used-pct=30;storage-engine.filesize=0;storage-engine.flush-max-ms=1000;storage-engine.max-write-cache=67108864;storage-engine.stop-writes-avail-pct=5;storage-engine.stop-writes-used-pct=70;storage-engine.tomb-raider-sleep=1000 +namespace-stats:bar:ns_cluster_size=1;effective_replication_factor=1;objects=0;tombstones=0;xdr_tombstones=0;xdr_bin_cemeteries=0;master_objects=0;master_tombstones=0;prole_objects=0;prole_tombstones=0;non_replica_objects=0;non_replica_tombstones=0;unreplicated_records=0;dead_partitions=0;unavailable_partitions=0;clock_skew_stop_writes=false;stop_writes=true;hwm_breached=false;current_time=437564269;non_expirable_objects=0;expired_objects=0;evicted_objects=0;evict_ttl=0;evict_void_time=0;smd_evict_void_time=0;nsup_cycle_duration=0;nsup_cycle_deleted_pct=0.00;truncate_lut=0;truncating=false;sindex_gc_cleaned=0;xmem_id=2;index_used_bytes=0;set_index_used_bytes=0;sindex_used_bytes=16777216;data_total_bytes=4294967296;data_used_bytes=0;data_used_pct=0;data_avail_pct=99;data_compression_ratio=1.000;cache_read_pct=0;storage-engine.file[0].used_bytes=0;storage-engine.file[0].free_wblocks=511;storage-engine.file[0].write_q=0;storage-engine.file[0].writes=0;storage-engine.file[0].defrag_q=0;storage-engine.file[0].defrag_reads=0;storage-engine.file[0].defrag_writes=0;storage-engine.file[0].age=-1;record_proto_uncompressed_pct=0.000;record_proto_compression_ratio=1.000;query_proto_uncompressed_pct=0.000;query_proto_compression_ratio=1.000;pending_quiesce=false;effective_is_quiesced=false;nodes_quiesced=0;effective_prefer_uniform_balance=true;migrate_tx_partitions_imbalance=0;migrate_tx_instances=0;migrate_rx_instances=0;migrate_tx_partitions_active=0;migrate_rx_partitions_active=0;migrate_tx_partitions_initial=0;migrate_tx_partitions_remaining=0;migrate_tx_partitions_lead_remaining=0;migrate_rx_partitions_initial=0;migrate_rx_partitions_remaining=0;migrate_records_skipped=0;migrate_records_transmitted=0;migrate_record_retransmits=0;migrate_record_receives=0;migrate_signals_active=0;migrate_signals_remaining=0;appeals_tx_active=0;appeals_rx_active=0;appeals_tx_remaining=0;appeals_records_exonerated=0;client_tsvc_error=0;client_tsvc_timeout=0;client_proxy_complete=0;client_proxy_error=0;client_proxy_timeout=0;client_read_success=0;client_read_error=0;client_read_timeout=0;client_read_not_found=0;client_read_filtered_out=0;client_write_success=0;client_write_error=0;client_write_timeout=0;client_write_filtered_out=0;xdr_client_write_success=0;xdr_client_write_error=0;xdr_client_write_timeout=0;client_delete_success=0;client_delete_error=0;client_delete_timeout=0;client_delete_not_found=0;client_delete_filtered_out=0;xdr_client_delete_success=0;xdr_client_delete_error=0;xdr_client_delete_timeout=0;xdr_client_delete_not_found=0;client_udf_complete=0;client_udf_error=0;client_udf_timeout=0;client_udf_filtered_out=0;client_lang_read_success=0;client_lang_write_success=0;client_lang_delete_success=0;client_lang_error=0;from_proxy_tsvc_error=0;from_proxy_tsvc_timeout=0;from_proxy_read_success=0;from_proxy_read_error=0;from_proxy_read_timeout=0;from_proxy_read_not_found=0;from_proxy_read_filtered_out=0;from_proxy_write_success=0;from_proxy_write_error=0;from_proxy_write_timeout=0;from_proxy_write_filtered_out=0;xdr_from_proxy_write_success=0;xdr_from_proxy_write_error=0;xdr_from_proxy_write_timeout=0;from_proxy_delete_success=0;from_proxy_delete_error=0;from_proxy_delete_timeout=0;from_proxy_delete_not_found=0;from_proxy_delete_filtered_out=0;xdr_from_proxy_delete_success=0;xdr_from_proxy_delete_error=0;xdr_from_proxy_delete_timeout=0;xdr_from_proxy_delete_not_found=0;from_proxy_udf_complete=0;from_proxy_udf_error=0;from_proxy_udf_timeout=0;from_proxy_udf_filtered_out=0;from_proxy_lang_read_success=0;from_proxy_lang_write_success=0;from_proxy_lang_delete_success=0;from_proxy_lang_error=0;batch_sub_tsvc_error=0;batch_sub_tsvc_timeout=0;batch_sub_proxy_complete=0;batch_sub_proxy_error=0;batch_sub_proxy_timeout=0;batch_sub_read_success=0;batch_sub_read_error=0;batch_sub_read_timeout=0;batch_sub_read_not_found=0;batch_sub_read_filtered_out=0;batch_sub_write_success=0;batch_sub_write_error=0;batch_sub_write_timeout=0;batch_sub_write_filtered_out=0;batch_sub_delete_success=0;batch_sub_delete_error=0;batch_sub_delete_timeout=0;batch_sub_delete_not_found=0;batch_sub_delete_filtered_out=0;batch_sub_udf_complete=0;batch_sub_udf_error=0;batch_sub_udf_timeout=0;batch_sub_udf_filtered_out=0;batch_sub_lang_read_success=0;batch_sub_lang_write_success=0;batch_sub_lang_delete_success=0;batch_sub_lang_error=0;from_proxy_batch_sub_tsvc_error=0;from_proxy_batch_sub_tsvc_timeout=0;from_proxy_batch_sub_read_success=0;from_proxy_batch_sub_read_error=0;from_proxy_batch_sub_read_timeout=0;from_proxy_batch_sub_read_not_found=0;from_proxy_batch_sub_read_filtered_out=0;from_proxy_batch_sub_write_success=0;from_proxy_batch_sub_write_error=0;from_proxy_batch_sub_write_timeout=0;from_proxy_batch_sub_write_filtered_out=0;from_proxy_batch_sub_delete_success=0;from_proxy_batch_sub_delete_error=0;from_proxy_batch_sub_delete_timeout=0;from_proxy_batch_sub_delete_not_found=0;from_proxy_batch_sub_delete_filtered_out=0;from_proxy_batch_sub_udf_complete=0;from_proxy_batch_sub_udf_error=0;from_proxy_batch_sub_udf_timeout=0;from_proxy_batch_sub_udf_filtered_out=0;from_proxy_batch_sub_lang_read_success=0;from_proxy_batch_sub_lang_write_success=0;from_proxy_batch_sub_lang_delete_success=0;from_proxy_batch_sub_lang_error=0;udf_sub_tsvc_error=0;udf_sub_tsvc_timeout=0;udf_sub_udf_complete=0;udf_sub_udf_error=0;udf_sub_udf_timeout=0;udf_sub_udf_filtered_out=0;udf_sub_lang_read_success=0;udf_sub_lang_write_success=0;udf_sub_lang_delete_success=0;udf_sub_lang_error=0;ops_sub_tsvc_error=0;ops_sub_tsvc_timeout=0;ops_sub_write_success=0;ops_sub_write_error=0;ops_sub_write_timeout=0;ops_sub_write_filtered_out=0;dup_res_ask=0;dup_res_respond_read=0;dup_res_respond_no_read=0;retransmit_all_read_dup_res=0;retransmit_all_write_dup_res=0;retransmit_all_write_repl_write=0;retransmit_all_delete_dup_res=0;retransmit_all_delete_repl_write=0;retransmit_all_udf_dup_res=0;retransmit_all_udf_repl_write=0;retransmit_all_batch_sub_dup_res=0;retransmit_udf_sub_dup_res=0;retransmit_udf_sub_repl_write=0;retransmit_ops_sub_dup_res=0;retransmit_ops_sub_repl_write=0;pi_query_short_basic_complete=0;pi_query_short_basic_error=0;pi_query_short_basic_timeout=0;pi_query_long_basic_complete=0;pi_query_long_basic_error=0;pi_query_long_basic_abort=0;pi_query_aggr_complete=0;pi_query_aggr_error=0;pi_query_aggr_abort=0;pi_query_udf_bg_complete=0;pi_query_udf_bg_error=0;pi_query_udf_bg_abort=0;pi_query_ops_bg_complete=0;pi_query_ops_bg_error=0;pi_query_ops_bg_abort=0;si_query_short_basic_complete=0;si_query_short_basic_error=0;si_query_short_basic_timeout=0;si_query_long_basic_complete=0;si_query_long_basic_error=0;si_query_long_basic_abort=0;si_query_aggr_complete=0;si_query_aggr_error=0;si_query_aggr_abort=0;si_query_udf_bg_complete=0;si_query_udf_bg_error=0;si_query_udf_bg_abort=0;si_query_ops_bg_complete=0;si_query_ops_bg_error=0;si_query_ops_bg_abort=0;geo_region_query_reqs=0;geo_region_query_cells=0;geo_region_query_points=0;geo_region_query_falsepos=0;re_repl_tsvc_error=0;re_repl_tsvc_timeout=0;re_repl_success=0;re_repl_error=0;re_repl_timeout=0;fail_xdr_forbidden=0;fail_key_busy=0;fail_generation=0;fail_record_too_big=0;fail_client_lost_conflict=0;fail_xdr_lost_conflict=0;deleted_last_bin=0;allow-ttl-without-nsup=false;background-query-max-rps=10000;conflict-resolution-policy=generation;conflict-resolve-writes=false;default-ttl=0;disable-cold-start-eviction=false;disable-write-dup-res=false;disallow-expunge=false;disallow-null-setname=false;enable-benchmarks-batch-sub=false;enable-benchmarks-ops-sub=false;enable-benchmarks-read=false;enable-benchmarks-udf=false;enable-benchmarks-udf-sub=false;enable-benchmarks-write=false;enable-hist-proxy=false;evict-hist-buckets=10000;evict-sys-memory-pct=0;evict-tenths-pct=5;force-long-queries=false;ignore-migrate-fill-delay=false;index-stage-size=1073741824;inline-short-queries=false;max-record-size=0;migrate-order=5;migrate-retransmit-ms=5000;migrate-sleep=1;nsup-hist-period=3600;nsup-period=0;nsup-threads=1;partition-tree-sprigs=256;prefer-uniform-balance=true;rack-id=0;read-consistency-level-override=off;reject-non-xdr-writes=false;reject-xdr-writes=false;replication-factor=2;sindex-stage-size=1073741824;single-query-threads=4;stop-writes-sys-memory-pct=90;strong-consistency=false;strong-consistency-allow-expunge=false;tomb-raider-eligible-age=86400;tomb-raider-period=86400;transaction-pending-limit=20;truncate-threads=4;write-commit-level-override=off;xdr-bin-tombstone-ttl=86400;xdr-tomb-raider-period=120;xdr-tomb-raider-threads=1;geo2dsphere-within.strict=true;geo2dsphere-within.min-level=1;geo2dsphere-within.max-level=20;geo2dsphere-within.max-cells=12;geo2dsphere-within.level-mod=1;geo2dsphere-within.earth-radius-meters=6371000;index-type=shmem;sindex-type=shmem;storage-engine=device;storage-engine.file[0]=/opt/aerospike/data/bar.dat;storage-engine.cache-replica-writes=false;storage-engine.cold-start-empty=false;storage-engine.commit-to-device=false;storage-engine.compression=none;storage-engine.compression-acceleration=0;storage-engine.compression-level=0;storage-engine.defrag-lwm-pct=50;storage-engine.defrag-queue-min=0;storage-engine.defrag-sleep=1000;storage-engine.defrag-startup-minimum=0;storage-engine.direct-files=false;storage-engine.disable-odsync=false;storage-engine.enable-benchmarks-storage=false;storage-engine.encryption-key-file=null;storage-engine.encryption-old-key-file=null;storage-engine.evict-used-pct=0;storage-engine.filesize=4294967296;storage-engine.flush-max-ms=1000;storage-engine.max-write-cache=67108864;storage-engine.post-write-queue=0;storage-engine.read-page-cache=false;storage-engine.serialize-tomb-raider=false;storage-engine.sindex-startup-device-scan=false;storage-engine.stop-writes-avail-pct=5;storage-engine.stop-writes-used-pct=70;storage-engine.tomb-raider-sleep=1000;storage-engine.write-block-size=8388608 +namespace-stats:bar_pmem:ns_cluster_size=1;effective_replication_factor=1;objects=0;tombstones=0;xdr_tombstones=0;xdr_bin_cemeteries=0;master_objects=0;master_tombstones=0;prole_objects=0;prole_tombstones=0;non_replica_objects=0;non_replica_tombstones=0;unreplicated_records=0;dead_partitions=0;unavailable_partitions=0;clock_skew_stop_writes=false;stop_writes=true;hwm_breached=false;current_time=437564269;non_expirable_objects=0;expired_objects=0;evicted_objects=0;evict_ttl=0;evict_void_time=0;smd_evict_void_time=0;nsup_cycle_duration=0;nsup_cycle_deleted_pct=0.00;truncate_lut=0;truncating=false;sindex_gc_cleaned=0;xmem_id=3;index_used_bytes=0;set_index_used_bytes=0;sindex_used_bytes=0;data_total_bytes=4294967296;data_used_bytes=0;data_used_pct=0;data_avail_pct=99;data_compression_ratio=1.000;storage-engine.file[0].used_bytes=0;storage-engine.file[0].free_wblocks=511;storage-engine.file[0].write_q=0;storage-engine.file[0].writes=0;storage-engine.file[0].defrag_q=0;storage-engine.file[0].defrag_reads=0;storage-engine.file[0].defrag_writes=0;storage-engine.file[0].age=-1;record_proto_uncompressed_pct=0.000;record_proto_compression_ratio=1.000;query_proto_uncompressed_pct=0.000;query_proto_compression_ratio=1.000;pending_quiesce=false;effective_is_quiesced=false;nodes_quiesced=0;effective_prefer_uniform_balance=true;migrate_tx_partitions_imbalance=0;migrate_tx_instances=0;migrate_rx_instances=0;migrate_tx_partitions_active=0;migrate_rx_partitions_active=0;migrate_tx_partitions_initial=0;migrate_tx_partitions_remaining=0;migrate_tx_partitions_lead_remaining=0;migrate_rx_partitions_initial=0;migrate_rx_partitions_remaining=0;migrate_records_skipped=0;migrate_records_transmitted=0;migrate_record_retransmits=0;migrate_record_receives=0;migrate_signals_active=0;migrate_signals_remaining=0;appeals_tx_active=0;appeals_rx_active=0;appeals_tx_remaining=0;appeals_records_exonerated=0;client_tsvc_error=0;client_tsvc_timeout=0;client_proxy_complete=0;client_proxy_error=0;client_proxy_timeout=0;client_read_success=0;client_read_error=0;client_read_timeout=0;client_read_not_found=0;client_read_filtered_out=0;client_write_success=0;client_write_error=0;client_write_timeout=0;client_write_filtered_out=0;xdr_client_write_success=0;xdr_client_write_error=0;xdr_client_write_timeout=0;client_delete_success=0;client_delete_error=0;client_delete_timeout=0;client_delete_not_found=0;client_delete_filtered_out=0;xdr_client_delete_success=0;xdr_client_delete_error=0;xdr_client_delete_timeout=0;xdr_client_delete_not_found=0;client_udf_complete=0;client_udf_error=0;client_udf_timeout=0;client_udf_filtered_out=0;client_lang_read_success=0;client_lang_write_success=0;client_lang_delete_success=0;client_lang_error=0;from_proxy_tsvc_error=0;from_proxy_tsvc_timeout=0;from_proxy_read_success=0;from_proxy_read_error=0;from_proxy_read_timeout=0;from_proxy_read_not_found=0;from_proxy_read_filtered_out=0;from_proxy_write_success=0;from_proxy_write_error=0;from_proxy_write_timeout=0;from_proxy_write_filtered_out=0;xdr_from_proxy_write_success=0;xdr_from_proxy_write_error=0;xdr_from_proxy_write_timeout=0;from_proxy_delete_success=0;from_proxy_delete_error=0;from_proxy_delete_timeout=0;from_proxy_delete_not_found=0;from_proxy_delete_filtered_out=0;xdr_from_proxy_delete_success=0;xdr_from_proxy_delete_error=0;xdr_from_proxy_delete_timeout=0;xdr_from_proxy_delete_not_found=0;from_proxy_udf_complete=0;from_proxy_udf_error=0;from_proxy_udf_timeout=0;from_proxy_udf_filtered_out=0;from_proxy_lang_read_success=0;from_proxy_lang_write_success=0;from_proxy_lang_delete_success=0;from_proxy_lang_error=0;batch_sub_tsvc_error=0;batch_sub_tsvc_timeout=0;batch_sub_proxy_complete=0;batch_sub_proxy_error=0;batch_sub_proxy_timeout=0;batch_sub_read_success=0;batch_sub_read_error=0;batch_sub_read_timeout=0;batch_sub_read_not_found=0;batch_sub_read_filtered_out=0;batch_sub_write_success=0;batch_sub_write_error=0;batch_sub_write_timeout=0;batch_sub_write_filtered_out=0;batch_sub_delete_success=0;batch_sub_delete_error=0;batch_sub_delete_timeout=0;batch_sub_delete_not_found=0;batch_sub_delete_filtered_out=0;batch_sub_udf_complete=0;batch_sub_udf_error=0;batch_sub_udf_timeout=0;batch_sub_udf_filtered_out=0;batch_sub_lang_read_success=0;batch_sub_lang_write_success=0;batch_sub_lang_delete_success=0;batch_sub_lang_error=0;from_proxy_batch_sub_tsvc_error=0;from_proxy_batch_sub_tsvc_timeout=0;from_proxy_batch_sub_read_success=0;from_proxy_batch_sub_read_error=0;from_proxy_batch_sub_read_timeout=0;from_proxy_batch_sub_read_not_found=0;from_proxy_batch_sub_read_filtered_out=0;from_proxy_batch_sub_write_success=0;from_proxy_batch_sub_write_error=0;from_proxy_batch_sub_write_timeout=0;from_proxy_batch_sub_write_filtered_out=0;from_proxy_batch_sub_delete_success=0;from_proxy_batch_sub_delete_error=0;from_proxy_batch_sub_delete_timeout=0;from_proxy_batch_sub_delete_not_found=0;from_proxy_batch_sub_delete_filtered_out=0;from_proxy_batch_sub_udf_complete=0;from_proxy_batch_sub_udf_error=0;from_proxy_batch_sub_udf_timeout=0;from_proxy_batch_sub_udf_filtered_out=0;from_proxy_batch_sub_lang_read_success=0;from_proxy_batch_sub_lang_write_success=0;from_proxy_batch_sub_lang_delete_success=0;from_proxy_batch_sub_lang_error=0;udf_sub_tsvc_error=0;udf_sub_tsvc_timeout=0;udf_sub_udf_complete=0;udf_sub_udf_error=0;udf_sub_udf_timeout=0;udf_sub_udf_filtered_out=0;udf_sub_lang_read_success=0;udf_sub_lang_write_success=0;udf_sub_lang_delete_success=0;udf_sub_lang_error=0;ops_sub_tsvc_error=0;ops_sub_tsvc_timeout=0;ops_sub_write_success=0;ops_sub_write_error=0;ops_sub_write_timeout=0;ops_sub_write_filtered_out=0;dup_res_ask=0;dup_res_respond_read=0;dup_res_respond_no_read=0;retransmit_all_read_dup_res=0;retransmit_all_write_dup_res=0;retransmit_all_write_repl_write=0;retransmit_all_delete_dup_res=0;retransmit_all_delete_repl_write=0;retransmit_all_udf_dup_res=0;retransmit_all_udf_repl_write=0;retransmit_all_batch_sub_dup_res=0;retransmit_udf_sub_dup_res=0;retransmit_udf_sub_repl_write=0;retransmit_ops_sub_dup_res=0;retransmit_ops_sub_repl_write=0;pi_query_short_basic_complete=0;pi_query_short_basic_error=0;pi_query_short_basic_timeout=0;pi_query_long_basic_complete=0;pi_query_long_basic_error=0;pi_query_long_basic_abort=0;pi_query_aggr_complete=0;pi_query_aggr_error=0;pi_query_aggr_abort=0;pi_query_udf_bg_complete=0;pi_query_udf_bg_error=0;pi_query_udf_bg_abort=0;pi_query_ops_bg_complete=0;pi_query_ops_bg_error=0;pi_query_ops_bg_abort=0;si_query_short_basic_complete=0;si_query_short_basic_error=0;si_query_short_basic_timeout=0;si_query_long_basic_complete=0;si_query_long_basic_error=0;si_query_long_basic_abort=0;si_query_aggr_complete=0;si_query_aggr_error=0;si_query_aggr_abort=0;si_query_udf_bg_complete=0;si_query_udf_bg_error=0;si_query_udf_bg_abort=0;si_query_ops_bg_complete=0;si_query_ops_bg_error=0;si_query_ops_bg_abort=0;geo_region_query_reqs=0;geo_region_query_cells=0;geo_region_query_points=0;geo_region_query_falsepos=0;re_repl_tsvc_error=0;re_repl_tsvc_timeout=0;re_repl_success=0;re_repl_error=0;re_repl_timeout=0;fail_xdr_forbidden=0;fail_key_busy=0;fail_generation=0;fail_record_too_big=0;fail_client_lost_conflict=0;fail_xdr_lost_conflict=0;deleted_last_bin=0;allow-ttl-without-nsup=false;background-query-max-rps=10000;conflict-resolution-policy=generation;conflict-resolve-writes=false;default-ttl=0;disable-cold-start-eviction=false;disable-write-dup-res=false;disallow-expunge=false;disallow-null-setname=false;enable-benchmarks-batch-sub=false;enable-benchmarks-ops-sub=false;enable-benchmarks-read=false;enable-benchmarks-udf=false;enable-benchmarks-udf-sub=false;enable-benchmarks-write=false;enable-hist-proxy=false;evict-hist-buckets=10000;evict-sys-memory-pct=0;evict-tenths-pct=5;force-long-queries=false;ignore-migrate-fill-delay=false;index-stage-size=1073741824;inline-short-queries=false;max-record-size=0;migrate-order=5;migrate-retransmit-ms=5000;migrate-sleep=1;nsup-hist-period=3600;nsup-period=0;nsup-threads=1;partition-tree-sprigs=256;prefer-uniform-balance=true;rack-id=0;read-consistency-level-override=off;reject-non-xdr-writes=false;reject-xdr-writes=false;replication-factor=2;sindex-stage-size=1073741824;single-query-threads=4;stop-writes-sys-memory-pct=90;strong-consistency=false;strong-consistency-allow-expunge=false;tomb-raider-eligible-age=86400;tomb-raider-period=86400;transaction-pending-limit=20;truncate-threads=4;write-commit-level-override=off;xdr-bin-tombstone-ttl=86400;xdr-tomb-raider-period=120;xdr-tomb-raider-threads=1;geo2dsphere-within.strict=true;geo2dsphere-within.min-level=1;geo2dsphere-within.max-level=20;geo2dsphere-within.max-cells=12;geo2dsphere-within.level-mod=1;geo2dsphere-within.earth-radius-meters=6371000;index-type=shmem;sindex-type=shmem;storage-engine=pmem;storage-engine.file[0]=/opt/aerospike/data/bar_pmem.dat;storage-engine.commit-to-device=false;storage-engine.compression=none;storage-engine.compression-acceleration=0;storage-engine.compression-level=0;storage-engine.defrag-lwm-pct=50;storage-engine.defrag-queue-min=0;storage-engine.defrag-sleep=1000;storage-engine.defrag-startup-minimum=0;storage-engine.direct-files=false;storage-engine.disable-odsync=false;storage-engine.enable-benchmarks-storage=false;storage-engine.encryption-key-file=null;storage-engine.encryption-old-key-file=null;storage-engine.evict-used-pct=0;storage-engine.filesize=4294967296;storage-engine.flush-max-ms=1000;storage-engine.max-write-cache=67108864;storage-engine.stop-writes-avail-pct=5;storage-engine.stop-writes-used-pct=70;storage-engine.tomb-raider-sleep=1000 +namespace-stats:employees_flash:ns_cluster_size=1;effective_replication_factor=1;objects=0;tombstones=0;xdr_tombstones=0;xdr_bin_cemeteries=0;master_objects=0;master_tombstones=0;prole_objects=0;prole_tombstones=0;non_replica_objects=0;non_replica_tombstones=0;unreplicated_records=0;dead_partitions=0;unavailable_partitions=0;clock_skew_stop_writes=false;stop_writes=true;hwm_breached=false;current_time=437564269;non_expirable_objects=0;expired_objects=0;evicted_objects=0;evict_ttl=0;evict_void_time=0;smd_evict_void_time=0;nsup_cycle_duration=0;nsup_cycle_deleted_pct=0.00;truncate_lut=0;truncating=false;sindex_gc_cleaned=0;xmem_id=4;index_used_bytes=0;index_mounts_used_pct=0;index_flash_alloc_bytes=0;index_flash_alloc_pct=0;index-type.mount[0].age=-1;set_index_used_bytes=0;sindex_used_bytes=0;sindex_mounts_used_pct=0;sindex-type.mount[0].age=-1;data_total_bytes=4294967296;data_used_bytes=0;data_used_pct=0;data_avail_pct=99;data_compression_ratio=1.000;cache_read_pct=0;storage-engine.file[0].used_bytes=0;storage-engine.file[0].free_wblocks=4088;storage-engine.file[0].write_q=0;storage-engine.file[0].writes=0;storage-engine.file[0].defrag_q=0;storage-engine.file[0].defrag_reads=0;storage-engine.file[0].defrag_writes=0;storage-engine.file[0].age=-1;record_proto_uncompressed_pct=0.000;record_proto_compression_ratio=1.000;query_proto_uncompressed_pct=0.000;query_proto_compression_ratio=1.000;pending_quiesce=false;effective_is_quiesced=false;nodes_quiesced=0;effective_prefer_uniform_balance=true;migrate_tx_partitions_imbalance=0;migrate_tx_instances=0;migrate_rx_instances=0;migrate_tx_partitions_active=0;migrate_rx_partitions_active=0;migrate_tx_partitions_initial=0;migrate_tx_partitions_remaining=0;migrate_tx_partitions_lead_remaining=0;migrate_rx_partitions_initial=0;migrate_rx_partitions_remaining=0;migrate_records_skipped=0;migrate_records_transmitted=0;migrate_record_retransmits=0;migrate_record_receives=0;migrate_signals_active=0;migrate_signals_remaining=0;appeals_tx_active=0;appeals_rx_active=0;appeals_tx_remaining=0;appeals_records_exonerated=0;client_tsvc_error=0;client_tsvc_timeout=0;client_proxy_complete=0;client_proxy_error=0;client_proxy_timeout=0;client_read_success=0;client_read_error=0;client_read_timeout=0;client_read_not_found=0;client_read_filtered_out=0;client_write_success=0;client_write_error=0;client_write_timeout=0;client_write_filtered_out=0;xdr_client_write_success=0;xdr_client_write_error=0;xdr_client_write_timeout=0;client_delete_success=0;client_delete_error=0;client_delete_timeout=0;client_delete_not_found=0;client_delete_filtered_out=0;xdr_client_delete_success=0;xdr_client_delete_error=0;xdr_client_delete_timeout=0;xdr_client_delete_not_found=0;client_udf_complete=0;client_udf_error=0;client_udf_timeout=0;client_udf_filtered_out=0;client_lang_read_success=0;client_lang_write_success=0;client_lang_delete_success=0;client_lang_error=0;from_proxy_tsvc_error=0;from_proxy_tsvc_timeout=0;from_proxy_read_success=0;from_proxy_read_error=0;from_proxy_read_timeout=0;from_proxy_read_not_found=0;from_proxy_read_filtered_out=0;from_proxy_write_success=0;from_proxy_write_error=0;from_proxy_write_timeout=0;from_proxy_write_filtered_out=0;xdr_from_proxy_write_success=0;xdr_from_proxy_write_error=0;xdr_from_proxy_write_timeout=0;from_proxy_delete_success=0;from_proxy_delete_error=0;from_proxy_delete_timeout=0;from_proxy_delete_not_found=0;from_proxy_delete_filtered_out=0;xdr_from_proxy_delete_success=0;xdr_from_proxy_delete_error=0;xdr_from_proxy_delete_timeout=0;xdr_from_proxy_delete_not_found=0;from_proxy_udf_complete=0;from_proxy_udf_error=0;from_proxy_udf_timeout=0;from_proxy_udf_filtered_out=0;from_proxy_lang_read_success=0;from_proxy_lang_write_success=0;from_proxy_lang_delete_success=0;from_proxy_lang_error=0;batch_sub_tsvc_error=0;batch_sub_tsvc_timeout=0;batch_sub_proxy_complete=0;batch_sub_proxy_error=0;batch_sub_proxy_timeout=0;batch_sub_read_success=0;batch_sub_read_error=0;batch_sub_read_timeout=0;batch_sub_read_not_found=0;batch_sub_read_filtered_out=0;batch_sub_write_success=0;batch_sub_write_error=0;batch_sub_write_timeout=0;batch_sub_write_filtered_out=0;batch_sub_delete_success=0;batch_sub_delete_error=0;batch_sub_delete_timeout=0;batch_sub_delete_not_found=0;batch_sub_delete_filtered_out=0;batch_sub_udf_complete=0;batch_sub_udf_error=0;batch_sub_udf_timeout=0;batch_sub_udf_filtered_out=0;batch_sub_lang_read_success=0;batch_sub_lang_write_success=0;batch_sub_lang_delete_success=0;batch_sub_lang_error=0;from_proxy_batch_sub_tsvc_error=0;from_proxy_batch_sub_tsvc_timeout=0;from_proxy_batch_sub_read_success=0;from_proxy_batch_sub_read_error=0;from_proxy_batch_sub_read_timeout=0;from_proxy_batch_sub_read_not_found=0;from_proxy_batch_sub_read_filtered_out=0;from_proxy_batch_sub_write_success=0;from_proxy_batch_sub_write_error=0;from_proxy_batch_sub_write_timeout=0;from_proxy_batch_sub_write_filtered_out=0;from_proxy_batch_sub_delete_success=0;from_proxy_batch_sub_delete_error=0;from_proxy_batch_sub_delete_timeout=0;from_proxy_batch_sub_delete_not_found=0;from_proxy_batch_sub_delete_filtered_out=0;from_proxy_batch_sub_udf_complete=0;from_proxy_batch_sub_udf_error=0;from_proxy_batch_sub_udf_timeout=0;from_proxy_batch_sub_udf_filtered_out=0;from_proxy_batch_sub_lang_read_success=0;from_proxy_batch_sub_lang_write_success=0;from_proxy_batch_sub_lang_delete_success=0;from_proxy_batch_sub_lang_error=0;udf_sub_tsvc_error=0;udf_sub_tsvc_timeout=0;udf_sub_udf_complete=0;udf_sub_udf_error=0;udf_sub_udf_timeout=0;udf_sub_udf_filtered_out=0;udf_sub_lang_read_success=0;udf_sub_lang_write_success=0;udf_sub_lang_delete_success=0;udf_sub_lang_error=0;ops_sub_tsvc_error=0;ops_sub_tsvc_timeout=0;ops_sub_write_success=0;ops_sub_write_error=0;ops_sub_write_timeout=0;ops_sub_write_filtered_out=0;dup_res_ask=0;dup_res_respond_read=0;dup_res_respond_no_read=0;retransmit_all_read_dup_res=0;retransmit_all_write_dup_res=0;retransmit_all_write_repl_write=0;retransmit_all_delete_dup_res=0;retransmit_all_delete_repl_write=0;retransmit_all_udf_dup_res=0;retransmit_all_udf_repl_write=0;retransmit_all_batch_sub_dup_res=0;retransmit_udf_sub_dup_res=0;retransmit_udf_sub_repl_write=0;retransmit_ops_sub_dup_res=0;retransmit_ops_sub_repl_write=0;pi_query_short_basic_complete=0;pi_query_short_basic_error=0;pi_query_short_basic_timeout=0;pi_query_long_basic_complete=0;pi_query_long_basic_error=0;pi_query_long_basic_abort=0;pi_query_aggr_complete=0;pi_query_aggr_error=0;pi_query_aggr_abort=0;pi_query_udf_bg_complete=0;pi_query_udf_bg_error=0;pi_query_udf_bg_abort=0;pi_query_ops_bg_complete=0;pi_query_ops_bg_error=0;pi_query_ops_bg_abort=0;si_query_short_basic_complete=0;si_query_short_basic_error=0;si_query_short_basic_timeout=0;si_query_long_basic_complete=0;si_query_long_basic_error=0;si_query_long_basic_abort=0;si_query_aggr_complete=0;si_query_aggr_error=0;si_query_aggr_abort=0;si_query_udf_bg_complete=0;si_query_udf_bg_error=0;si_query_udf_bg_abort=0;si_query_ops_bg_complete=0;si_query_ops_bg_error=0;si_query_ops_bg_abort=0;geo_region_query_reqs=0;geo_region_query_cells=0;geo_region_query_points=0;geo_region_query_falsepos=0;re_repl_tsvc_error=0;re_repl_tsvc_timeout=0;re_repl_success=0;re_repl_error=0;re_repl_timeout=0;fail_xdr_forbidden=0;fail_key_busy=0;fail_generation=0;fail_record_too_big=0;fail_client_lost_conflict=0;fail_xdr_lost_conflict=0;deleted_last_bin=0;allow-ttl-without-nsup=false;background-query-max-rps=10000;conflict-resolution-policy=generation;conflict-resolve-writes=false;default-ttl=0;disable-cold-start-eviction=false;disable-write-dup-res=false;disallow-expunge=false;disallow-null-setname=false;enable-benchmarks-batch-sub=false;enable-benchmarks-ops-sub=false;enable-benchmarks-read=false;enable-benchmarks-udf=false;enable-benchmarks-udf-sub=false;enable-benchmarks-write=false;enable-hist-proxy=false;evict-hist-buckets=10000;evict-sys-memory-pct=0;evict-tenths-pct=5;force-long-queries=false;ignore-migrate-fill-delay=false;index-stage-size=1073741824;inline-short-queries=false;max-record-size=0;migrate-order=5;migrate-retransmit-ms=5000;migrate-sleep=1;nsup-hist-period=3600;nsup-period=0;nsup-threads=1;partition-tree-sprigs=256;prefer-uniform-balance=true;rack-id=0;read-consistency-level-override=off;reject-non-xdr-writes=false;reject-xdr-writes=false;replication-factor=2;sindex-stage-size=1073741824;single-query-threads=4;stop-writes-sys-memory-pct=90;strong-consistency=false;strong-consistency-allow-expunge=false;tomb-raider-eligible-age=86400;tomb-raider-period=86400;transaction-pending-limit=20;truncate-threads=4;write-commit-level-override=off;xdr-bin-tombstone-ttl=86400;xdr-tomb-raider-period=120;xdr-tomb-raider-threads=1;geo2dsphere-within.strict=true;geo2dsphere-within.min-level=1;geo2dsphere-within.max-level=20;geo2dsphere-within.max-cells=12;geo2dsphere-within.level-mod=1;geo2dsphere-within.earth-radius-meters=6371000;index-type=flash;index-type.mount[0]=/opt/aerospike/data/emp_flash_index;index-type.evict-mounts-pct=30;index-type.mounts-budget=4294967296;sindex-type=flash;sindex-type.mount[0]=/opt/aerospike/data/emp_flash_sindex;sindex-type.evict-mounts-pct=0;sindex-type.mounts-budget=4294967296;storage-engine=device;storage-engine.file[0]=/opt/aerospike/data/emp_flash.dat;storage-engine.cache-replica-writes=false;storage-engine.cold-start-empty=false;storage-engine.commit-to-device=false;storage-engine.compression=none;storage-engine.compression-acceleration=0;storage-engine.compression-level=0;storage-engine.defrag-lwm-pct=50;storage-engine.defrag-queue-min=0;storage-engine.defrag-sleep=1000;storage-engine.defrag-startup-minimum=0;storage-engine.direct-files=false;storage-engine.disable-odsync=false;storage-engine.enable-benchmarks-storage=false;storage-engine.encryption-key-file=null;storage-engine.encryption-old-key-file=null;storage-engine.evict-used-pct=0;storage-engine.filesize=4294967296;storage-engine.flush-max-ms=1000;storage-engine.max-write-cache=67108864;storage-engine.post-write-queue=256;storage-engine.read-page-cache=false;storage-engine.serialize-tomb-raider=false;storage-engine.sindex-startup-device-scan=false;storage-engine.stop-writes-avail-pct=5;storage-engine.stop-writes-used-pct=70;storage-engine.tomb-raider-sleep=1000;storage-engine.write-block-size=1048576 + +set-stats:ns=test:set=from_branch_2:objects=1768645:tombstones=0:data_used_bytes=1556407600:truncate_lut=0:sindexes=1:index_populating=false:truncating=false:default-ttl=0:disable-eviction=false:enable-index=false:stop-writes-count=0:stop-writes-size=0;ns=test:set=test_branch_set_1:objects=9980:tombstones=0:data_used_bytes=1437120:truncate_lut=0:sindexes=0:index_populating=false:truncating=false:default-ttl=0:disable-eviction=false:enable-index=false:stop-writes-count=0:stop-writes-size=0;ns=test:set=test_branch_set_2:objects=9971:tombstones=0:data_used_bytes=1435824:truncate_lut=0:sindexes=0:index_populating=false:truncating=false:default-ttl=0:disable-eviction=false:enable-index=false:stop-writes-count=0:stop-writes-size=0;ns=test:set=test_branch_set_3:objects=9981:tombstones=0:data_used_bytes=1437264:truncate_lut=0:sindexes=0:index_populating=false:truncating=false:default-ttl=0:disable-eviction=false:enable-index=false:stop-writes-count=0:stop-writes-size=0;ns=test:set=test_from_branch_1:objects=0:tombstones=0:data_used_bytes=0:truncate_lut=0:sindexes=0:index_populating=false:truncating=false:default-ttl=0:disable-eviction=false:enable-index=false:stop-writes-count=80000000:stop-writes-size=1000;ns=test:set=from_branch_1:objects=0:tombstones=0:data_used_bytes=0:truncate_lut=0:sindexes=0:index_populating=false:truncating=false:default-ttl=0:disable-eviction=false:enable-index=true:stop-writes-count=0:stop-writes-size=0; + +latencies-stats:batch-index:msec,4014.2,0.36,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00;{test}-read:msec,1012.1,0.39,0.14,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00;{test}-write:msec,116454.9,0.14,0.07,0.03,0.01,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00;{test}-udf:;{test}-batch-sub-read:msec,3095.7,982.55,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00;{test}-batch-sub-write:;{test}-batch-sub-udf:;{test}-pi-query:;{test}-si-query:;{bar}-read:;{bar}-write:;{bar}-udf:;{bar}-batch-sub-read:;{bar}-batch-sub-write:;{bar}-batch-sub-udf:;{bar}-pi-query:;{bar}-si-query:;{bar_pmem}-read:;{bar_pmem}-write:;{bar_pmem}-udf:;{bar_pmem}-batch-sub-read:;{bar_pmem}-batch-sub-write:;{bar_pmem}-batch-sub-udf:;{bar_pmem}-pi-query:;{bar_pmem}-si-query:;{employees_flash}-read:;{employees_flash}-write:;{employees_flash}-udf:;{employees_flash}-batch-sub-read:;{employees_flash}-batch-sub-write:;{employees_flash}-batch-sub-udf:;{employees_flash}-pi-query:;{employees_flash}-si-query: + +sindex-stats:sindex/test/test_sindex1:entries=0;used_bytes=16777216;entries_per_bval=0;entries_per_rec=0;load_pct=100;load_time=0;stat_gc_recs=0 +sindex-stats:sindex/test/7x_sindex_1:entries=29932;used_bytes=16777216;entries_per_bval=0;entries_per_rec=0;load_pct=100;load_time=0;stat_gc_recs=0 +sindex-stats:sindex/bar/7x_sindex_bar_2:entries=0;used_bytes=16777216;entries_per_bval=0;entries_per_rec=0;load_pct=100;load_time=0;stat_gc_recs=0 + +node-configs:advertise-ipv6=false;auto-pin=none;batch-index-threads=10;batch-max-buffers-per-queue=255;batch-max-unused-buffers=256;cluster-name=70_aus_perth_1;debug-allocations=false;disable-udf-execution=false;enable-benchmarks-fabric=false;enable-health-check=false;enable-hist-info=false;enforce-best-practices=false;feature-key-file[0]=secrets:my_gcp_key_1:phani_gcp_sa_key_1;indent-allocations=false;info-max-ms=10000;info-threads=16;keep-caps-ssd-health=false;log-local-time=false;log-millis=false;microsecond-histograms=true;migrate-fill-delay=0;migrate-max-num-incoming=4;migrate-threads=1;min-cluster-size=1;node-id=BB9060011AC4202;node-id-interface=null;os-group-perms=false;pidfile=/var/run/aerospike/asd.pid;poison-allocations=false;proto-fd-idle-ms=0;proto-fd-max=15000;quarantine-allocations=0;query-max-done=100;query-threads-limit=128;run-as-daemon=true;secrets-address-port=172.17.0.3:3005;secrets-tls-context=null;service-threads=50;sindex-builder-threads=4;sindex-gc-period=10;stay-quiesced=false;ticker-interval=10;transaction-max-ms=1000;transaction-retry-ms=1002;vault-ca=null;vault-namespace=null;vault-path=null;vault-token-file=null;vault-url=null;work-directory=/opt/aerospike + +node-stats:failed_best_practices=true;cluster_size=1;cluster_key=FA60E926E73D;cluster_generation=1;cluster_principal=BB9060011AC4202;cluster_min_compatibility_id=11;cluster_max_compatibility_id=11;cluster_integrity=true;cluster_is_member=true;cluster_duplicate_nodes=null;cluster_clock_skew_stop_writes_sec=0;cluster_clock_skew_ms=0;cluster_clock_skew_outliers=null;uptime=971;system_total_cpu_pct=739;system_user_cpu_pct=467;system_kernel_cpu_pct=272;system_free_mem_kbytes=1166076;system_free_mem_pct=9;system_thp_mem_kbytes=2230272;process_cpu_pct=322;threads_joinable=11;threads_detached=105;threads_pool_total=79;threads_pool_active=79;heap_allocated_kbytes=1288914;heap_active_kbytes=1359456;heap_mapped_kbytes=1473536;heap_efficiency_pct=95;heap_site_count=0;objects=1798577;tombstones=0;info_queue=0;rw_in_progress=0;proxy_in_progress=0;tree_gc_queue=0;client_connections=1;client_connections_opened=7695;client_connections_closed=7694;heartbeat_connections=0;heartbeat_connections_opened=0;heartbeat_connections_closed=0;fabric_connections=0;fabric_connections_opened=0;fabric_connections_closed=0;heartbeat_received_self=0;heartbeat_received_foreign=0;reaped_fds=0;info_complete=1198;info_timeout=0;demarshal_error=0;early_tsvc_client_error=0;early_tsvc_from_proxy_error=0;early_tsvc_batch_sub_error=0;early_tsvc_from_proxy_batch_sub_error=0;early_tsvc_udf_sub_error=0;early_tsvc_ops_sub_error=0;long_queries_active=0;batch_index_initiate=646887;batch_index_queue=0:0,0:0,0:0,0:0,0:0,0:0,0:0,0:0,0:0,0:0;batch_index_complete=646887;batch_index_error=0;batch_index_timeout=0;batch_index_delay=0;batch_index_unused_buffers=50;batch_index_huge_buffers=0;batch_index_created_buffers=50;batch_index_destroyed_buffers=0;batch_index_proto_uncompressed_pct=0.000;batch_index_proto_compression_ratio=1.000;paxos_principal=BB9060011AC4202;time_since_rebalance=965;migrate_allowed=true;migrate_partitions_remaining=0;fabric_bulk_send_rate=0;fabric_bulk_recv_rate=0;fabric_ctrl_send_rate=0;fabric_ctrl_recv_rate=0;fabric_meta_send_rate=0;fabric_meta_recv_rate=0;fabric_rw_send_rate=0;fabric_rw_recv_rate=0 + +xdr-get-config:context=xdr;dc=172.17.0.8:8901:auth-mode=none;auth-password-file=null;auth-user=null;connector=true;max-recoveries-interleaved=0;node-address-port=172.17.0.8:8901;period-ms=100;tls-name=null;use-alternate-access-address=false;namespaces=test +xdr-get-config:context=xdr;dc=172.17.0.8:8901;namespace=test:enabled=true;bin-policy=all;compression-level=1;compression-threshold=128;delay-ms=0;enable-compression=false;forward=false;hot-key-ms=100;ignored-bins=;ignore-expunges=false;ignored-sets=;max-throughput=100000;remote-namespace=null;sc-replication-wait-ms=100;shipped-bins=;ship-bin-luts=false;ship-nsup-deletes=false;ship-only-specified-sets=false;shipped-sets=;transaction-queue-limit=16384;write-policy=auto +xdr-get-config:context=xdr;dc=172.17.0.8:8901;namespace=bar:enabled=false;bin-policy=all;compression-level=1;compression-threshold=128;delay-ms=0;enable-compression=false;forward=false;hot-key-ms=100;ignored-bins=;ignore-expunges=false;ignored-sets=;max-throughput=100000;remote-namespace=null;sc-replication-wait-ms=100;shipped-bins=;ship-bin-luts=false;ship-nsup-deletes=false;ship-only-specified-sets=false;shipped-sets=;transaction-queue-limit=16384;write-policy=auto +xdr-get-config:context=xdr;dc=172.17.0.8:8901;namespace=bar_pmem:enabled=false;bin-policy=all;compression-level=1;compression-threshold=128;delay-ms=0;enable-compression=false;forward=false;hot-key-ms=100;ignored-bins=;ignore-expunges=false;ignored-sets=;max-throughput=100000;remote-namespace=null;sc-replication-wait-ms=100;shipped-bins=;ship-bin-luts=false;ship-nsup-deletes=false;ship-only-specified-sets=false;shipped-sets=;transaction-queue-limit=16384;write-policy=auto +xdr-get-config:context=xdr;dc=172.17.0.8:8901;namespace=employees_flash:enabled=false;bin-policy=all;compression-level=1;compression-threshold=128;delay-ms=0;enable-compression=false;forward=false;hot-key-ms=100;ignored-bins=;ignore-expunges=false;ignored-sets=;max-throughput=100000;remote-namespace=null;sc-replication-wait-ms=100;shipped-bins=;ship-bin-luts=false;ship-nsup-deletes=false;ship-only-specified-sets=false;shipped-sets=;transaction-queue-limit=16384;write-policy=auto +xdr-get-config:context=xdr;dc=64_asia_sng_dr_1:auth-mode=none;auth-password-file=null;auth-user=null;connector=false;max-recoveries-interleaved=0;node-address-port=172.17.0.5:3000;period-ms=100;tls-name=null;use-alternate-access-address=false;namespaces=test +xdr-get-config:context=xdr;dc=64_asia_sng_dr_1;namespace=bar:enabled=false;bin-policy=all;compression-level=1;compression-threshold=128;delay-ms=0;enable-compression=false;forward=false;hot-key-ms=100;ignored-bins=;ignore-expunges=false;ignored-sets=;max-throughput=100000;remote-namespace=null;sc-replication-wait-ms=100;shipped-bins=;ship-bin-luts=false;ship-nsup-deletes=false;ship-only-specified-sets=false;shipped-sets=;transaction-queue-limit=16384;write-policy=auto +xdr-get-config:context=xdr;dc=64_asia_sng_dr_1;namespace=bar_pmem:enabled=false;bin-policy=all;compression-level=1;compression-threshold=128;delay-ms=0;enable-compression=false;forward=false;hot-key-ms=100;ignored-bins=;ignore-expunges=false;ignored-sets=;max-throughput=100000;remote-namespace=null;sc-replication-wait-ms=100;shipped-bins=;ship-bin-luts=false;ship-nsup-deletes=false;ship-only-specified-sets=false;shipped-sets=;transaction-queue-limit=16384;write-policy=auto +xdr-get-config:context=xdr;dc=64_asia_sng_dr_1;namespace=employees_flash:enabled=false;bin-policy=all;compression-level=1;compression-threshold=128;delay-ms=0;enable-compression=false;forward=false;hot-key-ms=100;ignored-bins=;ignore-expunges=false;ignored-sets=;max-throughput=100000;remote-namespace=null;sc-replication-wait-ms=100;shipped-bins=;ship-bin-luts=false;ship-nsup-deletes=false;ship-only-specified-sets=false;shipped-sets=;transaction-queue-limit=16384;write-policy=auto +xdr-get-config:context=xdr;dc=64_asia_sng_dr_1;namespace=test:enabled=true;bin-policy=all;compression-level=1;compression-threshold=128;delay-ms=0;enable-compression=false;forward=false;hot-key-ms=100;ignored-bins=;ignore-expunges=false;ignored-sets=;max-throughput=100000;remote-namespace=null;sc-replication-wait-ms=100;shipped-bins=;ship-bin-luts=false;ship-nsup-deletes=false;ship-only-specified-sets=false;shipped-sets=;transaction-queue-limit=16384;write-policy=auto + +xdr-get-stats:context=xdr;dc=172.17.0.8:8901:lag=934;in_queue=1763197;in_progress=35380;success=0;abandoned=0;not_found=0;filtered_out=0;retry_no_node=37922227;retry_conn_reset=0;retry_dest=0;recoveries=4096;recoveries_pending=0;hot_keys=0;bytes_shipped=0;uncompressed_pct=0.000;compression_ratio=1.000;nodes=1;throughput=0;latency_ms=0;lap_us=4979 +xdr-get-stats:context=xdr;dc=172.17.0.8:8901;namespace=test:lag=934;in_queue=1763197;in_progress=35380;success=0;abandoned=0;not_found=0;filtered_out=0;retry_no_node=37922227;retry_conn_reset=0;retry_dest=0;recoveries=4096;recoveries_pending=0;hot_keys=0;bytes_shipped=0;uncompressed_pct=0.000;compression_ratio=1.000;throughput=0 +xdr-get-stats:context=xdr;dc=172.17.0.8:8901;namespace=bar:lag=0;in_queue=0;in_progress=0;success=0;abandoned=0;not_found=0;filtered_out=0;retry_no_node=0;retry_conn_reset=0;retry_dest=0;recoveries=0;recoveries_pending=0;hot_keys=0;bytes_shipped=0;uncompressed_pct=0.000;compression_ratio=1.000;throughput=0 +xdr-get-stats:context=xdr;dc=172.17.0.8:8901;namespace=bar_pmem:lag=0;in_queue=0;in_progress=0;success=0;abandoned=0;not_found=0;filtered_out=0;retry_no_node=0;retry_conn_reset=0;retry_dest=0;recoveries=0;recoveries_pending=0;hot_keys=0;bytes_shipped=0;uncompressed_pct=0.000;compression_ratio=1.000;throughput=0 +xdr-get-stats:context=xdr;dc=172.17.0.8:8901;namespace=employees_flash:lag=0;in_queue=0;in_progress=0;success=0;abandoned=0;not_found=0;filtered_out=0;retry_no_node=0;retry_conn_reset=0;retry_dest=0;recoveries=0;recoveries_pending=0;hot_keys=0;bytes_shipped=0;uncompressed_pct=0.000;compression_ratio=1.000;throughput=0 +xdr-get-stats:context=xdr;dc=64_asia_sng_dr_1:lag=552;in_queue=206939;in_progress=38723;success=1552915;abandoned=0;not_found=0;filtered_out=0;retry_no_node=0;retry_conn_reset=0;retry_dest=2363624;recoveries=4096;recoveries_pending=0;hot_keys=0;bytes_shipped=3492030107;uncompressed_pct=0.000;compression_ratio=1.000;nodes=1;throughput=0;latency_ms=20;lap_us=9505 +xdr-get-stats:context=xdr;dc=64_asia_sng_dr_1;namespace=test:lag=552;in_queue=206939;in_progress=38723;success=1552915;abandoned=0;not_found=0;filtered_out=0;retry_no_node=0;retry_conn_reset=0;retry_dest=2363624;recoveries=4096;recoveries_pending=0;hot_keys=0;bytes_shipped=3492030107;uncompressed_pct=0.000;compression_ratio=1.000;throughput=0 +xdr-get-stats:context=xdr;dc=64_asia_sng_dr_1;namespace=bar:lag=0;in_queue=0;in_progress=0;success=0;abandoned=0;not_found=0;filtered_out=0;retry_no_node=0;retry_conn_reset=0;retry_dest=0;recoveries=0;recoveries_pending=0;hot_keys=0;bytes_shipped=0;uncompressed_pct=0.000;compression_ratio=1.000;throughput=0 +xdr-get-stats:context=xdr;dc=64_asia_sng_dr_1;namespace=bar_pmem:lag=0;in_queue=0;in_progress=0;success=0;abandoned=0;not_found=0;filtered_out=0;retry_no_node=0;retry_conn_reset=0;retry_dest=0;recoveries=0;recoveries_pending=0;hot_keys=0;bytes_shipped=0;uncompressed_pct=0.000;compression_ratio=1.000;throughput=0 +xdr-get-stats:context=xdr;dc=64_asia_sng_dr_1;namespace=employees_flash:lag=0;in_queue=0;in_progress=0;success=0;abandoned=0;not_found=0;filtered_out=0;retry_no_node=0;retry_conn_reset=0;retry_dest=0;recoveries=0;recoveries_pending=0;hot_keys=0;bytes_shipped=0;uncompressed_pct=0.000;compression_ratio=1.000;throughput=0 + +user-stats:user=admin:roles=user-admin:conns_in_use=1:read-info=1-2-3-4:write-info=11-12-13-14;user=phani:roles=read-write:conns_in_use=0:read-info=6-7-8-9:write-info=16-17-18-19;user=test:roles=read-write:conns_in_use=0:read-info=:write-info=;user=u1phani:roles=superuser:conns_in_use=0:read-info=:write-info=;user=u2phani:roles=read-write-udf:conns_in_use=0:read-info=:write-info=; \ No newline at end of file diff --git a/tests/pre7x_mock_test_data.txt b/internal/pkg/dataprovider/mockdata/pre7x_mock_test_data.txt similarity index 100% rename from tests/pre7x_mock_test_data.txt rename to internal/pkg/dataprovider/mockdata/pre7x_mock_test_data.txt diff --git a/internal/pkg/executors/executor.go b/internal/pkg/executors/executor.go new file mode 100644 index 00000000..21ee8daf --- /dev/null +++ b/internal/pkg/executors/executor.go @@ -0,0 +1,19 @@ +package executors + +type Executor interface { + Initialize() error +} + +const ( + PROMETHEUS = "prometheus" + OTELGRPC = "otel" +) + +func GetExecutors() map[string]Executor { + executorsMap := map[string]Executor{ + PROMETHEUS: &PrometheusHttpExecutor{}, + OTELGRPC: &OtelExecutor{}, + } + + return executorsMap +} diff --git a/internal/pkg/executors/otel_executor.go b/internal/pkg/executors/otel_executor.go new file mode 100644 index 00000000..292d8bdd --- /dev/null +++ b/internal/pkg/executors/otel_executor.go @@ -0,0 +1,194 @@ +package executors + +import ( + "context" + "strconv" + "time" + + "github.com/aerospike/aerospike-prometheus-exporter/internal/pkg/commons" + "github.com/aerospike/aerospike-prometheus-exporter/internal/pkg/config" + "github.com/aerospike/aerospike-prometheus-exporter/internal/pkg/statprocessors" + log "github.com/sirupsen/logrus" + "go.opentelemetry.io/otel" + "go.opentelemetry.io/otel/attribute" + "go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc" + "go.opentelemetry.io/otel/metric" + sdkmetric "go.opentelemetry.io/otel/sdk/metric" + "go.opentelemetry.io/otel/sdk/metric/metricdata" + "go.opentelemetry.io/otel/sdk/resource" + semconv "go.opentelemetry.io/otel/semconv/v1.4.0" + // "go.opentelemetry.io/otel/label" +) + +type OtelExecutor struct { +} + +// Exporter interface implementation +func (oe OtelExecutor) Initialize() error { + + log.Infof("Otel sending thread started, sending data to : %s", config.Cfg.Agent.Otel.OtelEndpoint) + log.Infof("*** Initializing Otel Exporter.. START ") + + // Observe OS Signals + commons.HandleSignals() + + shutdown := initProvider() + defer shutdown() + log.Infof("*** Starting Otel Metrics Push thread... ") + + // Start a goroutine to handle exit signals + go func() { + <-commons.ProcessExit + log.Debugf("OTel Executor got EXIT signal from OS") + shutdown() + }() + + // start push executor + startMetricExecutor() + + return nil +} + +// Aerospike Otel metrics serving implementation +// +// Initializes an OTLP exporter, and configures the corresponding metric providers +func initProvider() func() { + + ctx := context.Background() + serviceName := config.Cfg.Agent.Otel.OtelServiceName + + res, err := resource.New(ctx, + resource.WithFromEnv(), + resource.WithProcess(), + // resource.WithTelemetrySDK(), + resource.WithHost(), + resource.WithContainer(), + resource.WithAttributes( + // the service name used to display traces/metrics in backends + semconv.ServiceNameKey.String(serviceName), + ), + ) + + handleErr(err, "Failed to create OTel Resource") + + otelAgentAddr := config.Cfg.Agent.Otel.OtelEndpoint + headers := readHeaders() + + log.Debug("** OTel endpoint ", otelAgentAddr) + log.Debug("** OTel header count ", len(headers)) + log.Debug("** OTel service name ", serviceName) + log.Debug("** OTel TLS flag enabled? ", config.Cfg.Agent.Otel.OtelTlsEnabled) + + var metricExp *otlpmetricgrpc.Exporter + log.Infof("Creating MetricsExporter with TLS %s", strconv.FormatBool(config.Cfg.Agent.Otel.OtelTlsEnabled)) + + if config.Cfg.Agent.Otel.OtelTlsEnabled { + metricExp, err = otlpmetricgrpc.New( + ctx, + otlpmetricgrpc.WithHeaders(headers), + otlpmetricgrpc.WithEndpoint(otelAgentAddr), + otlpmetricgrpc.WithTemporalitySelector(getTemporalitySelector), + // otlpmetricgrpc.WithAggregationSelector(getAggregationSelector), + ) + } else { + metricExp, err = otlpmetricgrpc.New( + ctx, + otlpmetricgrpc.WithInsecure(), + otlpmetricgrpc.WithHeaders(headers), + otlpmetricgrpc.WithEndpoint(otelAgentAddr), + otlpmetricgrpc.WithTemporalitySelector(getTemporalitySelector), + // otlpmetricgrpc.WithAggregationSelector(getAggregationSelector), + ) + + } + + handleErr(err, "Failed to create the collector metric exporter") + + meterProvider := sdkmetric.NewMeterProvider( + sdkmetric.WithResource(res), + sdkmetric.WithReader( + sdkmetric.NewPeriodicReader( + metricExp, + sdkmetric.WithInterval(time.Duration(config.Cfg.Agent.Otel.OtelPushInterval)*time.Second), + ), + ), + ) + otel.SetMeterProvider(meterProvider) + + return func() { + cxt, cancel := context.WithTimeout(ctx, time.Duration(config.Cfg.Agent.Timeout)*time.Second) + defer cancel() + log.Infof("shuttting down..., flushing metrics to endpoint") + // pushes any last exports to the receiver + if err := meterProvider.Shutdown(cxt); err != nil { + otel.Handle(err) + } + } +} + +func getTemporalitySelector(instrumentKind sdkmetric.InstrumentKind) metricdata.Temporality { + if instrumentKind == sdkmetric.InstrumentKindCounter { + return metricdata.CumulativeTemporality + } + return metricdata.DeltaTemporality +} + +func startMetricExecutor() { + + meter := otel.Meter(config.Cfg.Agent.Otel.OtelServiceName + "_Meter") + + // defaultCtx := baggage.ContextWithBaggage(context.Background()) + defaultCtx := context.Background() + + commonLabels := getCommonLabels() + + for { + // Aerospike Refresh stats + handleAerospikeMetrics(meter, defaultCtx, commonLabels) + + // System metrics + handleSystemInfoMetrics(meter, defaultCtx, commonLabels) + + // sleep for config.N seconds + time.Sleep(time.Duration(config.Cfg.Agent.Otel.OtelServerStatFetchInterval) * time.Second) + } +} + +func handleAerospikeMetrics(meter metric.Meter, ctx context.Context, commonLabels []attribute.KeyValue) { + asRefreshStats, err := statprocessors.Refresh() + if err != nil { + log.Errorln("Error while refreshing Aerospike Metrics, error: ", err) + sendNodeUp(meter, ctx, commonLabels, 0.0) + return + } + // aerospike server is up and we are able to fetch data + sendNodeUp(meter, ctx, commonLabels, 1.0) + + // process metrics + processAerospikeStats(meter, ctx, commonLabels, asRefreshStats) + +} + +func handleSystemInfoMetrics(meter metric.Meter, ctx context.Context, commonLabels []attribute.KeyValue) { + sysInfoRefreshStats, err := statprocessors.RefreshSystemInfo() + if err != nil { + log.Errorln("Error while refreshing SystemInfo, error: ", err) + return + } + // process metrics + processAerospikeStats(meter, ctx, commonLabels, sysInfoRefreshStats) +} + +// Utility functions +func readHeaders() map[string]string { + headers := make(map[string]string) + // headers["api-key"] = "08c5879e8cc53859d4a5554ec503558ee3ceNRAL" + headerPairs := config.Cfg.Agent.Otel.OtelHeaders + if len(headerPairs) > 0 { + for k, v := range headerPairs { + headers[k] = v + } + } + + return headers +} diff --git a/internal/pkg/executors/otel_metrics.go b/internal/pkg/executors/otel_metrics.go new file mode 100644 index 00000000..691e05fc --- /dev/null +++ b/internal/pkg/executors/otel_metrics.go @@ -0,0 +1,107 @@ +package executors + +import ( + "context" + + "github.com/aerospike/aerospike-prometheus-exporter/internal/pkg/commons" + "github.com/aerospike/aerospike-prometheus-exporter/internal/pkg/config" + "github.com/aerospike/aerospike-prometheus-exporter/internal/pkg/statprocessors" + "go.opentelemetry.io/otel/attribute" + "go.opentelemetry.io/otel/metric" + // "go.opentelemetry.io/otel/label" +) + +func sendNodeUp(meter metric.Meter, ctx context.Context, commonLabels []attribute.KeyValue, value float64) { + + nodeActiveDesc, _ := meter.Float64ObservableGauge( + "aerospike_node_up", + metric.WithDescription("Aerospike node active status"), + ) + + labels := []attribute.KeyValue{ + attribute.String("cluster_name", statprocessors.ClusterName), + attribute.String("service", statprocessors.Service), + attribute.String("build", statprocessors.Build), + } + + // append common labels + labels = append(labels, commonLabels...) + + _, err := meter.RegisterCallback(func(_ context.Context, o metric.Observer) error { + o.ObserveFloat64(nodeActiveDesc, value, metric.WithAttributes(labels...)) + return nil + }, nodeActiveDesc) + + handleErr(err, "sendNodeUp() Error while creating object for stat 'aerospike_node_up' ") +} + +func getCommonLabels() []attribute.KeyValue { + mlabels := config.Cfg.Agent.MetricLabels + attrkv := []attribute.KeyValue{} + if len(mlabels) > 0 { + for k, v := range mlabels { + attrkv = append(attrkv, attribute.String(k, v)) + } + } + + return attrkv +} + +func processAerospikeStats(meter metric.Meter, ctx context.Context, commonLabels []attribute.KeyValue, refreshStats []statprocessors.AerospikeStat) { + + // create the required metered objectes + for _, stat := range refreshStats { + + qualifiedName := stat.QualifyMetricContext() + "_" + NormalizeMetric(stat.Name) + desc := NormalizeMetric("description_" + stat.Name) + + labels := []attribute.KeyValue{} + // label name to value mapped using index + for idx, label := range stat.Labels { + labels = append(labels, attribute.String(label, stat.LabelValues[idx])) + } + + // append common labels + labels = append(labels, commonLabels...) + + // create Otel metric + if stat.MType == commons.MetricTypeCounter { + value := stat.Value + + makeOtelCounterMetric(meter, ctx, qualifiedName, desc, labels, value) + + } else if stat.MType == commons.MetricTypeGauge { + makeOtelGaugeMetric(meter, ctx, qualifiedName, desc, labels, stat.Value) + } + + } + +} + +func makeOtelCounterMetric(meter metric.Meter, ctx context.Context, metricName string, desc string, labels []attribute.KeyValue, value float64) { + + ometric, _ := meter.Float64Counter( + metricName, + metric.WithDescription(desc), + ) + + ometric.Add(ctx, value, metric.WithAttributes(labels...)) + +} + +func makeOtelGaugeMetric(meter metric.Meter, ctx context.Context, metricName string, desc string, labels []attribute.KeyValue, value float64) { + + // _, ok := mapGaugeMetricObjects[metricName] + ometric, _ := meter.Float64ObservableGauge( + metricName, + metric.WithDescription(desc), + ) + _, err := meter.RegisterCallback(func(_ context.Context, o metric.Observer) error { + a := value + o.ObserveFloat64(ometric, a, metric.WithAttributes(labels...)) + return nil + }, ometric) + + handleErr(err, "makeOtelGaugeMetric() Error while creating object for stat "+metricName) + +} diff --git a/internal/pkg/executors/prometheus.go b/internal/pkg/executors/prometheus.go new file mode 100644 index 00000000..055f0040 --- /dev/null +++ b/internal/pkg/executors/prometheus.go @@ -0,0 +1,83 @@ +package executors + +import ( + "sync" + + "github.com/prometheus/client_golang/prometheus" + + "github.com/aerospike/aerospike-prometheus-exporter/internal/pkg/config" + "github.com/aerospike/aerospike-prometheus-exporter/internal/pkg/statprocessors" + log "github.com/sirupsen/logrus" +) + +// PrometheusImpl communicates with Aerospike and helps collecting metrices +type PrometheusImpl struct { + ticks prometheus.Counter +} + +var ( + // aerospike_node_up metric descriptor + nodeActiveDesc *prometheus.Desc + + mutex sync.Mutex +) + +func NewPrometheusImpl() (o *PrometheusImpl) { + nodeActiveDesc = prometheus.NewDesc( + "aerospike_node_up", + "Aerospike node active status", + []string{"cluster_name", "service", "build"}, + config.Cfg.Agent.MetricLabels, + ) + + o = &PrometheusImpl{ + ticks: prometheus.NewCounter( + prometheus.CounterOpts{ + Namespace: "aerospike", + Subsystem: "node", + Name: "ticks", + Help: "Counter that detemines how many times the Aerospike node was scraped for metrics.", + }), + } + + return o +} + +// Describe function of Prometheus' Collector interface +func (o *PrometheusImpl) Describe(ch chan<- *prometheus.Desc) {} + +// Collect function of Prometheus' Collector interface +func (o *PrometheusImpl) Collect(ch chan<- prometheus.Metric) { + // Protect against concurrent scrapes + mutex.Lock() + defer mutex.Unlock() + + o.ticks.Inc() + ch <- o.ticks + + // refresh metrics from various statprocessors, + refreshed_metrics, err := statprocessors.Refresh() + if err != nil { + log.Errorln(err) + ch <- prometheus.MustNewConstMetric(nodeActiveDesc, prometheus.GaugeValue, 0.0, statprocessors.ClusterName, statprocessors.Service, statprocessors.Build) + return + } + + ch <- prometheus.MustNewConstMetric(nodeActiveDesc, prometheus.GaugeValue, 1.0, statprocessors.ClusterName, statprocessors.Service, statprocessors.Build) + + for _, wm := range refreshed_metrics { + PushToPrometheus(wm, ch) + } + + // System Metrics - Memory, Disk and Filesystem - push the fetched metrics to prometheus + system_metrics, err := statprocessors.RefreshSystemInfo() + if err != nil { + log.Errorln("Error while refreshing SystemInfo Stats, error: ", err) + } + + // push the fetched metrics to prometheus + for _, wm := range system_metrics { + PushToPrometheus(wm, ch) + } + +} diff --git a/main.go b/internal/pkg/executors/prometheus_httplistener.go similarity index 53% rename from main.go rename to internal/pkg/executors/prometheus_httplistener.go index 8523762f..89957bcb 100644 --- a/main.go +++ b/internal/pkg/executors/prometheus_httplistener.go @@ -1,84 +1,41 @@ -package main +package executors import ( "crypto/tls" - "flag" - "fmt" - "net" "net/http" - "os" - "strconv" "time" "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/client_golang/prometheus/promhttp" - aero "github.com/aerospike/aerospike-client-go/v6" - log "github.com/sirupsen/logrus" -) - -var ( - configFile = flag.String("config", "/etc/aerospike-prometheus-exporter/ape.toml", "Config File") - showUsage = flag.Bool("u", false, "Show usage information") - showVersion = flag.Bool("version", false, "Print version") - - fullHost string - config *Config - - version = "v1.9.0" + "github.com/aerospike/aerospike-prometheus-exporter/internal/pkg/commons" + "github.com/aerospike/aerospike-prometheus-exporter/internal/pkg/config" + "github.com/aerospike/aerospike-prometheus-exporter/internal/pkg/statprocessors" - // Gauge related - // - gaugeStatsFile = flag.String("gauge-list", "/etc/aerospike-prometheus-exporter/gauge_stats_list.toml", "Gauge stats File") - gaugeStatHandler *GaugeStats + log "github.com/sirupsen/logrus" ) -func main() { - flag.Parse() - if *showUsage { - flag.Usage() - os.Exit(0) - } - - if *showVersion { - fmt.Println(version) - os.Exit(0) - } - - log.Infof("Welcome to Aerospike Prometheus Exporter %s", version) - - config = new(Config) - initConfig(*configFile, config) - config.validateAndUpdate() - - // initialize Gauge metric definitions - gaugeStatHandler = new(GaugeStats) - initGaugeStats(*gaugeStatsFile, gaugeStatHandler) - - fullHost = net.JoinHostPort(config.Aerospike.Host, strconv.Itoa(int(config.Aerospike.Port))) +type PrometheusHttpExecutor struct { + promimpl *PrometheusImpl +} - host := aero.NewHost(config.Aerospike.Host, int(config.Aerospike.Port)) - host.TLSName = config.Aerospike.NodeTLSName +func (pm PrometheusHttpExecutor) Initialize() error { + mux := http.NewServeMux() - observer, err := newObserver(host, config.Aerospike.User, config.Aerospike.Password) - if err != nil { - log.Fatalln(err) - } + pm.promimpl = NewPrometheusImpl() promReg := prometheus.NewRegistry() - promReg.MustRegister(observer) - - mux := http.NewServeMux() + promReg.MustRegister(pm.promimpl) // Get http basic auth username - httpBasicAuthUsernameBytes, err := getSecret(config.AeroProm.BasicAuthUsername) + httpBasicAuthUsernameBytes, err := commons.GetSecret(config.Cfg.Agent.BasicAuthUsername) if err != nil { log.Fatal(err) } httpBasicAuthUsername := string(httpBasicAuthUsernameBytes) // Get http basic auth password - httpBasicAuthPasswordBytes, err := getSecret(config.AeroProm.BasicAuthPassword) + httpBasicAuthPasswordBytes, err := commons.GetSecret(config.Cfg.Agent.BasicAuthPassword) if err != nil { log.Fatal(err) } @@ -87,7 +44,7 @@ func main() { // Handle "/metrics" url mux.HandleFunc("/metrics", func(w http.ResponseWriter, r *http.Request) { if httpBasicAuthUsername != "" { - if validateBasicAuth(r, httpBasicAuthUsername, httpBasicAuthPassword) { + if commons.ValidateBasicAuth(r, httpBasicAuthUsername, httpBasicAuthPassword) { promhttp.HandlerFor(promReg, promhttp.HandlerOpts{}).ServeHTTP(w, r) return } @@ -128,27 +85,29 @@ func main() { }) srv := &http.Server{ - ReadTimeout: time.Duration(config.AeroProm.Timeout) * time.Second, - WriteTimeout: time.Duration(config.AeroProm.Timeout) * time.Second, - Addr: config.AeroProm.Bind, + ReadTimeout: time.Duration(config.Cfg.Agent.Timeout) * time.Second, + WriteTimeout: time.Duration(config.Cfg.Agent.Timeout) * time.Second, + Addr: config.Cfg.Agent.Bind, Handler: mux, TLSNextProto: make(map[string]func(*http.Server, *tls.Conn, http.Handler)), } - log.Infof("Listening for Prometheus on: %s", config.AeroProm.Bind) + log.Infof("Listening for Prometheus on: %s", config.Cfg.Agent.Bind) - if len(config.AeroProm.CertFile) > 0 && len(config.AeroProm.KeyFile) > 0 { + if len(config.Cfg.Agent.CertFile) > 0 && len(config.Cfg.Agent.KeyFile) > 0 { log.Info("Enabling HTTPS ...") srv.TLSConfig = initExporterTLS() log.Fatalln(srv.ListenAndServeTLS("", "")) } log.Fatalln(srv.ListenAndServe()) + + return nil } // initExporterTLS initializes and returns TLS config to be used to serve metrics over HTTPS func initExporterTLS() *tls.Config { - serverPool, err := loadServerCertAndKey(config.AeroProm.CertFile, config.AeroProm.KeyFile, config.AeroProm.KeyFilePassphrase) + serverPool, err := commons.LoadServerCertAndKey(config.Cfg.Agent.CertFile, config.Cfg.Agent.KeyFile, config.Cfg.Agent.KeyFilePassphrase) if err != nil { log.Fatal(err) } @@ -162,8 +121,8 @@ func initExporterTLS() *tls.Config { } // if root CA provided, client validation is enabled (mutual TLS) - if len(config.AeroProm.RootCA) > 0 { - caPool, err := loadCACert(config.AeroProm.RootCA) + if len(config.Cfg.Agent.RootCA) > 0 { + caPool, err := commons.LoadCACert(config.Cfg.Agent.RootCA) if err != nil { log.Fatal(err) } @@ -174,3 +133,41 @@ func initExporterTLS() *tls.Config { return tlsConfig } + +/** + * Constructs Prometheus parameters required which are needed to push metrics to Prometheus + */ + +func makePromMetric(as statprocessors.AerospikeStat, pLabels ...string) (*prometheus.Desc, prometheus.ValueType) { + + qualifiedName := as.QualifyMetricContext() + "_" + NormalizeMetric(as.Name) + promDesc := prometheus.NewDesc( + qualifiedName, + NormalizeDesc(as.Name), + pLabels, + config.Cfg.Agent.MetricLabels, + ) + + if as.MType == commons.MetricTypeGauge { + return promDesc, prometheus.GaugeValue + } + + return promDesc, prometheus.CounterValue +} + +// This is a common utility, used by all the statprocessors to push metric to prometheus +func PushToPrometheus(asMetric statprocessors.AerospikeStat, ch chan<- prometheus.Metric) { + + if asMetric.IsAllowed { + // handle any panic from prometheus, this may occur when prom encounters a config/stat with special characters + defer func() { + if r := recover(); r != nil { + log.Tracef("%s recovered from panic while handling stat %s", string(asMetric.Context), asMetric.Name) + } + }() + + desc, valueType := makePromMetric(asMetric, asMetric.Labels...) + ch <- prometheus.MustNewConstMetric(desc, valueType, asMetric.Value, asMetric.LabelValues...) + + } +} diff --git a/internal/pkg/executors/tests/prom_tests_data_validator.go b/internal/pkg/executors/tests/prom_tests_data_validator.go new file mode 100644 index 00000000..108a8cc9 --- /dev/null +++ b/internal/pkg/executors/tests/prom_tests_data_validator.go @@ -0,0 +1,124 @@ +package executors + +import ( + "bufio" + "fmt" + "os" + "strings" + + "github.com/aerospike/aerospike-prometheus-exporter/internal/pkg/commons" +) + +/* +Dummy Raw Metrics, copied from local Aerospike Server +returns static test data copied from running an Aerospike Server with test namespaces, sets, sindex, jobs, latencies etc., +we need to update this data for each release to reflect the new metrics, contexts etc., +this data is passed to the watcher and expected output is also generated +once we have output from watcher-implementations ( like watcher_namespaces.go, watcher_node_stats.go) + + this output is compated with the expected results generated by Test-Cases +*/ + +var TEST_PROM_DATA_FILE = "tests_data/default_prom_mock_results.txt" + +// read mock test data from a file +var Is_Unittests_Initialized = 0 + +type UnittestDataValidator interface { + Initialize(data []string) + GetPassOneKeys() map[string]string + GetPassTwoKeys() map[string]string + GetMetricLabelsWithValues() map[string]string +} + +type UnittestDataHandler struct { +} + +func (md *UnittestDataHandler) Initialize() { + + fmt.Println("Unittest Initializing ....: ") + + // Mark as initialized + Is_Unittests_Initialized = 1 + + // load expected test data from mock files + md.loadPrometheusData() +} + +var ( + prom_validator = &PrometheusUnittestValidator{} +) +var validators = map[string]UnittestDataValidator{ + "prometheus": prom_validator, +} + +func (md *UnittestDataHandler) GetUnittestValidator(key string) UnittestDataValidator { + md.Initialize() + + return validators[key] +} + +// Internal helper functions +func (md *UnittestDataHandler) loadPrometheusData() { + filePath := commons.GetPromMockResultsFile(TEST_PROM_DATA_FILE) + + // cwd, _ := os.Getwd() + // fileLocation := cwd + "/" + filePath + readFile, err := os.Open(filePath) + + if err != nil { + fmt.Println(err) + } + + fileScanner := bufio.NewScanner(readFile) + fileScanner.Split(bufio.ScanLines) + var fileLines []string + + for fileScanner.Scan() { + fileLines = append(fileLines, strings.TrimSpace(fileScanner.Text())) + } + + readFile.Close() + + // Initialize prom_validator data + prom_validator.Initialize(fileLines) + + fmt.Println("loadPrometheusData(): Completed loading test Prometheus Expected Data ") + +} + +// Start Prometheus +type PrometheusUnittestValidator struct { + PassOneOutputs []string + PassTwoOutputs []string + Metrics []string +} + +func (unp PrometheusUnittestValidator) Initialize(data []string) { + for _, line := range data { + if len(line) > 0 && strings.HasPrefix(line, "aerospike_") { + prom_validator.Metrics = append(prom_validator.Metrics, strings.TrimSpace(line)) + } + } + +} + +func (unp PrometheusUnittestValidator) GetPassOneKeys() map[string]string { + return nil +} + +func (unp PrometheusUnittestValidator) GetPassTwoKeys() map[string]string { + + return nil +} + +func (unp PrometheusUnittestValidator) GetMetricLabelsWithValues() map[string]string { + var outputs = make(map[string]string) + for k := range unp.Metrics { + outputs[unp.Metrics[k]] = unp.Metrics[k] + } + + return outputs +} + +// End Prometheus diff --git a/internal/pkg/executors/tests/prometheus_test.go b/internal/pkg/executors/tests/prometheus_test.go new file mode 100644 index 00000000..67d42b6c --- /dev/null +++ b/internal/pkg/executors/tests/prometheus_test.go @@ -0,0 +1,141 @@ +package executors + +import ( + "bufio" + "fmt" + "net/http" + "strings" + "testing" + "time" + + "github.com/aerospike/aerospike-prometheus-exporter/internal/pkg/commons" + "github.com/aerospike/aerospike-prometheus-exporter/internal/pkg/config" + "github.com/aerospike/aerospike-prometheus-exporter/internal/pkg/executors" + "github.com/aerospike/aerospike-prometheus-exporter/internal/pkg/statprocessors" + "github.com/stretchr/testify/assert" +) + +const ( + UNIQUE_METRICS_COUNT = 489 +) + +var DEFAULT_PROM_URL = "http://localhost:9145/metrics" + +var metrics_from_prom = []string{} + +func Test_InitializePromExporter(t *testing.T) { + + fmt.Println("initializing config ... Test_Initialize_Prom_Exporter") + // initialize config and gauge-lists + initConfigsAndGauges() + + // initialize prom + initializePromProcessor() + + // generate and validate labels, global call, only once else Prom will not serve metrics as there is no change + metrics_from_prom = makeHttpCallToPromProcessor(t, nil) +} + +func Test_RefreshDefault(t *testing.T) { + + fmt.Println("initializing config ... Test_RefreshDefault") + + udh := &UnittestDataHandler{} + pdv := udh.GetUnittestValidator("prometheus") + expectedOutputs := pdv.GetMetricLabelsWithValues() + + assert.Equal(t, len(expectedOutputs), len(metrics_from_prom)) + + // assert values from httpclient with expectedOutputs + for idx_metrics := range metrics_from_prom { + entry := metrics_from_prom[idx_metrics] + assert.Contains(t, expectedOutputs, entry) + } + +} + +func Test_UniqueMetricsCount(t *testing.T) { + + fmt.Println("initializing config ... Test_Unique_Metrics_Count") + + var unique_metric_names = make(map[string]string) + + // find unique metric-names (excluding Label and values) + for idx_metric := range metrics_from_prom { + metric := metrics_from_prom[idx_metric] + // fmt.Println("* metric: ", metric, "\t", strings.Index(metric, "{")) + metric_name := metric + if strings.Index(metric, "{") > 0 { + metric_name = metric[0:strings.Index(metric, "{")] + } + + unique_metric_names[metric_name] = metric_name + } + + assert.Equal(t, len(unique_metric_names), UNIQUE_METRICS_COUNT, "No of Metrics dispatched to Prom CHANGED") +} + +/** +* makes a http call to the running prom and returns the output + */ +func makeHttpCallToPromProcessor(t *testing.T, asMetrics []statprocessors.AerospikeStat) []string { + // prometheus http server is initialized + httpClient := http.Client{Timeout: time.Duration(1) * time.Second} + resp, err := httpClient.Get(DEFAULT_PROM_URL) + + if err != nil { + fmt.Println("Error while reading Http Response: ", err) + } + defer resp.Body.Close() + + // reinitialize global array + metrics_from_prom = []string{} + + scanner := bufio.NewScanner(resp.Body) + // fmt.Println("*** START ") + for scanner.Scan() { + text := scanner.Text() + // fmt.Println(text) + if len(text) > 0 && strings.HasPrefix(text, "aerospike_") { + metrics_from_prom = append(metrics_from_prom, strings.TrimSpace(text)) + } + } + // fmt.Println("*** END ") + + if err := scanner.Err(); err != nil { + fmt.Println("Error while reading Http Response: ", err) + } + + assert.NotEmpty(t, metrics_from_prom, " NO metrics received from prom running locally") + + return metrics_from_prom +} + +// Data fetch helpers functions + +func initializePromProcessor() { + metric_processors := executors.GetExecutors() + processor := metric_processors[executors.PROMETHEUS] + + // run Prom as a separate process + go func() { + err := processor.Initialize() + if err != nil { + fmt.Println("Error while Initializing Processor ", err) + } + }() + + fmt.Println("*******************\nPrometheus initialized and running on localhost:9145") +} + +// config initialization +var TESTS_DEFAULT_GAUGE_LIST_FILE = "configs/gauge_stats_list.toml" + +func initConfigsAndGauges() { + // Initialize and validate Gauge config + // config.InitConfig(testutils.GetConfigfileLocation(testutils.TESTS_MOCK_CONFIG_FILE)) + config.InitConfig(commons.GetExecutorsConfigFile(commons.TESTS_MOCK_CONFIG_FILE)) + + config.InitGaugeStats(commons.GetDefaultGaugeListFilename()) + +} diff --git a/internal/pkg/executors/tests/tests_data/default_prom_mock_results.txt b/internal/pkg/executors/tests/tests_data/default_prom_mock_results.txt new file mode 100644 index 00000000..db71fb6b --- /dev/null +++ b/internal/pkg/executors/tests/tests_data/default_prom_mock_results.txt @@ -0,0 +1,2880 @@ + +####################################################################################################################################### +### Metrics, Labels & Values +####################################################################################################################################### + +# HELP aerospike_latencies_batch_index_ms_bucket batch index ms bucket +# TYPE aerospike_latencies_batch_index_ms_bucket gauge +aerospike_latencies_batch_index_ms_bucket{cluster_name="70_aus_perth_1",le="+Inf",ns="",service="172.17.0.6:3000"} 4014.2 +aerospike_latencies_batch_index_ms_bucket{cluster_name="70_aus_perth_1",le="1",ns="",service="172.17.0.6:3000"} 3999.7488799999996 +aerospike_latencies_batch_index_ms_bucket{cluster_name="70_aus_perth_1",le="1024",ns="",service="172.17.0.6:3000"} 4014.2 +aerospike_latencies_batch_index_ms_bucket{cluster_name="70_aus_perth_1",le="128",ns="",service="172.17.0.6:3000"} 4014.2 +aerospike_latencies_batch_index_ms_bucket{cluster_name="70_aus_perth_1",le="16",ns="",service="172.17.0.6:3000"} 4014.2 +aerospike_latencies_batch_index_ms_bucket{cluster_name="70_aus_perth_1",le="16384",ns="",service="172.17.0.6:3000"} 4014.2 +aerospike_latencies_batch_index_ms_bucket{cluster_name="70_aus_perth_1",le="2",ns="",service="172.17.0.6:3000"} 4014.2 +aerospike_latencies_batch_index_ms_bucket{cluster_name="70_aus_perth_1",le="2048",ns="",service="172.17.0.6:3000"} 4014.2 +aerospike_latencies_batch_index_ms_bucket{cluster_name="70_aus_perth_1",le="256",ns="",service="172.17.0.6:3000"} 4014.2 +aerospike_latencies_batch_index_ms_bucket{cluster_name="70_aus_perth_1",le="32",ns="",service="172.17.0.6:3000"} 4014.2 +aerospike_latencies_batch_index_ms_bucket{cluster_name="70_aus_perth_1",le="32768",ns="",service="172.17.0.6:3000"} 4014.2 +aerospike_latencies_batch_index_ms_bucket{cluster_name="70_aus_perth_1",le="4",ns="",service="172.17.0.6:3000"} 4014.2 +aerospike_latencies_batch_index_ms_bucket{cluster_name="70_aus_perth_1",le="4096",ns="",service="172.17.0.6:3000"} 4014.2 +aerospike_latencies_batch_index_ms_bucket{cluster_name="70_aus_perth_1",le="512",ns="",service="172.17.0.6:3000"} 4014.2 +aerospike_latencies_batch_index_ms_bucket{cluster_name="70_aus_perth_1",le="64",ns="",service="172.17.0.6:3000"} 4014.2 +aerospike_latencies_batch_index_ms_bucket{cluster_name="70_aus_perth_1",le="65536",ns="",service="172.17.0.6:3000"} 4014.2 +aerospike_latencies_batch_index_ms_bucket{cluster_name="70_aus_perth_1",le="8",ns="",service="172.17.0.6:3000"} 4014.2 +aerospike_latencies_batch_index_ms_bucket{cluster_name="70_aus_perth_1",le="8192",ns="",service="172.17.0.6:3000"} 4014.2 +# HELP aerospike_latencies_batch_index_ms_count batch index ms count +# TYPE aerospike_latencies_batch_index_ms_count gauge +aerospike_latencies_batch_index_ms_count{cluster_name="70_aus_perth_1",ns="",service="172.17.0.6:3000"} 4014.2 +# HELP aerospike_latencies_batch_sub_read_ms_bucket batch sub read ms bucket +# TYPE aerospike_latencies_batch_sub_read_ms_bucket gauge +aerospike_latencies_batch_sub_read_ms_bucket{cluster_name="70_aus_perth_1",le="+Inf",ns="test",service="172.17.0.6:3000"} 3095.7 +aerospike_latencies_batch_sub_read_ms_bucket{cluster_name="70_aus_perth_1",le="1",ns="test",service="172.17.0.6:3000"} -27321.100349999997 +aerospike_latencies_batch_sub_read_ms_bucket{cluster_name="70_aus_perth_1",le="1024",ns="test",service="172.17.0.6:3000"} 3095.7 +aerospike_latencies_batch_sub_read_ms_bucket{cluster_name="70_aus_perth_1",le="128",ns="test",service="172.17.0.6:3000"} 3095.7 +aerospike_latencies_batch_sub_read_ms_bucket{cluster_name="70_aus_perth_1",le="16",ns="test",service="172.17.0.6:3000"} 3095.7 +aerospike_latencies_batch_sub_read_ms_bucket{cluster_name="70_aus_perth_1",le="16384",ns="test",service="172.17.0.6:3000"} 3095.7 +aerospike_latencies_batch_sub_read_ms_bucket{cluster_name="70_aus_perth_1",le="2",ns="test",service="172.17.0.6:3000"} 3095.7 +aerospike_latencies_batch_sub_read_ms_bucket{cluster_name="70_aus_perth_1",le="2048",ns="test",service="172.17.0.6:3000"} 3095.7 +aerospike_latencies_batch_sub_read_ms_bucket{cluster_name="70_aus_perth_1",le="256",ns="test",service="172.17.0.6:3000"} 3095.7 +aerospike_latencies_batch_sub_read_ms_bucket{cluster_name="70_aus_perth_1",le="32",ns="test",service="172.17.0.6:3000"} 3095.7 +aerospike_latencies_batch_sub_read_ms_bucket{cluster_name="70_aus_perth_1",le="32768",ns="test",service="172.17.0.6:3000"} 3095.7 +aerospike_latencies_batch_sub_read_ms_bucket{cluster_name="70_aus_perth_1",le="4",ns="test",service="172.17.0.6:3000"} 3095.7 +aerospike_latencies_batch_sub_read_ms_bucket{cluster_name="70_aus_perth_1",le="4096",ns="test",service="172.17.0.6:3000"} 3095.7 +aerospike_latencies_batch_sub_read_ms_bucket{cluster_name="70_aus_perth_1",le="512",ns="test",service="172.17.0.6:3000"} 3095.7 +aerospike_latencies_batch_sub_read_ms_bucket{cluster_name="70_aus_perth_1",le="64",ns="test",service="172.17.0.6:3000"} 3095.7 +aerospike_latencies_batch_sub_read_ms_bucket{cluster_name="70_aus_perth_1",le="65536",ns="test",service="172.17.0.6:3000"} 3095.7 +aerospike_latencies_batch_sub_read_ms_bucket{cluster_name="70_aus_perth_1",le="8",ns="test",service="172.17.0.6:3000"} 3095.7 +aerospike_latencies_batch_sub_read_ms_bucket{cluster_name="70_aus_perth_1",le="8192",ns="test",service="172.17.0.6:3000"} 3095.7 +# HELP aerospike_latencies_batch_sub_read_ms_count batch sub read ms count +# TYPE aerospike_latencies_batch_sub_read_ms_count gauge +aerospike_latencies_batch_sub_read_ms_count{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000"} 3095.7 +# HELP aerospike_latencies_read_ms_bucket read ms bucket +# TYPE aerospike_latencies_read_ms_bucket gauge +aerospike_latencies_read_ms_bucket{cluster_name="70_aus_perth_1",le="+Inf",ns="test",service="172.17.0.6:3000"} 1012.1 +aerospike_latencies_read_ms_bucket{cluster_name="70_aus_perth_1",le="1",ns="test",service="172.17.0.6:3000"} 1008.15281 +aerospike_latencies_read_ms_bucket{cluster_name="70_aus_perth_1",le="1024",ns="test",service="172.17.0.6:3000"} 1012.1 +aerospike_latencies_read_ms_bucket{cluster_name="70_aus_perth_1",le="128",ns="test",service="172.17.0.6:3000"} 1012.1 +aerospike_latencies_read_ms_bucket{cluster_name="70_aus_perth_1",le="16",ns="test",service="172.17.0.6:3000"} 1012.1 +aerospike_latencies_read_ms_bucket{cluster_name="70_aus_perth_1",le="16384",ns="test",service="172.17.0.6:3000"} 1012.1 +aerospike_latencies_read_ms_bucket{cluster_name="70_aus_perth_1",le="2",ns="test",service="172.17.0.6:3000"} 1010.6830600000001 +aerospike_latencies_read_ms_bucket{cluster_name="70_aus_perth_1",le="2048",ns="test",service="172.17.0.6:3000"} 1012.1 +aerospike_latencies_read_ms_bucket{cluster_name="70_aus_perth_1",le="256",ns="test",service="172.17.0.6:3000"} 1012.1 +aerospike_latencies_read_ms_bucket{cluster_name="70_aus_perth_1",le="32",ns="test",service="172.17.0.6:3000"} 1012.1 +aerospike_latencies_read_ms_bucket{cluster_name="70_aus_perth_1",le="32768",ns="test",service="172.17.0.6:3000"} 1012.1 +aerospike_latencies_read_ms_bucket{cluster_name="70_aus_perth_1",le="4",ns="test",service="172.17.0.6:3000"} 1012.1 +aerospike_latencies_read_ms_bucket{cluster_name="70_aus_perth_1",le="4096",ns="test",service="172.17.0.6:3000"} 1012.1 +aerospike_latencies_read_ms_bucket{cluster_name="70_aus_perth_1",le="512",ns="test",service="172.17.0.6:3000"} 1012.1 +aerospike_latencies_read_ms_bucket{cluster_name="70_aus_perth_1",le="64",ns="test",service="172.17.0.6:3000"} 1012.1 +aerospike_latencies_read_ms_bucket{cluster_name="70_aus_perth_1",le="65536",ns="test",service="172.17.0.6:3000"} 1012.1 +aerospike_latencies_read_ms_bucket{cluster_name="70_aus_perth_1",le="8",ns="test",service="172.17.0.6:3000"} 1012.1 +aerospike_latencies_read_ms_bucket{cluster_name="70_aus_perth_1",le="8192",ns="test",service="172.17.0.6:3000"} 1012.1 +# HELP aerospike_latencies_read_ms_count read ms count +# TYPE aerospike_latencies_read_ms_count gauge +aerospike_latencies_read_ms_count{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000"} 1012.1 +# HELP aerospike_latencies_write_ms_bucket write ms bucket +# TYPE aerospike_latencies_write_ms_bucket gauge +aerospike_latencies_write_ms_bucket{cluster_name="70_aus_perth_1",le="+Inf",ns="test",service="172.17.0.6:3000"} 116454.9 +aerospike_latencies_write_ms_bucket{cluster_name="70_aus_perth_1",le="1",ns="test",service="172.17.0.6:3000"} 116291.86314 +aerospike_latencies_write_ms_bucket{cluster_name="70_aus_perth_1",le="1024",ns="test",service="172.17.0.6:3000"} 116454.9 +aerospike_latencies_write_ms_bucket{cluster_name="70_aus_perth_1",le="128",ns="test",service="172.17.0.6:3000"} 116454.9 +aerospike_latencies_write_ms_bucket{cluster_name="70_aus_perth_1",le="16",ns="test",service="172.17.0.6:3000"} 116454.9 +aerospike_latencies_write_ms_bucket{cluster_name="70_aus_perth_1",le="16384",ns="test",service="172.17.0.6:3000"} 116454.9 +aerospike_latencies_write_ms_bucket{cluster_name="70_aus_perth_1",le="2",ns="test",service="172.17.0.6:3000"} 116373.38157 +aerospike_latencies_write_ms_bucket{cluster_name="70_aus_perth_1",le="2048",ns="test",service="172.17.0.6:3000"} 116454.9 +aerospike_latencies_write_ms_bucket{cluster_name="70_aus_perth_1",le="256",ns="test",service="172.17.0.6:3000"} 116454.9 +aerospike_latencies_write_ms_bucket{cluster_name="70_aus_perth_1",le="32",ns="test",service="172.17.0.6:3000"} 116454.9 +aerospike_latencies_write_ms_bucket{cluster_name="70_aus_perth_1",le="32768",ns="test",service="172.17.0.6:3000"} 116454.9 +aerospike_latencies_write_ms_bucket{cluster_name="70_aus_perth_1",le="4",ns="test",service="172.17.0.6:3000"} 116419.96353 +aerospike_latencies_write_ms_bucket{cluster_name="70_aus_perth_1",le="4096",ns="test",service="172.17.0.6:3000"} 116454.9 +aerospike_latencies_write_ms_bucket{cluster_name="70_aus_perth_1",le="512",ns="test",service="172.17.0.6:3000"} 116454.9 +aerospike_latencies_write_ms_bucket{cluster_name="70_aus_perth_1",le="64",ns="test",service="172.17.0.6:3000"} 116454.9 +aerospike_latencies_write_ms_bucket{cluster_name="70_aus_perth_1",le="65536",ns="test",service="172.17.0.6:3000"} 116454.9 +aerospike_latencies_write_ms_bucket{cluster_name="70_aus_perth_1",le="8",ns="test",service="172.17.0.6:3000"} 116443.25451 +aerospike_latencies_write_ms_bucket{cluster_name="70_aus_perth_1",le="8192",ns="test",service="172.17.0.6:3000"} 116454.9 +# HELP aerospike_latencies_write_ms_count write ms count +# TYPE aerospike_latencies_write_ms_count gauge +aerospike_latencies_write_ms_count{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000"} 116454.9 +# HELP aerospike_namespace_allow_ttl_without_nsup allow ttl without nsup +# TYPE aerospike_namespace_allow_ttl_without_nsup gauge +aerospike_namespace_allow_ttl_without_nsup{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_allow_ttl_without_nsup{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_allow_ttl_without_nsup{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_allow_ttl_without_nsup{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_appeals_records_exonerated appeals records exonerated +# TYPE aerospike_namespace_appeals_records_exonerated counter +aerospike_namespace_appeals_records_exonerated{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_appeals_records_exonerated{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_appeals_records_exonerated{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_appeals_records_exonerated{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_appeals_rx_active appeals rx active +# TYPE aerospike_namespace_appeals_rx_active gauge +aerospike_namespace_appeals_rx_active{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_appeals_rx_active{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_appeals_rx_active{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_appeals_rx_active{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_appeals_tx_active appeals tx active +# TYPE aerospike_namespace_appeals_tx_active gauge +aerospike_namespace_appeals_tx_active{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_appeals_tx_active{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_appeals_tx_active{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_appeals_tx_active{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_appeals_tx_remaining appeals tx remaining +# TYPE aerospike_namespace_appeals_tx_remaining gauge +aerospike_namespace_appeals_tx_remaining{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_appeals_tx_remaining{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_appeals_tx_remaining{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_appeals_tx_remaining{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_background_query_max_rps background query max rps +# TYPE aerospike_namespace_background_query_max_rps gauge +aerospike_namespace_background_query_max_rps{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 10000 +aerospike_namespace_background_query_max_rps{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 10000 +aerospike_namespace_background_query_max_rps{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 10000 +aerospike_namespace_background_query_max_rps{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 10000 +# HELP aerospike_namespace_batch_sub_delete_error batch sub delete error +# TYPE aerospike_namespace_batch_sub_delete_error counter +aerospike_namespace_batch_sub_delete_error{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_batch_sub_delete_error{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_batch_sub_delete_error{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_batch_sub_delete_error{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_batch_sub_delete_filtered_out batch sub delete filtered out +# TYPE aerospike_namespace_batch_sub_delete_filtered_out counter +aerospike_namespace_batch_sub_delete_filtered_out{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_batch_sub_delete_filtered_out{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_batch_sub_delete_filtered_out{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_batch_sub_delete_filtered_out{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_batch_sub_delete_not_found batch sub delete not found +# TYPE aerospike_namespace_batch_sub_delete_not_found counter +aerospike_namespace_batch_sub_delete_not_found{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_batch_sub_delete_not_found{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_batch_sub_delete_not_found{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_batch_sub_delete_not_found{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_batch_sub_delete_success batch sub delete success +# TYPE aerospike_namespace_batch_sub_delete_success counter +aerospike_namespace_batch_sub_delete_success{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_batch_sub_delete_success{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_batch_sub_delete_success{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_batch_sub_delete_success{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_batch_sub_delete_timeout batch sub delete timeout +# TYPE aerospike_namespace_batch_sub_delete_timeout counter +aerospike_namespace_batch_sub_delete_timeout{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_batch_sub_delete_timeout{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_batch_sub_delete_timeout{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_batch_sub_delete_timeout{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_batch_sub_lang_delete_success batch sub lang delete success +# TYPE aerospike_namespace_batch_sub_lang_delete_success counter +aerospike_namespace_batch_sub_lang_delete_success{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_batch_sub_lang_delete_success{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_batch_sub_lang_delete_success{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_batch_sub_lang_delete_success{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_batch_sub_lang_error batch sub lang error +# TYPE aerospike_namespace_batch_sub_lang_error counter +aerospike_namespace_batch_sub_lang_error{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_batch_sub_lang_error{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_batch_sub_lang_error{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_batch_sub_lang_error{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_batch_sub_lang_read_success batch sub lang read success +# TYPE aerospike_namespace_batch_sub_lang_read_success counter +aerospike_namespace_batch_sub_lang_read_success{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_batch_sub_lang_read_success{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_batch_sub_lang_read_success{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_batch_sub_lang_read_success{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_batch_sub_lang_write_success batch sub lang write success +# TYPE aerospike_namespace_batch_sub_lang_write_success counter +aerospike_namespace_batch_sub_lang_write_success{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_batch_sub_lang_write_success{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_batch_sub_lang_write_success{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_batch_sub_lang_write_success{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_batch_sub_proxy_complete batch sub proxy complete +# TYPE aerospike_namespace_batch_sub_proxy_complete counter +aerospike_namespace_batch_sub_proxy_complete{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_batch_sub_proxy_complete{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_batch_sub_proxy_complete{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_batch_sub_proxy_complete{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_batch_sub_proxy_error batch sub proxy error +# TYPE aerospike_namespace_batch_sub_proxy_error counter +aerospike_namespace_batch_sub_proxy_error{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_batch_sub_proxy_error{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_batch_sub_proxy_error{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_batch_sub_proxy_error{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_batch_sub_proxy_timeout batch sub proxy timeout +# TYPE aerospike_namespace_batch_sub_proxy_timeout counter +aerospike_namespace_batch_sub_proxy_timeout{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_batch_sub_proxy_timeout{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_batch_sub_proxy_timeout{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_batch_sub_proxy_timeout{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_batch_sub_read_error batch sub read error +# TYPE aerospike_namespace_batch_sub_read_error counter +aerospike_namespace_batch_sub_read_error{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_batch_sub_read_error{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_batch_sub_read_error{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_batch_sub_read_error{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_batch_sub_read_filtered_out batch sub read filtered out +# TYPE aerospike_namespace_batch_sub_read_filtered_out counter +aerospike_namespace_batch_sub_read_filtered_out{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_batch_sub_read_filtered_out{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_batch_sub_read_filtered_out{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_batch_sub_read_filtered_out{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_batch_sub_read_not_found batch sub read not found +# TYPE aerospike_namespace_batch_sub_read_not_found counter +aerospike_namespace_batch_sub_read_not_found{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_batch_sub_read_not_found{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_batch_sub_read_not_found{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_batch_sub_read_not_found{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 1.937893e+06 +# HELP aerospike_namespace_batch_sub_read_success batch sub read success +# TYPE aerospike_namespace_batch_sub_read_success counter +aerospike_namespace_batch_sub_read_success{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_batch_sub_read_success{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_batch_sub_read_success{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_batch_sub_read_success{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 36114 +# HELP aerospike_namespace_batch_sub_read_timeout batch sub read timeout +# TYPE aerospike_namespace_batch_sub_read_timeout counter +aerospike_namespace_batch_sub_read_timeout{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_batch_sub_read_timeout{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_batch_sub_read_timeout{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_batch_sub_read_timeout{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_batch_sub_tsvc_error batch sub tsvc error +# TYPE aerospike_namespace_batch_sub_tsvc_error counter +aerospike_namespace_batch_sub_tsvc_error{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_batch_sub_tsvc_error{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_batch_sub_tsvc_error{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_batch_sub_tsvc_error{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_batch_sub_tsvc_timeout batch sub tsvc timeout +# TYPE aerospike_namespace_batch_sub_tsvc_timeout counter +aerospike_namespace_batch_sub_tsvc_timeout{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_batch_sub_tsvc_timeout{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_batch_sub_tsvc_timeout{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_batch_sub_tsvc_timeout{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_batch_sub_udf_complete batch sub udf complete +# TYPE aerospike_namespace_batch_sub_udf_complete counter +aerospike_namespace_batch_sub_udf_complete{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_batch_sub_udf_complete{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_batch_sub_udf_complete{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_batch_sub_udf_complete{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_batch_sub_udf_error batch sub udf error +# TYPE aerospike_namespace_batch_sub_udf_error counter +aerospike_namespace_batch_sub_udf_error{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_batch_sub_udf_error{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_batch_sub_udf_error{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_batch_sub_udf_error{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_batch_sub_udf_filtered_out batch sub udf filtered out +# TYPE aerospike_namespace_batch_sub_udf_filtered_out counter +aerospike_namespace_batch_sub_udf_filtered_out{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_batch_sub_udf_filtered_out{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_batch_sub_udf_filtered_out{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_batch_sub_udf_filtered_out{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_batch_sub_udf_timeout batch sub udf timeout +# TYPE aerospike_namespace_batch_sub_udf_timeout counter +aerospike_namespace_batch_sub_udf_timeout{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_batch_sub_udf_timeout{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_batch_sub_udf_timeout{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_batch_sub_udf_timeout{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_batch_sub_write_error batch sub write error +# TYPE aerospike_namespace_batch_sub_write_error counter +aerospike_namespace_batch_sub_write_error{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_batch_sub_write_error{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_batch_sub_write_error{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_batch_sub_write_error{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_batch_sub_write_filtered_out batch sub write filtered out +# TYPE aerospike_namespace_batch_sub_write_filtered_out counter +aerospike_namespace_batch_sub_write_filtered_out{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_batch_sub_write_filtered_out{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_batch_sub_write_filtered_out{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_batch_sub_write_filtered_out{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_batch_sub_write_success batch sub write success +# TYPE aerospike_namespace_batch_sub_write_success counter +aerospike_namespace_batch_sub_write_success{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_batch_sub_write_success{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_batch_sub_write_success{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_batch_sub_write_success{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_batch_sub_write_timeout batch sub write timeout +# TYPE aerospike_namespace_batch_sub_write_timeout counter +aerospike_namespace_batch_sub_write_timeout{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_batch_sub_write_timeout{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_batch_sub_write_timeout{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_batch_sub_write_timeout{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_cache_read_pct cache read pct +# TYPE aerospike_namespace_cache_read_pct gauge +aerospike_namespace_cache_read_pct{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_cache_read_pct{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +# HELP aerospike_namespace_client_delete_error client delete error +# TYPE aerospike_namespace_client_delete_error counter +aerospike_namespace_client_delete_error{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_client_delete_error{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_client_delete_error{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_client_delete_error{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_client_delete_filtered_out client delete filtered out +# TYPE aerospike_namespace_client_delete_filtered_out counter +aerospike_namespace_client_delete_filtered_out{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_client_delete_filtered_out{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_client_delete_filtered_out{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_client_delete_filtered_out{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_client_delete_not_found client delete not found +# TYPE aerospike_namespace_client_delete_not_found counter +aerospike_namespace_client_delete_not_found{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_client_delete_not_found{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_client_delete_not_found{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_client_delete_not_found{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_client_delete_success client delete success +# TYPE aerospike_namespace_client_delete_success counter +aerospike_namespace_client_delete_success{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_client_delete_success{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_client_delete_success{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_client_delete_success{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_client_delete_timeout client delete timeout +# TYPE aerospike_namespace_client_delete_timeout counter +aerospike_namespace_client_delete_timeout{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_client_delete_timeout{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_client_delete_timeout{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_client_delete_timeout{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_client_lang_delete_success client lang delete success +# TYPE aerospike_namespace_client_lang_delete_success counter +aerospike_namespace_client_lang_delete_success{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_client_lang_delete_success{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_client_lang_delete_success{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_client_lang_delete_success{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_client_lang_error client lang error +# TYPE aerospike_namespace_client_lang_error counter +aerospike_namespace_client_lang_error{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_client_lang_error{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_client_lang_error{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_client_lang_error{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_client_lang_read_success client lang read success +# TYPE aerospike_namespace_client_lang_read_success counter +aerospike_namespace_client_lang_read_success{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_client_lang_read_success{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_client_lang_read_success{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_client_lang_read_success{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_client_lang_write_success client lang write success +# TYPE aerospike_namespace_client_lang_write_success counter +aerospike_namespace_client_lang_write_success{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_client_lang_write_success{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_client_lang_write_success{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_client_lang_write_success{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_client_proxy_complete client proxy complete +# TYPE aerospike_namespace_client_proxy_complete counter +aerospike_namespace_client_proxy_complete{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_client_proxy_complete{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_client_proxy_complete{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_client_proxy_complete{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_client_proxy_error client proxy error +# TYPE aerospike_namespace_client_proxy_error counter +aerospike_namespace_client_proxy_error{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_client_proxy_error{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_client_proxy_error{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_client_proxy_error{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_client_proxy_timeout client proxy timeout +# TYPE aerospike_namespace_client_proxy_timeout counter +aerospike_namespace_client_proxy_timeout{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_client_proxy_timeout{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_client_proxy_timeout{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_client_proxy_timeout{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_client_read_error client read error +# TYPE aerospike_namespace_client_read_error counter +aerospike_namespace_client_read_error{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_client_read_error{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_client_read_error{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_client_read_error{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_client_read_filtered_out client read filtered out +# TYPE aerospike_namespace_client_read_filtered_out counter +aerospike_namespace_client_read_filtered_out{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_client_read_filtered_out{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_client_read_filtered_out{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_client_read_filtered_out{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_client_read_not_found client read not found +# TYPE aerospike_namespace_client_read_not_found counter +aerospike_namespace_client_read_not_found{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_client_read_not_found{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_client_read_not_found{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_client_read_not_found{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 84966 +# HELP aerospike_namespace_client_read_success client read success +# TYPE aerospike_namespace_client_read_success counter +aerospike_namespace_client_read_success{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_client_read_success{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_client_read_success{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_client_read_success{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 599751 +# HELP aerospike_namespace_client_read_timeout client read timeout +# TYPE aerospike_namespace_client_read_timeout counter +aerospike_namespace_client_read_timeout{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_client_read_timeout{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_client_read_timeout{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_client_read_timeout{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_client_tsvc_error client tsvc error +# TYPE aerospike_namespace_client_tsvc_error counter +aerospike_namespace_client_tsvc_error{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_client_tsvc_error{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_client_tsvc_error{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_client_tsvc_error{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_client_tsvc_timeout client tsvc timeout +# TYPE aerospike_namespace_client_tsvc_timeout counter +aerospike_namespace_client_tsvc_timeout{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_client_tsvc_timeout{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_client_tsvc_timeout{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_client_tsvc_timeout{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_client_udf_complete client udf complete +# TYPE aerospike_namespace_client_udf_complete counter +aerospike_namespace_client_udf_complete{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_client_udf_complete{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_client_udf_complete{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_client_udf_complete{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_client_udf_error client udf error +# TYPE aerospike_namespace_client_udf_error counter +aerospike_namespace_client_udf_error{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_client_udf_error{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_client_udf_error{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_client_udf_error{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_client_udf_filtered_out client udf filtered out +# TYPE aerospike_namespace_client_udf_filtered_out counter +aerospike_namespace_client_udf_filtered_out{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_client_udf_filtered_out{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_client_udf_filtered_out{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_client_udf_filtered_out{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_client_udf_timeout client udf timeout +# TYPE aerospike_namespace_client_udf_timeout counter +aerospike_namespace_client_udf_timeout{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_client_udf_timeout{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_client_udf_timeout{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_client_udf_timeout{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_client_write_error client write error +# TYPE aerospike_namespace_client_write_error counter +aerospike_namespace_client_write_error{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_client_write_error{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_client_write_error{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_client_write_error{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 3.3045319e+07 +# HELP aerospike_namespace_client_write_filtered_out client write filtered out +# TYPE aerospike_namespace_client_write_filtered_out counter +aerospike_namespace_client_write_filtered_out{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_client_write_filtered_out{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_client_write_filtered_out{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_client_write_filtered_out{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_client_write_success client write success +# TYPE aerospike_namespace_client_write_success counter +aerospike_namespace_client_write_success{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_client_write_success{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_client_write_success{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_client_write_success{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 1.798577e+06 +# HELP aerospike_namespace_client_write_timeout client write timeout +# TYPE aerospike_namespace_client_write_timeout counter +aerospike_namespace_client_write_timeout{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_client_write_timeout{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_client_write_timeout{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_client_write_timeout{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_clock_skew_stop_writes clock skew stop writes +# TYPE aerospike_namespace_clock_skew_stop_writes gauge +aerospike_namespace_clock_skew_stop_writes{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_clock_skew_stop_writes{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_clock_skew_stop_writes{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_clock_skew_stop_writes{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_conflict_resolve_writes conflict resolve writes +# TYPE aerospike_namespace_conflict_resolve_writes gauge +aerospike_namespace_conflict_resolve_writes{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_conflict_resolve_writes{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_conflict_resolve_writes{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_conflict_resolve_writes{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_current_time current time +# TYPE aerospike_namespace_current_time counter +aerospike_namespace_current_time{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 4.37564269e+08 +aerospike_namespace_current_time{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 4.37564269e+08 +aerospike_namespace_current_time{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 4.37564269e+08 +aerospike_namespace_current_time{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 4.37564269e+08 +# HELP aerospike_namespace_data_avail_pct data avail pct +# TYPE aerospike_namespace_data_avail_pct gauge +aerospike_namespace_data_avail_pct{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 99 +aerospike_namespace_data_avail_pct{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 99 +aerospike_namespace_data_avail_pct{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 99 +aerospike_namespace_data_avail_pct{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 60 +# HELP aerospike_namespace_data_compression_ratio data compression ratio +# TYPE aerospike_namespace_data_compression_ratio gauge +aerospike_namespace_data_compression_ratio{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 1 +aerospike_namespace_data_compression_ratio{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 1 +aerospike_namespace_data_compression_ratio{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 1 +aerospike_namespace_data_compression_ratio{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 1 +# HELP aerospike_namespace_data_total_bytes data total bytes +# TYPE aerospike_namespace_data_total_bytes gauge +aerospike_namespace_data_total_bytes{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 4.294967296e+09 +aerospike_namespace_data_total_bytes{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 4.294967296e+09 +aerospike_namespace_data_total_bytes{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 4.294967296e+09 +aerospike_namespace_data_total_bytes{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 4.294967296e+09 +# HELP aerospike_namespace_data_used_bytes data used bytes +# TYPE aerospike_namespace_data_used_bytes gauge +aerospike_namespace_data_used_bytes{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_data_used_bytes{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_data_used_bytes{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_data_used_bytes{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 1.560717808e+09 +# HELP aerospike_namespace_data_used_pct data used pct +# TYPE aerospike_namespace_data_used_pct gauge +aerospike_namespace_data_used_pct{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_data_used_pct{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_data_used_pct{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_data_used_pct{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 36 +# HELP aerospike_namespace_dead_partitions dead partitions +# TYPE aerospike_namespace_dead_partitions gauge +aerospike_namespace_dead_partitions{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_dead_partitions{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_dead_partitions{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_dead_partitions{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_default_ttl default ttl +# TYPE aerospike_namespace_default_ttl gauge +aerospike_namespace_default_ttl{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_default_ttl{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_default_ttl{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_default_ttl{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_deleted_last_bin deleted last bin +# TYPE aerospike_namespace_deleted_last_bin counter +aerospike_namespace_deleted_last_bin{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_deleted_last_bin{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_deleted_last_bin{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_deleted_last_bin{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_disable_cold_start_eviction disable cold start eviction +# TYPE aerospike_namespace_disable_cold_start_eviction gauge +aerospike_namespace_disable_cold_start_eviction{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_disable_cold_start_eviction{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_disable_cold_start_eviction{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_disable_cold_start_eviction{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_disable_write_dup_res disable write dup res +# TYPE aerospike_namespace_disable_write_dup_res gauge +aerospike_namespace_disable_write_dup_res{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_disable_write_dup_res{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_disable_write_dup_res{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_disable_write_dup_res{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_disallow_expunge disallow expunge +# TYPE aerospike_namespace_disallow_expunge gauge +aerospike_namespace_disallow_expunge{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_disallow_expunge{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_disallow_expunge{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_disallow_expunge{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_disallow_null_setname disallow null setname +# TYPE aerospike_namespace_disallow_null_setname gauge +aerospike_namespace_disallow_null_setname{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_disallow_null_setname{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_disallow_null_setname{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_disallow_null_setname{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_dup_res_ask dup res ask +# TYPE aerospike_namespace_dup_res_ask counter +aerospike_namespace_dup_res_ask{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_dup_res_ask{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_dup_res_ask{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_dup_res_ask{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_dup_res_respond_no_read dup res respond no read +# TYPE aerospike_namespace_dup_res_respond_no_read counter +aerospike_namespace_dup_res_respond_no_read{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_dup_res_respond_no_read{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_dup_res_respond_no_read{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_dup_res_respond_no_read{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_dup_res_respond_read dup res respond read +# TYPE aerospike_namespace_dup_res_respond_read counter +aerospike_namespace_dup_res_respond_read{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_dup_res_respond_read{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_dup_res_respond_read{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_dup_res_respond_read{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_effective_is_quiesced effective is quiesced +# TYPE aerospike_namespace_effective_is_quiesced gauge +aerospike_namespace_effective_is_quiesced{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_effective_is_quiesced{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_effective_is_quiesced{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_effective_is_quiesced{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_effective_prefer_uniform_balance effective prefer uniform balance +# TYPE aerospike_namespace_effective_prefer_uniform_balance gauge +aerospike_namespace_effective_prefer_uniform_balance{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 1 +aerospike_namespace_effective_prefer_uniform_balance{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 1 +aerospike_namespace_effective_prefer_uniform_balance{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 1 +aerospike_namespace_effective_prefer_uniform_balance{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 1 +# HELP aerospike_namespace_effective_replication_factor effective replication factor +# TYPE aerospike_namespace_effective_replication_factor gauge +aerospike_namespace_effective_replication_factor{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 1 +aerospike_namespace_effective_replication_factor{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 1 +aerospike_namespace_effective_replication_factor{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 1 +aerospike_namespace_effective_replication_factor{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 1 +# HELP aerospike_namespace_enable_benchmarks_batch_sub enable benchmarks batch sub +# TYPE aerospike_namespace_enable_benchmarks_batch_sub gauge +aerospike_namespace_enable_benchmarks_batch_sub{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_enable_benchmarks_batch_sub{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_enable_benchmarks_batch_sub{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_enable_benchmarks_batch_sub{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_enable_benchmarks_ops_sub enable benchmarks ops sub +# TYPE aerospike_namespace_enable_benchmarks_ops_sub gauge +aerospike_namespace_enable_benchmarks_ops_sub{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_enable_benchmarks_ops_sub{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_enable_benchmarks_ops_sub{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_enable_benchmarks_ops_sub{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_enable_benchmarks_read enable benchmarks read +# TYPE aerospike_namespace_enable_benchmarks_read gauge +aerospike_namespace_enable_benchmarks_read{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_enable_benchmarks_read{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_enable_benchmarks_read{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_enable_benchmarks_read{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_enable_benchmarks_udf enable benchmarks udf +# TYPE aerospike_namespace_enable_benchmarks_udf gauge +aerospike_namespace_enable_benchmarks_udf{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_enable_benchmarks_udf{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_enable_benchmarks_udf{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_enable_benchmarks_udf{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_enable_benchmarks_udf_sub enable benchmarks udf sub +# TYPE aerospike_namespace_enable_benchmarks_udf_sub gauge +aerospike_namespace_enable_benchmarks_udf_sub{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_enable_benchmarks_udf_sub{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_enable_benchmarks_udf_sub{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_enable_benchmarks_udf_sub{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_enable_benchmarks_write enable benchmarks write +# TYPE aerospike_namespace_enable_benchmarks_write gauge +aerospike_namespace_enable_benchmarks_write{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_enable_benchmarks_write{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_enable_benchmarks_write{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_enable_benchmarks_write{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_enable_hist_proxy enable hist proxy +# TYPE aerospike_namespace_enable_hist_proxy gauge +aerospike_namespace_enable_hist_proxy{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_enable_hist_proxy{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_enable_hist_proxy{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_enable_hist_proxy{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_evict_hist_buckets evict hist buckets +# TYPE aerospike_namespace_evict_hist_buckets gauge +aerospike_namespace_evict_hist_buckets{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 10000 +aerospike_namespace_evict_hist_buckets{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 10000 +aerospike_namespace_evict_hist_buckets{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 10000 +aerospike_namespace_evict_hist_buckets{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 10000 +# HELP aerospike_namespace_evict_sys_memory_pct evict sys memory pct +# TYPE aerospike_namespace_evict_sys_memory_pct gauge +aerospike_namespace_evict_sys_memory_pct{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_evict_sys_memory_pct{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_evict_sys_memory_pct{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_evict_sys_memory_pct{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_evict_tenths_pct evict tenths pct +# TYPE aerospike_namespace_evict_tenths_pct gauge +aerospike_namespace_evict_tenths_pct{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 5 +aerospike_namespace_evict_tenths_pct{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 5 +aerospike_namespace_evict_tenths_pct{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 5 +aerospike_namespace_evict_tenths_pct{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 5 +# HELP aerospike_namespace_evict_ttl evict ttl +# TYPE aerospike_namespace_evict_ttl gauge +aerospike_namespace_evict_ttl{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_evict_ttl{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_evict_ttl{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_evict_ttl{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_evict_void_time evict void time +# TYPE aerospike_namespace_evict_void_time counter +aerospike_namespace_evict_void_time{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_evict_void_time{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_evict_void_time{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_evict_void_time{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_evicted_objects evicted objects +# TYPE aerospike_namespace_evicted_objects counter +aerospike_namespace_evicted_objects{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_evicted_objects{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_evicted_objects{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_evicted_objects{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_expired_objects expired objects +# TYPE aerospike_namespace_expired_objects counter +aerospike_namespace_expired_objects{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_expired_objects{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_expired_objects{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_expired_objects{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_fail_client_lost_conflict fail client lost conflict +# TYPE aerospike_namespace_fail_client_lost_conflict counter +aerospike_namespace_fail_client_lost_conflict{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_fail_client_lost_conflict{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_fail_client_lost_conflict{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_fail_client_lost_conflict{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_fail_generation fail generation +# TYPE aerospike_namespace_fail_generation counter +aerospike_namespace_fail_generation{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_fail_generation{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_fail_generation{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_fail_generation{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_fail_key_busy fail key busy +# TYPE aerospike_namespace_fail_key_busy counter +aerospike_namespace_fail_key_busy{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_fail_key_busy{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_fail_key_busy{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_fail_key_busy{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_fail_record_too_big fail record too big +# TYPE aerospike_namespace_fail_record_too_big counter +aerospike_namespace_fail_record_too_big{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_fail_record_too_big{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_fail_record_too_big{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_fail_record_too_big{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_fail_xdr_forbidden fail xdr forbidden +# TYPE aerospike_namespace_fail_xdr_forbidden counter +aerospike_namespace_fail_xdr_forbidden{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_fail_xdr_forbidden{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_fail_xdr_forbidden{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_fail_xdr_forbidden{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_fail_xdr_lost_conflict fail xdr lost conflict +# TYPE aerospike_namespace_fail_xdr_lost_conflict counter +aerospike_namespace_fail_xdr_lost_conflict{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_fail_xdr_lost_conflict{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_fail_xdr_lost_conflict{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_fail_xdr_lost_conflict{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_force_long_queries force long queries +# TYPE aerospike_namespace_force_long_queries gauge +aerospike_namespace_force_long_queries{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_force_long_queries{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_force_long_queries{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_force_long_queries{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_from_proxy_batch_sub_delete_error from proxy batch sub delete error +# TYPE aerospike_namespace_from_proxy_batch_sub_delete_error counter +aerospike_namespace_from_proxy_batch_sub_delete_error{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_batch_sub_delete_error{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_from_proxy_batch_sub_delete_error{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_batch_sub_delete_error{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_from_proxy_batch_sub_delete_filtered_out from proxy batch sub delete filtered out +# TYPE aerospike_namespace_from_proxy_batch_sub_delete_filtered_out counter +aerospike_namespace_from_proxy_batch_sub_delete_filtered_out{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_batch_sub_delete_filtered_out{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_from_proxy_batch_sub_delete_filtered_out{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_batch_sub_delete_filtered_out{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_from_proxy_batch_sub_delete_not_found from proxy batch sub delete not found +# TYPE aerospike_namespace_from_proxy_batch_sub_delete_not_found counter +aerospike_namespace_from_proxy_batch_sub_delete_not_found{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_batch_sub_delete_not_found{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_from_proxy_batch_sub_delete_not_found{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_batch_sub_delete_not_found{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_from_proxy_batch_sub_delete_success from proxy batch sub delete success +# TYPE aerospike_namespace_from_proxy_batch_sub_delete_success counter +aerospike_namespace_from_proxy_batch_sub_delete_success{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_batch_sub_delete_success{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_from_proxy_batch_sub_delete_success{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_batch_sub_delete_success{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_from_proxy_batch_sub_delete_timeout from proxy batch sub delete timeout +# TYPE aerospike_namespace_from_proxy_batch_sub_delete_timeout counter +aerospike_namespace_from_proxy_batch_sub_delete_timeout{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_batch_sub_delete_timeout{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_from_proxy_batch_sub_delete_timeout{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_batch_sub_delete_timeout{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_from_proxy_batch_sub_lang_delete_success from proxy batch sub lang delete success +# TYPE aerospike_namespace_from_proxy_batch_sub_lang_delete_success counter +aerospike_namespace_from_proxy_batch_sub_lang_delete_success{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_batch_sub_lang_delete_success{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_from_proxy_batch_sub_lang_delete_success{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_batch_sub_lang_delete_success{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_from_proxy_batch_sub_lang_error from proxy batch sub lang error +# TYPE aerospike_namespace_from_proxy_batch_sub_lang_error counter +aerospike_namespace_from_proxy_batch_sub_lang_error{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_batch_sub_lang_error{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_from_proxy_batch_sub_lang_error{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_batch_sub_lang_error{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_from_proxy_batch_sub_lang_read_success from proxy batch sub lang read success +# TYPE aerospike_namespace_from_proxy_batch_sub_lang_read_success counter +aerospike_namespace_from_proxy_batch_sub_lang_read_success{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_batch_sub_lang_read_success{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_from_proxy_batch_sub_lang_read_success{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_batch_sub_lang_read_success{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_from_proxy_batch_sub_lang_write_success from proxy batch sub lang write success +# TYPE aerospike_namespace_from_proxy_batch_sub_lang_write_success counter +aerospike_namespace_from_proxy_batch_sub_lang_write_success{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_batch_sub_lang_write_success{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_from_proxy_batch_sub_lang_write_success{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_batch_sub_lang_write_success{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_from_proxy_batch_sub_read_error from proxy batch sub read error +# TYPE aerospike_namespace_from_proxy_batch_sub_read_error counter +aerospike_namespace_from_proxy_batch_sub_read_error{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_batch_sub_read_error{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_from_proxy_batch_sub_read_error{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_batch_sub_read_error{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_from_proxy_batch_sub_read_filtered_out from proxy batch sub read filtered out +# TYPE aerospike_namespace_from_proxy_batch_sub_read_filtered_out counter +aerospike_namespace_from_proxy_batch_sub_read_filtered_out{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_batch_sub_read_filtered_out{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_from_proxy_batch_sub_read_filtered_out{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_batch_sub_read_filtered_out{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_from_proxy_batch_sub_read_not_found from proxy batch sub read not found +# TYPE aerospike_namespace_from_proxy_batch_sub_read_not_found counter +aerospike_namespace_from_proxy_batch_sub_read_not_found{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_batch_sub_read_not_found{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_from_proxy_batch_sub_read_not_found{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_batch_sub_read_not_found{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_from_proxy_batch_sub_read_success from proxy batch sub read success +# TYPE aerospike_namespace_from_proxy_batch_sub_read_success counter +aerospike_namespace_from_proxy_batch_sub_read_success{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_batch_sub_read_success{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_from_proxy_batch_sub_read_success{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_batch_sub_read_success{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_from_proxy_batch_sub_read_timeout from proxy batch sub read timeout +# TYPE aerospike_namespace_from_proxy_batch_sub_read_timeout counter +aerospike_namespace_from_proxy_batch_sub_read_timeout{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_batch_sub_read_timeout{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_from_proxy_batch_sub_read_timeout{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_batch_sub_read_timeout{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_from_proxy_batch_sub_tsvc_error from proxy batch sub tsvc error +# TYPE aerospike_namespace_from_proxy_batch_sub_tsvc_error counter +aerospike_namespace_from_proxy_batch_sub_tsvc_error{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_batch_sub_tsvc_error{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_from_proxy_batch_sub_tsvc_error{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_batch_sub_tsvc_error{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_from_proxy_batch_sub_tsvc_timeout from proxy batch sub tsvc timeout +# TYPE aerospike_namespace_from_proxy_batch_sub_tsvc_timeout counter +aerospike_namespace_from_proxy_batch_sub_tsvc_timeout{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_batch_sub_tsvc_timeout{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_from_proxy_batch_sub_tsvc_timeout{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_batch_sub_tsvc_timeout{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_from_proxy_batch_sub_udf_complete from proxy batch sub udf complete +# TYPE aerospike_namespace_from_proxy_batch_sub_udf_complete counter +aerospike_namespace_from_proxy_batch_sub_udf_complete{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_batch_sub_udf_complete{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_from_proxy_batch_sub_udf_complete{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_batch_sub_udf_complete{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_from_proxy_batch_sub_udf_error from proxy batch sub udf error +# TYPE aerospike_namespace_from_proxy_batch_sub_udf_error counter +aerospike_namespace_from_proxy_batch_sub_udf_error{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_batch_sub_udf_error{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_from_proxy_batch_sub_udf_error{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_batch_sub_udf_error{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_from_proxy_batch_sub_udf_filtered_out from proxy batch sub udf filtered out +# TYPE aerospike_namespace_from_proxy_batch_sub_udf_filtered_out counter +aerospike_namespace_from_proxy_batch_sub_udf_filtered_out{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_batch_sub_udf_filtered_out{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_from_proxy_batch_sub_udf_filtered_out{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_batch_sub_udf_filtered_out{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_from_proxy_batch_sub_udf_timeout from proxy batch sub udf timeout +# TYPE aerospike_namespace_from_proxy_batch_sub_udf_timeout counter +aerospike_namespace_from_proxy_batch_sub_udf_timeout{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_batch_sub_udf_timeout{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_from_proxy_batch_sub_udf_timeout{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_batch_sub_udf_timeout{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_from_proxy_batch_sub_write_error from proxy batch sub write error +# TYPE aerospike_namespace_from_proxy_batch_sub_write_error counter +aerospike_namespace_from_proxy_batch_sub_write_error{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_batch_sub_write_error{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_from_proxy_batch_sub_write_error{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_batch_sub_write_error{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_from_proxy_batch_sub_write_filtered_out from proxy batch sub write filtered out +# TYPE aerospike_namespace_from_proxy_batch_sub_write_filtered_out counter +aerospike_namespace_from_proxy_batch_sub_write_filtered_out{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_batch_sub_write_filtered_out{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_from_proxy_batch_sub_write_filtered_out{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_batch_sub_write_filtered_out{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_from_proxy_batch_sub_write_success from proxy batch sub write success +# TYPE aerospike_namespace_from_proxy_batch_sub_write_success counter +aerospike_namespace_from_proxy_batch_sub_write_success{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_batch_sub_write_success{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_from_proxy_batch_sub_write_success{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_batch_sub_write_success{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_from_proxy_batch_sub_write_timeout from proxy batch sub write timeout +# TYPE aerospike_namespace_from_proxy_batch_sub_write_timeout counter +aerospike_namespace_from_proxy_batch_sub_write_timeout{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_batch_sub_write_timeout{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_from_proxy_batch_sub_write_timeout{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_batch_sub_write_timeout{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_from_proxy_delete_error from proxy delete error +# TYPE aerospike_namespace_from_proxy_delete_error counter +aerospike_namespace_from_proxy_delete_error{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_delete_error{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_from_proxy_delete_error{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_delete_error{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_from_proxy_delete_filtered_out from proxy delete filtered out +# TYPE aerospike_namespace_from_proxy_delete_filtered_out counter +aerospike_namespace_from_proxy_delete_filtered_out{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_delete_filtered_out{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_from_proxy_delete_filtered_out{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_delete_filtered_out{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_from_proxy_delete_not_found from proxy delete not found +# TYPE aerospike_namespace_from_proxy_delete_not_found counter +aerospike_namespace_from_proxy_delete_not_found{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_delete_not_found{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_from_proxy_delete_not_found{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_delete_not_found{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_from_proxy_delete_success from proxy delete success +# TYPE aerospike_namespace_from_proxy_delete_success counter +aerospike_namespace_from_proxy_delete_success{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_delete_success{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_from_proxy_delete_success{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_delete_success{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_from_proxy_delete_timeout from proxy delete timeout +# TYPE aerospike_namespace_from_proxy_delete_timeout counter +aerospike_namespace_from_proxy_delete_timeout{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_delete_timeout{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_from_proxy_delete_timeout{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_delete_timeout{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_from_proxy_lang_delete_success from proxy lang delete success +# TYPE aerospike_namespace_from_proxy_lang_delete_success counter +aerospike_namespace_from_proxy_lang_delete_success{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_lang_delete_success{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_from_proxy_lang_delete_success{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_lang_delete_success{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_from_proxy_lang_error from proxy lang error +# TYPE aerospike_namespace_from_proxy_lang_error counter +aerospike_namespace_from_proxy_lang_error{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_lang_error{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_from_proxy_lang_error{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_lang_error{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_from_proxy_lang_read_success from proxy lang read success +# TYPE aerospike_namespace_from_proxy_lang_read_success counter +aerospike_namespace_from_proxy_lang_read_success{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_lang_read_success{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_from_proxy_lang_read_success{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_lang_read_success{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_from_proxy_lang_write_success from proxy lang write success +# TYPE aerospike_namespace_from_proxy_lang_write_success counter +aerospike_namespace_from_proxy_lang_write_success{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_lang_write_success{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_from_proxy_lang_write_success{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_lang_write_success{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_from_proxy_read_error from proxy read error +# TYPE aerospike_namespace_from_proxy_read_error counter +aerospike_namespace_from_proxy_read_error{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_read_error{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_from_proxy_read_error{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_read_error{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_from_proxy_read_filtered_out from proxy read filtered out +# TYPE aerospike_namespace_from_proxy_read_filtered_out counter +aerospike_namespace_from_proxy_read_filtered_out{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_read_filtered_out{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_from_proxy_read_filtered_out{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_read_filtered_out{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_from_proxy_read_not_found from proxy read not found +# TYPE aerospike_namespace_from_proxy_read_not_found counter +aerospike_namespace_from_proxy_read_not_found{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_read_not_found{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_from_proxy_read_not_found{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_read_not_found{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_from_proxy_read_success from proxy read success +# TYPE aerospike_namespace_from_proxy_read_success counter +aerospike_namespace_from_proxy_read_success{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_read_success{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_from_proxy_read_success{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_read_success{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_from_proxy_read_timeout from proxy read timeout +# TYPE aerospike_namespace_from_proxy_read_timeout counter +aerospike_namespace_from_proxy_read_timeout{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_read_timeout{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_from_proxy_read_timeout{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_read_timeout{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_from_proxy_tsvc_error from proxy tsvc error +# TYPE aerospike_namespace_from_proxy_tsvc_error counter +aerospike_namespace_from_proxy_tsvc_error{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_tsvc_error{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_from_proxy_tsvc_error{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_tsvc_error{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_from_proxy_tsvc_timeout from proxy tsvc timeout +# TYPE aerospike_namespace_from_proxy_tsvc_timeout counter +aerospike_namespace_from_proxy_tsvc_timeout{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_tsvc_timeout{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_from_proxy_tsvc_timeout{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_tsvc_timeout{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_from_proxy_udf_complete from proxy udf complete +# TYPE aerospike_namespace_from_proxy_udf_complete counter +aerospike_namespace_from_proxy_udf_complete{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_udf_complete{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_from_proxy_udf_complete{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_udf_complete{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_from_proxy_udf_error from proxy udf error +# TYPE aerospike_namespace_from_proxy_udf_error counter +aerospike_namespace_from_proxy_udf_error{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_udf_error{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_from_proxy_udf_error{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_udf_error{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_from_proxy_udf_filtered_out from proxy udf filtered out +# TYPE aerospike_namespace_from_proxy_udf_filtered_out counter +aerospike_namespace_from_proxy_udf_filtered_out{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_udf_filtered_out{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_from_proxy_udf_filtered_out{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_udf_filtered_out{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_from_proxy_udf_timeout from proxy udf timeout +# TYPE aerospike_namespace_from_proxy_udf_timeout counter +aerospike_namespace_from_proxy_udf_timeout{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_udf_timeout{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_from_proxy_udf_timeout{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_udf_timeout{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_from_proxy_write_error from proxy write error +# TYPE aerospike_namespace_from_proxy_write_error counter +aerospike_namespace_from_proxy_write_error{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_write_error{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_from_proxy_write_error{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_write_error{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_from_proxy_write_filtered_out from proxy write filtered out +# TYPE aerospike_namespace_from_proxy_write_filtered_out counter +aerospike_namespace_from_proxy_write_filtered_out{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_write_filtered_out{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_from_proxy_write_filtered_out{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_write_filtered_out{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_from_proxy_write_success from proxy write success +# TYPE aerospike_namespace_from_proxy_write_success counter +aerospike_namespace_from_proxy_write_success{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_write_success{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_from_proxy_write_success{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_write_success{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_from_proxy_write_timeout from proxy write timeout +# TYPE aerospike_namespace_from_proxy_write_timeout counter +aerospike_namespace_from_proxy_write_timeout{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_write_timeout{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_from_proxy_write_timeout{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_from_proxy_write_timeout{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_geo2dsphere_within_earth_radius_meters geo2dsphere within earth radius meters +# TYPE aerospike_namespace_geo2dsphere_within_earth_radius_meters gauge +aerospike_namespace_geo2dsphere_within_earth_radius_meters{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 6.371e+06 +aerospike_namespace_geo2dsphere_within_earth_radius_meters{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 6.371e+06 +aerospike_namespace_geo2dsphere_within_earth_radius_meters{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 6.371e+06 +aerospike_namespace_geo2dsphere_within_earth_radius_meters{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 6.371e+06 +# HELP aerospike_namespace_geo2dsphere_within_level_mod geo2dsphere within level mod +# TYPE aerospike_namespace_geo2dsphere_within_level_mod gauge +aerospike_namespace_geo2dsphere_within_level_mod{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 1 +aerospike_namespace_geo2dsphere_within_level_mod{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 1 +aerospike_namespace_geo2dsphere_within_level_mod{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 1 +aerospike_namespace_geo2dsphere_within_level_mod{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 1 +# HELP aerospike_namespace_geo2dsphere_within_max_cells geo2dsphere within max cells +# TYPE aerospike_namespace_geo2dsphere_within_max_cells gauge +aerospike_namespace_geo2dsphere_within_max_cells{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 12 +aerospike_namespace_geo2dsphere_within_max_cells{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 12 +aerospike_namespace_geo2dsphere_within_max_cells{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 12 +aerospike_namespace_geo2dsphere_within_max_cells{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 12 +# HELP aerospike_namespace_geo2dsphere_within_max_level geo2dsphere within max level +# TYPE aerospike_namespace_geo2dsphere_within_max_level gauge +aerospike_namespace_geo2dsphere_within_max_level{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 20 +aerospike_namespace_geo2dsphere_within_max_level{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 20 +aerospike_namespace_geo2dsphere_within_max_level{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 20 +aerospike_namespace_geo2dsphere_within_max_level{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 20 +# HELP aerospike_namespace_geo2dsphere_within_min_level geo2dsphere within min level +# TYPE aerospike_namespace_geo2dsphere_within_min_level gauge +aerospike_namespace_geo2dsphere_within_min_level{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 1 +aerospike_namespace_geo2dsphere_within_min_level{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 1 +aerospike_namespace_geo2dsphere_within_min_level{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 1 +aerospike_namespace_geo2dsphere_within_min_level{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 1 +# HELP aerospike_namespace_geo2dsphere_within_strict geo2dsphere within strict +# TYPE aerospike_namespace_geo2dsphere_within_strict gauge +aerospike_namespace_geo2dsphere_within_strict{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 1 +aerospike_namespace_geo2dsphere_within_strict{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 1 +aerospike_namespace_geo2dsphere_within_strict{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 1 +aerospike_namespace_geo2dsphere_within_strict{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 1 +# HELP aerospike_namespace_geo_region_query_cells geo region query cells +# TYPE aerospike_namespace_geo_region_query_cells counter +aerospike_namespace_geo_region_query_cells{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_geo_region_query_cells{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_geo_region_query_cells{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_geo_region_query_cells{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_geo_region_query_falsepos geo region query falsepos +# TYPE aerospike_namespace_geo_region_query_falsepos counter +aerospike_namespace_geo_region_query_falsepos{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_geo_region_query_falsepos{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_geo_region_query_falsepos{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_geo_region_query_falsepos{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_geo_region_query_points geo region query points +# TYPE aerospike_namespace_geo_region_query_points counter +aerospike_namespace_geo_region_query_points{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_geo_region_query_points{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_geo_region_query_points{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_geo_region_query_points{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_geo_region_query_reqs geo region query reqs +# TYPE aerospike_namespace_geo_region_query_reqs counter +aerospike_namespace_geo_region_query_reqs{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_geo_region_query_reqs{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_geo_region_query_reqs{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_geo_region_query_reqs{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_hwm_breached hwm breached +# TYPE aerospike_namespace_hwm_breached gauge +aerospike_namespace_hwm_breached{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_hwm_breached{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_hwm_breached{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_hwm_breached{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 1 +# HELP aerospike_namespace_ignore_migrate_fill_delay ignore migrate fill delay +# TYPE aerospike_namespace_ignore_migrate_fill_delay gauge +aerospike_namespace_ignore_migrate_fill_delay{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_ignore_migrate_fill_delay{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_ignore_migrate_fill_delay{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_ignore_migrate_fill_delay{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_index_flash_alloc_bytes index flash alloc bytes +# TYPE aerospike_namespace_index_flash_alloc_bytes gauge +aerospike_namespace_index_flash_alloc_bytes{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +# HELP aerospike_namespace_index_flash_alloc_pct index flash alloc pct +# TYPE aerospike_namespace_index_flash_alloc_pct gauge +aerospike_namespace_index_flash_alloc_pct{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +# HELP aerospike_namespace_index_mounts_used_pct index mounts used pct +# TYPE aerospike_namespace_index_mounts_used_pct gauge +aerospike_namespace_index_mounts_used_pct{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +# HELP aerospike_namespace_index_stage_size index stage size +# TYPE aerospike_namespace_index_stage_size gauge +aerospike_namespace_index_stage_size{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 1.073741824e+09 +aerospike_namespace_index_stage_size{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 1.073741824e+09 +aerospike_namespace_index_stage_size{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 1.073741824e+09 +aerospike_namespace_index_stage_size{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 1.073741824e+09 +# HELP aerospike_namespace_index_type_evict_mounts_pct index type evict mounts pct +# TYPE aerospike_namespace_index_type_evict_mounts_pct gauge +aerospike_namespace_index_type_evict_mounts_pct{cluster_name="70_aus_perth_1",index="flash",ns="employees_flash",service="172.17.0.6:3000"} 30 +# HELP aerospike_namespace_index_type_mount_age index type mount age +# TYPE aerospike_namespace_index_type_mount_age gauge +aerospike_namespace_index_type_mount_age{cluster_name="70_aus_perth_1",index="flash",mount="/opt/aerospike/data/emp_flash_index",mount_index="0",ns="employees_flash",service="172.17.0.6:3000"} -1 +# HELP aerospike_namespace_index_type_mounts_budget index type mounts budget +# TYPE aerospike_namespace_index_type_mounts_budget gauge +aerospike_namespace_index_type_mounts_budget{cluster_name="70_aus_perth_1",index="flash",ns="employees_flash",service="172.17.0.6:3000"} 4.294967296e+09 +# HELP aerospike_namespace_index_used_bytes index used bytes +# TYPE aerospike_namespace_index_used_bytes gauge +aerospike_namespace_index_used_bytes{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_index_used_bytes{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_index_used_bytes{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_index_used_bytes{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 1.15108928e+08 +# HELP aerospike_namespace_inline_short_queries inline short queries +# TYPE aerospike_namespace_inline_short_queries gauge +aerospike_namespace_inline_short_queries{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_inline_short_queries{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_inline_short_queries{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_inline_short_queries{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_master_objects master objects +# TYPE aerospike_namespace_master_objects gauge +aerospike_namespace_master_objects{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_master_objects{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_master_objects{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_master_objects{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 1.798577e+06 +# HELP aerospike_namespace_master_tombstones master tombstones +# TYPE aerospike_namespace_master_tombstones gauge +aerospike_namespace_master_tombstones{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_master_tombstones{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_master_tombstones{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_master_tombstones{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_max_record_size max record size +# TYPE aerospike_namespace_max_record_size gauge +aerospike_namespace_max_record_size{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_max_record_size{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_max_record_size{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_max_record_size{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_migrate_order migrate order +# TYPE aerospike_namespace_migrate_order gauge +aerospike_namespace_migrate_order{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 5 +aerospike_namespace_migrate_order{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 5 +aerospike_namespace_migrate_order{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 5 +aerospike_namespace_migrate_order{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 5 +# HELP aerospike_namespace_migrate_record_receives migrate record receives +# TYPE aerospike_namespace_migrate_record_receives counter +aerospike_namespace_migrate_record_receives{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_migrate_record_receives{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_migrate_record_receives{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_migrate_record_receives{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_migrate_record_retransmits migrate record retransmits +# TYPE aerospike_namespace_migrate_record_retransmits counter +aerospike_namespace_migrate_record_retransmits{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_migrate_record_retransmits{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_migrate_record_retransmits{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_migrate_record_retransmits{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_migrate_records_skipped migrate records skipped +# TYPE aerospike_namespace_migrate_records_skipped counter +aerospike_namespace_migrate_records_skipped{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_migrate_records_skipped{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_migrate_records_skipped{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_migrate_records_skipped{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_migrate_records_transmitted migrate records transmitted +# TYPE aerospike_namespace_migrate_records_transmitted counter +aerospike_namespace_migrate_records_transmitted{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_migrate_records_transmitted{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_migrate_records_transmitted{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_migrate_records_transmitted{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_migrate_retransmit_ms migrate retransmit ms +# TYPE aerospike_namespace_migrate_retransmit_ms gauge +aerospike_namespace_migrate_retransmit_ms{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 5000 +aerospike_namespace_migrate_retransmit_ms{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 5000 +aerospike_namespace_migrate_retransmit_ms{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 5000 +aerospike_namespace_migrate_retransmit_ms{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 5000 +# HELP aerospike_namespace_migrate_rx_instances migrate rx instances +# TYPE aerospike_namespace_migrate_rx_instances gauge +aerospike_namespace_migrate_rx_instances{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_migrate_rx_instances{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_migrate_rx_instances{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_migrate_rx_instances{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_migrate_rx_partitions_active migrate rx partitions active +# TYPE aerospike_namespace_migrate_rx_partitions_active gauge +aerospike_namespace_migrate_rx_partitions_active{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_migrate_rx_partitions_active{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_migrate_rx_partitions_active{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_migrate_rx_partitions_active{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_migrate_rx_partitions_initial migrate rx partitions initial +# TYPE aerospike_namespace_migrate_rx_partitions_initial gauge +aerospike_namespace_migrate_rx_partitions_initial{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_migrate_rx_partitions_initial{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_migrate_rx_partitions_initial{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_migrate_rx_partitions_initial{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_migrate_rx_partitions_remaining migrate rx partitions remaining +# TYPE aerospike_namespace_migrate_rx_partitions_remaining gauge +aerospike_namespace_migrate_rx_partitions_remaining{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_migrate_rx_partitions_remaining{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_migrate_rx_partitions_remaining{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_migrate_rx_partitions_remaining{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_migrate_signals_active migrate signals active +# TYPE aerospike_namespace_migrate_signals_active gauge +aerospike_namespace_migrate_signals_active{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_migrate_signals_active{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_migrate_signals_active{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_migrate_signals_active{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_migrate_signals_remaining migrate signals remaining +# TYPE aerospike_namespace_migrate_signals_remaining gauge +aerospike_namespace_migrate_signals_remaining{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_migrate_signals_remaining{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_migrate_signals_remaining{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_migrate_signals_remaining{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_migrate_sleep migrate sleep +# TYPE aerospike_namespace_migrate_sleep gauge +aerospike_namespace_migrate_sleep{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 1 +aerospike_namespace_migrate_sleep{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 1 +aerospike_namespace_migrate_sleep{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 1 +aerospike_namespace_migrate_sleep{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 1 +# HELP aerospike_namespace_migrate_tx_instances migrate tx instances +# TYPE aerospike_namespace_migrate_tx_instances gauge +aerospike_namespace_migrate_tx_instances{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_migrate_tx_instances{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_migrate_tx_instances{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_migrate_tx_instances{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_migrate_tx_partitions_active migrate tx partitions active +# TYPE aerospike_namespace_migrate_tx_partitions_active gauge +aerospike_namespace_migrate_tx_partitions_active{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_migrate_tx_partitions_active{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_migrate_tx_partitions_active{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_migrate_tx_partitions_active{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_migrate_tx_partitions_imbalance migrate tx partitions imbalance +# TYPE aerospike_namespace_migrate_tx_partitions_imbalance gauge +aerospike_namespace_migrate_tx_partitions_imbalance{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_migrate_tx_partitions_imbalance{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_migrate_tx_partitions_imbalance{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_migrate_tx_partitions_imbalance{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_migrate_tx_partitions_initial migrate tx partitions initial +# TYPE aerospike_namespace_migrate_tx_partitions_initial gauge +aerospike_namespace_migrate_tx_partitions_initial{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_migrate_tx_partitions_initial{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_migrate_tx_partitions_initial{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_migrate_tx_partitions_initial{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_migrate_tx_partitions_lead_remaining migrate tx partitions lead remaining +# TYPE aerospike_namespace_migrate_tx_partitions_lead_remaining gauge +aerospike_namespace_migrate_tx_partitions_lead_remaining{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_migrate_tx_partitions_lead_remaining{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_migrate_tx_partitions_lead_remaining{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_migrate_tx_partitions_lead_remaining{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_migrate_tx_partitions_remaining migrate tx partitions remaining +# TYPE aerospike_namespace_migrate_tx_partitions_remaining gauge +aerospike_namespace_migrate_tx_partitions_remaining{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_migrate_tx_partitions_remaining{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_migrate_tx_partitions_remaining{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_migrate_tx_partitions_remaining{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_nodes_quiesced nodes quiesced +# TYPE aerospike_namespace_nodes_quiesced counter +aerospike_namespace_nodes_quiesced{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_nodes_quiesced{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_nodes_quiesced{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_nodes_quiesced{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_non_expirable_objects non expirable objects +# TYPE aerospike_namespace_non_expirable_objects gauge +aerospike_namespace_non_expirable_objects{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_non_expirable_objects{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_non_expirable_objects{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_non_expirable_objects{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_non_replica_objects non replica objects +# TYPE aerospike_namespace_non_replica_objects gauge +aerospike_namespace_non_replica_objects{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_non_replica_objects{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_non_replica_objects{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_non_replica_objects{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_non_replica_tombstones non replica tombstones +# TYPE aerospike_namespace_non_replica_tombstones gauge +aerospike_namespace_non_replica_tombstones{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_non_replica_tombstones{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_non_replica_tombstones{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_non_replica_tombstones{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_ns_cluster_size ns cluster size +# TYPE aerospike_namespace_ns_cluster_size gauge +aerospike_namespace_ns_cluster_size{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 1 +aerospike_namespace_ns_cluster_size{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 1 +aerospike_namespace_ns_cluster_size{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 1 +aerospike_namespace_ns_cluster_size{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 1 +# HELP aerospike_namespace_nsup_cycle_deleted_pct nsup cycle deleted pct +# TYPE aerospike_namespace_nsup_cycle_deleted_pct gauge +aerospike_namespace_nsup_cycle_deleted_pct{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_nsup_cycle_deleted_pct{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_nsup_cycle_deleted_pct{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_nsup_cycle_deleted_pct{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_nsup_cycle_duration nsup cycle duration +# TYPE aerospike_namespace_nsup_cycle_duration gauge +aerospike_namespace_nsup_cycle_duration{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_nsup_cycle_duration{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_nsup_cycle_duration{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_nsup_cycle_duration{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_nsup_hist_period nsup hist period +# TYPE aerospike_namespace_nsup_hist_period gauge +aerospike_namespace_nsup_hist_period{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 3600 +aerospike_namespace_nsup_hist_period{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 3600 +aerospike_namespace_nsup_hist_period{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 3600 +aerospike_namespace_nsup_hist_period{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 3600 +# HELP aerospike_namespace_nsup_period nsup period +# TYPE aerospike_namespace_nsup_period gauge +aerospike_namespace_nsup_period{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_nsup_period{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_nsup_period{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_nsup_period{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 600 +# HELP aerospike_namespace_nsup_threads nsup threads +# TYPE aerospike_namespace_nsup_threads gauge +aerospike_namespace_nsup_threads{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 1 +aerospike_namespace_nsup_threads{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 1 +aerospike_namespace_nsup_threads{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 1 +aerospike_namespace_nsup_threads{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 1 +# HELP aerospike_namespace_objects objects +# TYPE aerospike_namespace_objects gauge +aerospike_namespace_objects{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_objects{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_objects{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_objects{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 1.798577e+06 +# HELP aerospike_namespace_ops_sub_tsvc_error ops sub tsvc error +# TYPE aerospike_namespace_ops_sub_tsvc_error counter +aerospike_namespace_ops_sub_tsvc_error{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_ops_sub_tsvc_error{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_ops_sub_tsvc_error{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_ops_sub_tsvc_error{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_ops_sub_tsvc_timeout ops sub tsvc timeout +# TYPE aerospike_namespace_ops_sub_tsvc_timeout counter +aerospike_namespace_ops_sub_tsvc_timeout{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_ops_sub_tsvc_timeout{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_ops_sub_tsvc_timeout{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_ops_sub_tsvc_timeout{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_ops_sub_write_error ops sub write error +# TYPE aerospike_namespace_ops_sub_write_error counter +aerospike_namespace_ops_sub_write_error{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_ops_sub_write_error{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_ops_sub_write_error{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_ops_sub_write_error{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_ops_sub_write_filtered_out ops sub write filtered out +# TYPE aerospike_namespace_ops_sub_write_filtered_out counter +aerospike_namespace_ops_sub_write_filtered_out{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_ops_sub_write_filtered_out{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_ops_sub_write_filtered_out{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_ops_sub_write_filtered_out{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_ops_sub_write_success ops sub write success +# TYPE aerospike_namespace_ops_sub_write_success counter +aerospike_namespace_ops_sub_write_success{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_ops_sub_write_success{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_ops_sub_write_success{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_ops_sub_write_success{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_ops_sub_write_timeout ops sub write timeout +# TYPE aerospike_namespace_ops_sub_write_timeout counter +aerospike_namespace_ops_sub_write_timeout{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_ops_sub_write_timeout{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_ops_sub_write_timeout{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_ops_sub_write_timeout{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_partition_tree_sprigs partition tree sprigs +# TYPE aerospike_namespace_partition_tree_sprigs gauge +aerospike_namespace_partition_tree_sprigs{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 256 +aerospike_namespace_partition_tree_sprigs{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 256 +aerospike_namespace_partition_tree_sprigs{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 256 +aerospike_namespace_partition_tree_sprigs{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 256 +# HELP aerospike_namespace_pending_quiesce pending quiesce +# TYPE aerospike_namespace_pending_quiesce gauge +aerospike_namespace_pending_quiesce{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_pending_quiesce{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_pending_quiesce{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_pending_quiesce{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_pi_query_aggr_abort pi query aggr abort +# TYPE aerospike_namespace_pi_query_aggr_abort counter +aerospike_namespace_pi_query_aggr_abort{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_pi_query_aggr_abort{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_pi_query_aggr_abort{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_pi_query_aggr_abort{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_pi_query_aggr_complete pi query aggr complete +# TYPE aerospike_namespace_pi_query_aggr_complete counter +aerospike_namespace_pi_query_aggr_complete{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_pi_query_aggr_complete{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_pi_query_aggr_complete{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_pi_query_aggr_complete{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_pi_query_aggr_error pi query aggr error +# TYPE aerospike_namespace_pi_query_aggr_error counter +aerospike_namespace_pi_query_aggr_error{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_pi_query_aggr_error{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_pi_query_aggr_error{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_pi_query_aggr_error{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_pi_query_long_basic_abort pi query long basic abort +# TYPE aerospike_namespace_pi_query_long_basic_abort counter +aerospike_namespace_pi_query_long_basic_abort{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_pi_query_long_basic_abort{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_pi_query_long_basic_abort{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_pi_query_long_basic_abort{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_pi_query_long_basic_complete pi query long basic complete +# TYPE aerospike_namespace_pi_query_long_basic_complete counter +aerospike_namespace_pi_query_long_basic_complete{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_pi_query_long_basic_complete{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_pi_query_long_basic_complete{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_pi_query_long_basic_complete{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_pi_query_long_basic_error pi query long basic error +# TYPE aerospike_namespace_pi_query_long_basic_error counter +aerospike_namespace_pi_query_long_basic_error{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_pi_query_long_basic_error{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_pi_query_long_basic_error{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_pi_query_long_basic_error{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_pi_query_ops_bg_abort pi query ops bg abort +# TYPE aerospike_namespace_pi_query_ops_bg_abort counter +aerospike_namespace_pi_query_ops_bg_abort{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_pi_query_ops_bg_abort{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_pi_query_ops_bg_abort{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_pi_query_ops_bg_abort{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_pi_query_ops_bg_complete pi query ops bg complete +# TYPE aerospike_namespace_pi_query_ops_bg_complete counter +aerospike_namespace_pi_query_ops_bg_complete{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_pi_query_ops_bg_complete{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_pi_query_ops_bg_complete{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_pi_query_ops_bg_complete{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_pi_query_ops_bg_error pi query ops bg error +# TYPE aerospike_namespace_pi_query_ops_bg_error counter +aerospike_namespace_pi_query_ops_bg_error{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_pi_query_ops_bg_error{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_pi_query_ops_bg_error{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_pi_query_ops_bg_error{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_pi_query_short_basic_complete pi query short basic complete +# TYPE aerospike_namespace_pi_query_short_basic_complete counter +aerospike_namespace_pi_query_short_basic_complete{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_pi_query_short_basic_complete{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_pi_query_short_basic_complete{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_pi_query_short_basic_complete{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_pi_query_short_basic_error pi query short basic error +# TYPE aerospike_namespace_pi_query_short_basic_error counter +aerospike_namespace_pi_query_short_basic_error{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_pi_query_short_basic_error{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_pi_query_short_basic_error{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_pi_query_short_basic_error{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_pi_query_short_basic_timeout pi query short basic timeout +# TYPE aerospike_namespace_pi_query_short_basic_timeout counter +aerospike_namespace_pi_query_short_basic_timeout{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_pi_query_short_basic_timeout{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_pi_query_short_basic_timeout{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_pi_query_short_basic_timeout{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_pi_query_udf_bg_abort pi query udf bg abort +# TYPE aerospike_namespace_pi_query_udf_bg_abort counter +aerospike_namespace_pi_query_udf_bg_abort{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_pi_query_udf_bg_abort{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_pi_query_udf_bg_abort{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_pi_query_udf_bg_abort{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_pi_query_udf_bg_complete pi query udf bg complete +# TYPE aerospike_namespace_pi_query_udf_bg_complete counter +aerospike_namespace_pi_query_udf_bg_complete{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_pi_query_udf_bg_complete{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_pi_query_udf_bg_complete{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_pi_query_udf_bg_complete{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_pi_query_udf_bg_error pi query udf bg error +# TYPE aerospike_namespace_pi_query_udf_bg_error counter +aerospike_namespace_pi_query_udf_bg_error{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_pi_query_udf_bg_error{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_pi_query_udf_bg_error{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_pi_query_udf_bg_error{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_prefer_uniform_balance prefer uniform balance +# TYPE aerospike_namespace_prefer_uniform_balance gauge +aerospike_namespace_prefer_uniform_balance{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 1 +aerospike_namespace_prefer_uniform_balance{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 1 +aerospike_namespace_prefer_uniform_balance{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 1 +aerospike_namespace_prefer_uniform_balance{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 1 +# HELP aerospike_namespace_prole_objects prole objects +# TYPE aerospike_namespace_prole_objects gauge +aerospike_namespace_prole_objects{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_prole_objects{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_prole_objects{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_prole_objects{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_prole_tombstones prole tombstones +# TYPE aerospike_namespace_prole_tombstones gauge +aerospike_namespace_prole_tombstones{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_prole_tombstones{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_prole_tombstones{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_prole_tombstones{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_query_proto_compression_ratio query proto compression ratio +# TYPE aerospike_namespace_query_proto_compression_ratio gauge +aerospike_namespace_query_proto_compression_ratio{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 1 +aerospike_namespace_query_proto_compression_ratio{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 1 +aerospike_namespace_query_proto_compression_ratio{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 1 +aerospike_namespace_query_proto_compression_ratio{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 1 +# HELP aerospike_namespace_query_proto_uncompressed_pct query proto uncompressed pct +# TYPE aerospike_namespace_query_proto_uncompressed_pct gauge +aerospike_namespace_query_proto_uncompressed_pct{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_query_proto_uncompressed_pct{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_query_proto_uncompressed_pct{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_query_proto_uncompressed_pct{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_rack_id rack id +# TYPE aerospike_namespace_rack_id gauge +aerospike_namespace_rack_id{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_rack_id{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_rack_id{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_rack_id{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_re_repl_error re repl error +# TYPE aerospike_namespace_re_repl_error counter +aerospike_namespace_re_repl_error{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_re_repl_error{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_re_repl_error{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_re_repl_error{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_re_repl_success re repl success +# TYPE aerospike_namespace_re_repl_success counter +aerospike_namespace_re_repl_success{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_re_repl_success{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_re_repl_success{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_re_repl_success{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_re_repl_timeout re repl timeout +# TYPE aerospike_namespace_re_repl_timeout counter +aerospike_namespace_re_repl_timeout{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_re_repl_timeout{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_re_repl_timeout{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_re_repl_timeout{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_re_repl_tsvc_error re repl tsvc error +# TYPE aerospike_namespace_re_repl_tsvc_error counter +aerospike_namespace_re_repl_tsvc_error{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_re_repl_tsvc_error{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_re_repl_tsvc_error{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_re_repl_tsvc_error{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_re_repl_tsvc_timeout re repl tsvc timeout +# TYPE aerospike_namespace_re_repl_tsvc_timeout counter +aerospike_namespace_re_repl_tsvc_timeout{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_re_repl_tsvc_timeout{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_re_repl_tsvc_timeout{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_re_repl_tsvc_timeout{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_record_proto_compression_ratio record proto compression ratio +# TYPE aerospike_namespace_record_proto_compression_ratio gauge +aerospike_namespace_record_proto_compression_ratio{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 1 +aerospike_namespace_record_proto_compression_ratio{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 1 +aerospike_namespace_record_proto_compression_ratio{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 1 +aerospike_namespace_record_proto_compression_ratio{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 1 +# HELP aerospike_namespace_record_proto_uncompressed_pct record proto uncompressed pct +# TYPE aerospike_namespace_record_proto_uncompressed_pct gauge +aerospike_namespace_record_proto_uncompressed_pct{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_record_proto_uncompressed_pct{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_record_proto_uncompressed_pct{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_record_proto_uncompressed_pct{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_reject_non_xdr_writes reject non xdr writes +# TYPE aerospike_namespace_reject_non_xdr_writes gauge +aerospike_namespace_reject_non_xdr_writes{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_reject_non_xdr_writes{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_reject_non_xdr_writes{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_reject_non_xdr_writes{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_reject_xdr_writes reject xdr writes +# TYPE aerospike_namespace_reject_xdr_writes gauge +aerospike_namespace_reject_xdr_writes{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_reject_xdr_writes{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_reject_xdr_writes{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_reject_xdr_writes{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_replication_factor replication factor +# TYPE aerospike_namespace_replication_factor gauge +aerospike_namespace_replication_factor{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 2 +aerospike_namespace_replication_factor{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 2 +aerospike_namespace_replication_factor{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 2 +aerospike_namespace_replication_factor{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 2 +# HELP aerospike_namespace_retransmit_all_batch_sub_dup_res retransmit all batch sub dup res +# TYPE aerospike_namespace_retransmit_all_batch_sub_dup_res counter +aerospike_namespace_retransmit_all_batch_sub_dup_res{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_retransmit_all_batch_sub_dup_res{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_retransmit_all_batch_sub_dup_res{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_retransmit_all_batch_sub_dup_res{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_retransmit_all_delete_dup_res retransmit all delete dup res +# TYPE aerospike_namespace_retransmit_all_delete_dup_res counter +aerospike_namespace_retransmit_all_delete_dup_res{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_retransmit_all_delete_dup_res{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_retransmit_all_delete_dup_res{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_retransmit_all_delete_dup_res{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_retransmit_all_delete_repl_write retransmit all delete repl write +# TYPE aerospike_namespace_retransmit_all_delete_repl_write counter +aerospike_namespace_retransmit_all_delete_repl_write{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_retransmit_all_delete_repl_write{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_retransmit_all_delete_repl_write{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_retransmit_all_delete_repl_write{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_retransmit_all_read_dup_res retransmit all read dup res +# TYPE aerospike_namespace_retransmit_all_read_dup_res counter +aerospike_namespace_retransmit_all_read_dup_res{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_retransmit_all_read_dup_res{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_retransmit_all_read_dup_res{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_retransmit_all_read_dup_res{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_retransmit_all_udf_dup_res retransmit all udf dup res +# TYPE aerospike_namespace_retransmit_all_udf_dup_res counter +aerospike_namespace_retransmit_all_udf_dup_res{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_retransmit_all_udf_dup_res{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_retransmit_all_udf_dup_res{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_retransmit_all_udf_dup_res{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_retransmit_all_udf_repl_write retransmit all udf repl write +# TYPE aerospike_namespace_retransmit_all_udf_repl_write counter +aerospike_namespace_retransmit_all_udf_repl_write{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_retransmit_all_udf_repl_write{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_retransmit_all_udf_repl_write{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_retransmit_all_udf_repl_write{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_retransmit_all_write_dup_res retransmit all write dup res +# TYPE aerospike_namespace_retransmit_all_write_dup_res counter +aerospike_namespace_retransmit_all_write_dup_res{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_retransmit_all_write_dup_res{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_retransmit_all_write_dup_res{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_retransmit_all_write_dup_res{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_retransmit_all_write_repl_write retransmit all write repl write +# TYPE aerospike_namespace_retransmit_all_write_repl_write counter +aerospike_namespace_retransmit_all_write_repl_write{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_retransmit_all_write_repl_write{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_retransmit_all_write_repl_write{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_retransmit_all_write_repl_write{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_retransmit_ops_sub_dup_res retransmit ops sub dup res +# TYPE aerospike_namespace_retransmit_ops_sub_dup_res counter +aerospike_namespace_retransmit_ops_sub_dup_res{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_retransmit_ops_sub_dup_res{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_retransmit_ops_sub_dup_res{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_retransmit_ops_sub_dup_res{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_retransmit_ops_sub_repl_write retransmit ops sub repl write +# TYPE aerospike_namespace_retransmit_ops_sub_repl_write counter +aerospike_namespace_retransmit_ops_sub_repl_write{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_retransmit_ops_sub_repl_write{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_retransmit_ops_sub_repl_write{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_retransmit_ops_sub_repl_write{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_retransmit_udf_sub_dup_res retransmit udf sub dup res +# TYPE aerospike_namespace_retransmit_udf_sub_dup_res counter +aerospike_namespace_retransmit_udf_sub_dup_res{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_retransmit_udf_sub_dup_res{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_retransmit_udf_sub_dup_res{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_retransmit_udf_sub_dup_res{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_retransmit_udf_sub_repl_write retransmit udf sub repl write +# TYPE aerospike_namespace_retransmit_udf_sub_repl_write counter +aerospike_namespace_retransmit_udf_sub_repl_write{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_retransmit_udf_sub_repl_write{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_retransmit_udf_sub_repl_write{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_retransmit_udf_sub_repl_write{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_set_index_used_bytes set index used bytes +# TYPE aerospike_namespace_set_index_used_bytes gauge +aerospike_namespace_set_index_used_bytes{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_set_index_used_bytes{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_set_index_used_bytes{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_set_index_used_bytes{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_si_query_aggr_abort si query aggr abort +# TYPE aerospike_namespace_si_query_aggr_abort counter +aerospike_namespace_si_query_aggr_abort{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_si_query_aggr_abort{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_si_query_aggr_abort{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_si_query_aggr_abort{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_si_query_aggr_complete si query aggr complete +# TYPE aerospike_namespace_si_query_aggr_complete counter +aerospike_namespace_si_query_aggr_complete{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_si_query_aggr_complete{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_si_query_aggr_complete{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_si_query_aggr_complete{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_si_query_aggr_error si query aggr error +# TYPE aerospike_namespace_si_query_aggr_error counter +aerospike_namespace_si_query_aggr_error{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_si_query_aggr_error{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_si_query_aggr_error{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_si_query_aggr_error{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_si_query_long_basic_abort si query long basic abort +# TYPE aerospike_namespace_si_query_long_basic_abort counter +aerospike_namespace_si_query_long_basic_abort{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_si_query_long_basic_abort{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_si_query_long_basic_abort{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_si_query_long_basic_abort{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_si_query_long_basic_complete si query long basic complete +# TYPE aerospike_namespace_si_query_long_basic_complete counter +aerospike_namespace_si_query_long_basic_complete{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_si_query_long_basic_complete{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_si_query_long_basic_complete{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_si_query_long_basic_complete{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_si_query_long_basic_error si query long basic error +# TYPE aerospike_namespace_si_query_long_basic_error counter +aerospike_namespace_si_query_long_basic_error{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_si_query_long_basic_error{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_si_query_long_basic_error{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_si_query_long_basic_error{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_si_query_ops_bg_abort si query ops bg abort +# TYPE aerospike_namespace_si_query_ops_bg_abort counter +aerospike_namespace_si_query_ops_bg_abort{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_si_query_ops_bg_abort{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_si_query_ops_bg_abort{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_si_query_ops_bg_abort{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_si_query_ops_bg_complete si query ops bg complete +# TYPE aerospike_namespace_si_query_ops_bg_complete counter +aerospike_namespace_si_query_ops_bg_complete{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_si_query_ops_bg_complete{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_si_query_ops_bg_complete{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_si_query_ops_bg_complete{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_si_query_ops_bg_error si query ops bg error +# TYPE aerospike_namespace_si_query_ops_bg_error counter +aerospike_namespace_si_query_ops_bg_error{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_si_query_ops_bg_error{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_si_query_ops_bg_error{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_si_query_ops_bg_error{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_si_query_short_basic_complete si query short basic complete +# TYPE aerospike_namespace_si_query_short_basic_complete counter +aerospike_namespace_si_query_short_basic_complete{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_si_query_short_basic_complete{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_si_query_short_basic_complete{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_si_query_short_basic_complete{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_si_query_short_basic_error si query short basic error +# TYPE aerospike_namespace_si_query_short_basic_error counter +aerospike_namespace_si_query_short_basic_error{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_si_query_short_basic_error{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_si_query_short_basic_error{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_si_query_short_basic_error{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_si_query_short_basic_timeout si query short basic timeout +# TYPE aerospike_namespace_si_query_short_basic_timeout counter +aerospike_namespace_si_query_short_basic_timeout{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_si_query_short_basic_timeout{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_si_query_short_basic_timeout{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_si_query_short_basic_timeout{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_si_query_udf_bg_abort si query udf bg abort +# TYPE aerospike_namespace_si_query_udf_bg_abort counter +aerospike_namespace_si_query_udf_bg_abort{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_si_query_udf_bg_abort{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_si_query_udf_bg_abort{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_si_query_udf_bg_abort{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_si_query_udf_bg_complete si query udf bg complete +# TYPE aerospike_namespace_si_query_udf_bg_complete counter +aerospike_namespace_si_query_udf_bg_complete{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_si_query_udf_bg_complete{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_si_query_udf_bg_complete{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_si_query_udf_bg_complete{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_si_query_udf_bg_error si query udf bg error +# TYPE aerospike_namespace_si_query_udf_bg_error counter +aerospike_namespace_si_query_udf_bg_error{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_si_query_udf_bg_error{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_si_query_udf_bg_error{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_si_query_udf_bg_error{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_sindex_gc_cleaned sindex gc cleaned +# TYPE aerospike_namespace_sindex_gc_cleaned counter +aerospike_namespace_sindex_gc_cleaned{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_sindex_gc_cleaned{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_sindex_gc_cleaned{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_sindex_gc_cleaned{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_sindex_mounts_used_pct sindex mounts used pct +# TYPE aerospike_namespace_sindex_mounts_used_pct gauge +aerospike_namespace_sindex_mounts_used_pct{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +# HELP aerospike_namespace_sindex_stage_size sindex stage size +# TYPE aerospike_namespace_sindex_stage_size gauge +aerospike_namespace_sindex_stage_size{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 1.073741824e+09 +aerospike_namespace_sindex_stage_size{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 1.073741824e+09 +aerospike_namespace_sindex_stage_size{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 1.073741824e+09 +aerospike_namespace_sindex_stage_size{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 1.073741824e+09 +# HELP aerospike_namespace_sindex_type_evict_mounts_pct sindex type evict mounts pct +# TYPE aerospike_namespace_sindex_type_evict_mounts_pct gauge +aerospike_namespace_sindex_type_evict_mounts_pct{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",sindex="flash"} 0 +# HELP aerospike_namespace_sindex_type_mount_age sindex type mount age +# TYPE aerospike_namespace_sindex_type_mount_age gauge +aerospike_namespace_sindex_type_mount_age{cluster_name="70_aus_perth_1",mount="/opt/aerospike/data/emp_flash_sindex",mount_index="0",ns="employees_flash",service="172.17.0.6:3000",sindex="flash"} -1 +# HELP aerospike_namespace_sindex_type_mounts_budget sindex type mounts budget +# TYPE aerospike_namespace_sindex_type_mounts_budget gauge +aerospike_namespace_sindex_type_mounts_budget{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",sindex="flash"} 4.294967296e+09 +# HELP aerospike_namespace_sindex_used_bytes sindex used bytes +# TYPE aerospike_namespace_sindex_used_bytes gauge +aerospike_namespace_sindex_used_bytes{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 1.6777216e+07 +aerospike_namespace_sindex_used_bytes{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_sindex_used_bytes{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_sindex_used_bytes{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 3.3554432e+07 +# HELP aerospike_namespace_single_query_threads single query threads +# TYPE aerospike_namespace_single_query_threads gauge +aerospike_namespace_single_query_threads{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 4 +aerospike_namespace_single_query_threads{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 4 +aerospike_namespace_single_query_threads{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 4 +aerospike_namespace_single_query_threads{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 4 +# HELP aerospike_namespace_smd_evict_void_time smd evict void time +# TYPE aerospike_namespace_smd_evict_void_time counter +aerospike_namespace_smd_evict_void_time{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_smd_evict_void_time{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_smd_evict_void_time{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_smd_evict_void_time{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_stop_writes stop writes +# TYPE aerospike_namespace_stop_writes gauge +aerospike_namespace_stop_writes{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 1 +aerospike_namespace_stop_writes{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 1 +aerospike_namespace_stop_writes{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 1 +aerospike_namespace_stop_writes{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 1 +# HELP aerospike_namespace_stop_writes_sys_memory_pct stop writes sys memory pct +# TYPE aerospike_namespace_stop_writes_sys_memory_pct gauge +aerospike_namespace_stop_writes_sys_memory_pct{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 90 +aerospike_namespace_stop_writes_sys_memory_pct{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 90 +aerospike_namespace_stop_writes_sys_memory_pct{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 90 +aerospike_namespace_stop_writes_sys_memory_pct{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 90 +# HELP aerospike_namespace_storage_engine_cache_replica_writes storage engine cache replica writes +# TYPE aerospike_namespace_storage_engine_cache_replica_writes gauge +aerospike_namespace_storage_engine_cache_replica_writes{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_storage_engine_cache_replica_writes{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +# HELP aerospike_namespace_storage_engine_cold_start_empty storage engine cold start empty +# TYPE aerospike_namespace_storage_engine_cold_start_empty gauge +aerospike_namespace_storage_engine_cold_start_empty{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_storage_engine_cold_start_empty{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +# HELP aerospike_namespace_storage_engine_commit_to_device storage engine commit to device +# TYPE aerospike_namespace_storage_engine_commit_to_device gauge +aerospike_namespace_storage_engine_commit_to_device{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_storage_engine_commit_to_device{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_storage_engine_commit_to_device{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_storage_engine_commit_to_device{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_storage_engine_compression_acceleration storage engine compression acceleration +# TYPE aerospike_namespace_storage_engine_compression_acceleration gauge +aerospike_namespace_storage_engine_compression_acceleration{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_storage_engine_compression_acceleration{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_storage_engine_compression_acceleration{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_storage_engine_compression_acceleration{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_storage_engine_compression_level storage engine compression level +# TYPE aerospike_namespace_storage_engine_compression_level gauge +aerospike_namespace_storage_engine_compression_level{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_storage_engine_compression_level{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_storage_engine_compression_level{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_storage_engine_compression_level{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_storage_engine_data_size storage engine data size +# TYPE aerospike_namespace_storage_engine_data_size gauge +aerospike_namespace_storage_engine_data_size{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 4.294967296e+09 +# HELP aerospike_namespace_storage_engine_defrag_lwm_pct storage engine defrag lwm pct +# TYPE aerospike_namespace_storage_engine_defrag_lwm_pct gauge +aerospike_namespace_storage_engine_defrag_lwm_pct{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 50 +aerospike_namespace_storage_engine_defrag_lwm_pct{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 50 +aerospike_namespace_storage_engine_defrag_lwm_pct{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 50 +aerospike_namespace_storage_engine_defrag_lwm_pct{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 50 +# HELP aerospike_namespace_storage_engine_defrag_queue_min storage engine defrag queue min +# TYPE aerospike_namespace_storage_engine_defrag_queue_min gauge +aerospike_namespace_storage_engine_defrag_queue_min{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_storage_engine_defrag_queue_min{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_storage_engine_defrag_queue_min{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_storage_engine_defrag_queue_min{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_storage_engine_defrag_sleep storage engine defrag sleep +# TYPE aerospike_namespace_storage_engine_defrag_sleep gauge +aerospike_namespace_storage_engine_defrag_sleep{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 1000 +aerospike_namespace_storage_engine_defrag_sleep{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 1000 +aerospike_namespace_storage_engine_defrag_sleep{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 1000 +aerospike_namespace_storage_engine_defrag_sleep{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 500 +# HELP aerospike_namespace_storage_engine_defrag_startup_minimum storage engine defrag startup minimum +# TYPE aerospike_namespace_storage_engine_defrag_startup_minimum gauge +aerospike_namespace_storage_engine_defrag_startup_minimum{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_storage_engine_defrag_startup_minimum{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_storage_engine_defrag_startup_minimum{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_storage_engine_defrag_startup_minimum{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_storage_engine_direct_files storage engine direct files +# TYPE aerospike_namespace_storage_engine_direct_files gauge +aerospike_namespace_storage_engine_direct_files{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_storage_engine_direct_files{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_storage_engine_direct_files{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_storage_engine_direct_files{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_storage_engine_disable_odsync storage engine disable odsync +# TYPE aerospike_namespace_storage_engine_disable_odsync gauge +aerospike_namespace_storage_engine_disable_odsync{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_storage_engine_disable_odsync{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_storage_engine_disable_odsync{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_storage_engine_disable_odsync{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_storage_engine_enable_benchmarks_storage storage engine enable benchmarks storage +# TYPE aerospike_namespace_storage_engine_enable_benchmarks_storage gauge +aerospike_namespace_storage_engine_enable_benchmarks_storage{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_storage_engine_enable_benchmarks_storage{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_storage_engine_enable_benchmarks_storage{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_storage_engine_enable_benchmarks_storage{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_storage_engine_evict_used_pct storage engine evict used pct +# TYPE aerospike_namespace_storage_engine_evict_used_pct gauge +aerospike_namespace_storage_engine_evict_used_pct{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_storage_engine_evict_used_pct{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_storage_engine_evict_used_pct{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_storage_engine_evict_used_pct{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 30 +# HELP aerospike_namespace_storage_engine_file_age storage engine file age +# TYPE aerospike_namespace_storage_engine_file_age counter +aerospike_namespace_storage_engine_file_age{cluster_name="70_aus_perth_1",file="/opt/aerospike/data/bar.dat",file_index="0",ns="bar",service="172.17.0.6:3000",storage_engine="device"} -1 +aerospike_namespace_storage_engine_file_age{cluster_name="70_aus_perth_1",file="/opt/aerospike/data/bar_pmem.dat",file_index="0",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} -1 +aerospike_namespace_storage_engine_file_age{cluster_name="70_aus_perth_1",file="/opt/aerospike/data/emp_flash.dat",file_index="0",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} -1 +# HELP aerospike_namespace_storage_engine_file_defrag_q storage engine file defrag q +# TYPE aerospike_namespace_storage_engine_file_defrag_q counter +aerospike_namespace_storage_engine_file_defrag_q{cluster_name="70_aus_perth_1",file="/opt/aerospike/data/bar.dat",file_index="0",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_storage_engine_file_defrag_q{cluster_name="70_aus_perth_1",file="/opt/aerospike/data/bar_pmem.dat",file_index="0",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_storage_engine_file_defrag_q{cluster_name="70_aus_perth_1",file="/opt/aerospike/data/emp_flash.dat",file_index="0",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +# HELP aerospike_namespace_storage_engine_file_defrag_reads storage engine file defrag reads +# TYPE aerospike_namespace_storage_engine_file_defrag_reads counter +aerospike_namespace_storage_engine_file_defrag_reads{cluster_name="70_aus_perth_1",file="/opt/aerospike/data/bar.dat",file_index="0",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_storage_engine_file_defrag_reads{cluster_name="70_aus_perth_1",file="/opt/aerospike/data/bar_pmem.dat",file_index="0",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_storage_engine_file_defrag_reads{cluster_name="70_aus_perth_1",file="/opt/aerospike/data/emp_flash.dat",file_index="0",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +# HELP aerospike_namespace_storage_engine_file_defrag_writes storage engine file defrag writes +# TYPE aerospike_namespace_storage_engine_file_defrag_writes counter +aerospike_namespace_storage_engine_file_defrag_writes{cluster_name="70_aus_perth_1",file="/opt/aerospike/data/bar.dat",file_index="0",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_storage_engine_file_defrag_writes{cluster_name="70_aus_perth_1",file="/opt/aerospike/data/bar_pmem.dat",file_index="0",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_storage_engine_file_defrag_writes{cluster_name="70_aus_perth_1",file="/opt/aerospike/data/emp_flash.dat",file_index="0",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +# HELP aerospike_namespace_storage_engine_file_free_wblocks storage engine file free wblocks +# TYPE aerospike_namespace_storage_engine_file_free_wblocks counter +aerospike_namespace_storage_engine_file_free_wblocks{cluster_name="70_aus_perth_1",file="/opt/aerospike/data/bar.dat",file_index="0",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 511 +aerospike_namespace_storage_engine_file_free_wblocks{cluster_name="70_aus_perth_1",file="/opt/aerospike/data/bar_pmem.dat",file_index="0",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 511 +aerospike_namespace_storage_engine_file_free_wblocks{cluster_name="70_aus_perth_1",file="/opt/aerospike/data/emp_flash.dat",file_index="0",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 4088 +# HELP aerospike_namespace_storage_engine_file_used_bytes storage engine file used bytes +# TYPE aerospike_namespace_storage_engine_file_used_bytes counter +aerospike_namespace_storage_engine_file_used_bytes{cluster_name="70_aus_perth_1",file="/opt/aerospike/data/bar.dat",file_index="0",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_storage_engine_file_used_bytes{cluster_name="70_aus_perth_1",file="/opt/aerospike/data/bar_pmem.dat",file_index="0",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_storage_engine_file_used_bytes{cluster_name="70_aus_perth_1",file="/opt/aerospike/data/emp_flash.dat",file_index="0",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +# HELP aerospike_namespace_storage_engine_file_write_q storage engine file write q +# TYPE aerospike_namespace_storage_engine_file_write_q counter +aerospike_namespace_storage_engine_file_write_q{cluster_name="70_aus_perth_1",file="/opt/aerospike/data/bar.dat",file_index="0",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_storage_engine_file_write_q{cluster_name="70_aus_perth_1",file="/opt/aerospike/data/bar_pmem.dat",file_index="0",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_storage_engine_file_write_q{cluster_name="70_aus_perth_1",file="/opt/aerospike/data/emp_flash.dat",file_index="0",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +# HELP aerospike_namespace_storage_engine_file_writes storage engine file writes +# TYPE aerospike_namespace_storage_engine_file_writes counter +aerospike_namespace_storage_engine_file_writes{cluster_name="70_aus_perth_1",file="/opt/aerospike/data/bar.dat",file_index="0",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_storage_engine_file_writes{cluster_name="70_aus_perth_1",file="/opt/aerospike/data/bar_pmem.dat",file_index="0",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_storage_engine_file_writes{cluster_name="70_aus_perth_1",file="/opt/aerospike/data/emp_flash.dat",file_index="0",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +# HELP aerospike_namespace_storage_engine_filesize storage engine filesize +# TYPE aerospike_namespace_storage_engine_filesize counter +aerospike_namespace_storage_engine_filesize{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 4.294967296e+09 +aerospike_namespace_storage_engine_filesize{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 4.294967296e+09 +aerospike_namespace_storage_engine_filesize{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 4.294967296e+09 +aerospike_namespace_storage_engine_filesize{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_storage_engine_flush_max_ms storage engine flush max ms +# TYPE aerospike_namespace_storage_engine_flush_max_ms gauge +aerospike_namespace_storage_engine_flush_max_ms{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 1000 +aerospike_namespace_storage_engine_flush_max_ms{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 1000 +aerospike_namespace_storage_engine_flush_max_ms{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 1000 +aerospike_namespace_storage_engine_flush_max_ms{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 1000 +# HELP aerospike_namespace_storage_engine_max_write_cache storage engine max write cache +# TYPE aerospike_namespace_storage_engine_max_write_cache gauge +aerospike_namespace_storage_engine_max_write_cache{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 6.7108864e+07 +aerospike_namespace_storage_engine_max_write_cache{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 6.7108864e+07 +aerospike_namespace_storage_engine_max_write_cache{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 6.7108864e+07 +aerospike_namespace_storage_engine_max_write_cache{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 6.7108864e+07 +# HELP aerospike_namespace_storage_engine_post_write_queue storage engine post write queue +# TYPE aerospike_namespace_storage_engine_post_write_queue gauge +aerospike_namespace_storage_engine_post_write_queue{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_storage_engine_post_write_queue{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 256 +# HELP aerospike_namespace_storage_engine_read_page_cache storage engine read page cache +# TYPE aerospike_namespace_storage_engine_read_page_cache gauge +aerospike_namespace_storage_engine_read_page_cache{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_storage_engine_read_page_cache{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +# HELP aerospike_namespace_storage_engine_serialize_tomb_raider storage engine serialize tomb raider +# TYPE aerospike_namespace_storage_engine_serialize_tomb_raider gauge +aerospike_namespace_storage_engine_serialize_tomb_raider{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_storage_engine_serialize_tomb_raider{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +# HELP aerospike_namespace_storage_engine_sindex_startup_device_scan storage engine sindex startup device scan +# TYPE aerospike_namespace_storage_engine_sindex_startup_device_scan gauge +aerospike_namespace_storage_engine_sindex_startup_device_scan{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_storage_engine_sindex_startup_device_scan{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +# HELP aerospike_namespace_storage_engine_stop_writes_avail_pct storage engine stop writes avail pct +# TYPE aerospike_namespace_storage_engine_stop_writes_avail_pct gauge +aerospike_namespace_storage_engine_stop_writes_avail_pct{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 5 +aerospike_namespace_storage_engine_stop_writes_avail_pct{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 5 +aerospike_namespace_storage_engine_stop_writes_avail_pct{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 5 +aerospike_namespace_storage_engine_stop_writes_avail_pct{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 5 +# HELP aerospike_namespace_storage_engine_stop_writes_used_pct storage engine stop writes used pct +# TYPE aerospike_namespace_storage_engine_stop_writes_used_pct gauge +aerospike_namespace_storage_engine_stop_writes_used_pct{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 70 +aerospike_namespace_storage_engine_stop_writes_used_pct{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 70 +aerospike_namespace_storage_engine_stop_writes_used_pct{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 70 +aerospike_namespace_storage_engine_stop_writes_used_pct{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 70 +# HELP aerospike_namespace_storage_engine_stripe_defrag_q storage engine stripe defrag q +# TYPE aerospike_namespace_storage_engine_stripe_defrag_q counter +aerospike_namespace_storage_engine_stripe_defrag_q{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory",stripe="stripe-0.0xad001000",stripe_index="0"} 0 +aerospike_namespace_storage_engine_stripe_defrag_q{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory",stripe="stripe-1.0xad001001",stripe_index="1"} 0 +aerospike_namespace_storage_engine_stripe_defrag_q{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory",stripe="stripe-2.0xad001002",stripe_index="2"} 0 +aerospike_namespace_storage_engine_stripe_defrag_q{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory",stripe="stripe-3.0xad001003",stripe_index="3"} 0 +aerospike_namespace_storage_engine_stripe_defrag_q{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory",stripe="stripe-4.0xad001004",stripe_index="4"} 0 +aerospike_namespace_storage_engine_stripe_defrag_q{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory",stripe="stripe-5.0xad001005",stripe_index="5"} 0 +aerospike_namespace_storage_engine_stripe_defrag_q{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory",stripe="stripe-6.0xad001006",stripe_index="6"} 0 +aerospike_namespace_storage_engine_stripe_defrag_q{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory",stripe="stripe-7.0xad001007",stripe_index="7"} 0 +# HELP aerospike_namespace_storage_engine_stripe_defrag_reads storage engine stripe defrag reads +# TYPE aerospike_namespace_storage_engine_stripe_defrag_reads counter +aerospike_namespace_storage_engine_stripe_defrag_reads{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory",stripe="stripe-0.0xad001000",stripe_index="0"} 0 +aerospike_namespace_storage_engine_stripe_defrag_reads{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory",stripe="stripe-1.0xad001001",stripe_index="1"} 0 +aerospike_namespace_storage_engine_stripe_defrag_reads{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory",stripe="stripe-2.0xad001002",stripe_index="2"} 0 +aerospike_namespace_storage_engine_stripe_defrag_reads{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory",stripe="stripe-3.0xad001003",stripe_index="3"} 0 +aerospike_namespace_storage_engine_stripe_defrag_reads{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory",stripe="stripe-4.0xad001004",stripe_index="4"} 0 +aerospike_namespace_storage_engine_stripe_defrag_reads{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory",stripe="stripe-5.0xad001005",stripe_index="5"} 0 +aerospike_namespace_storage_engine_stripe_defrag_reads{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory",stripe="stripe-6.0xad001006",stripe_index="6"} 0 +aerospike_namespace_storage_engine_stripe_defrag_reads{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory",stripe="stripe-7.0xad001007",stripe_index="7"} 0 +# HELP aerospike_namespace_storage_engine_stripe_defrag_writes storage engine stripe defrag writes +# TYPE aerospike_namespace_storage_engine_stripe_defrag_writes counter +aerospike_namespace_storage_engine_stripe_defrag_writes{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory",stripe="stripe-0.0xad001000",stripe_index="0"} 0 +aerospike_namespace_storage_engine_stripe_defrag_writes{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory",stripe="stripe-1.0xad001001",stripe_index="1"} 0 +aerospike_namespace_storage_engine_stripe_defrag_writes{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory",stripe="stripe-2.0xad001002",stripe_index="2"} 0 +aerospike_namespace_storage_engine_stripe_defrag_writes{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory",stripe="stripe-3.0xad001003",stripe_index="3"} 0 +aerospike_namespace_storage_engine_stripe_defrag_writes{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory",stripe="stripe-4.0xad001004",stripe_index="4"} 0 +aerospike_namespace_storage_engine_stripe_defrag_writes{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory",stripe="stripe-5.0xad001005",stripe_index="5"} 0 +aerospike_namespace_storage_engine_stripe_defrag_writes{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory",stripe="stripe-6.0xad001006",stripe_index="6"} 0 +aerospike_namespace_storage_engine_stripe_defrag_writes{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory",stripe="stripe-7.0xad001007",stripe_index="7"} 0 +# HELP aerospike_namespace_storage_engine_stripe_free_wblocks storage engine stripe free wblocks +# TYPE aerospike_namespace_storage_engine_stripe_free_wblocks counter +aerospike_namespace_storage_engine_stripe_free_wblocks{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory",stripe="stripe-0.0xad001000",stripe_index="0"} 39 +aerospike_namespace_storage_engine_stripe_free_wblocks{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory",stripe="stripe-1.0xad001001",stripe_index="1"} 39 +aerospike_namespace_storage_engine_stripe_free_wblocks{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory",stripe="stripe-2.0xad001002",stripe_index="2"} 39 +aerospike_namespace_storage_engine_stripe_free_wblocks{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory",stripe="stripe-3.0xad001003",stripe_index="3"} 39 +aerospike_namespace_storage_engine_stripe_free_wblocks{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory",stripe="stripe-4.0xad001004",stripe_index="4"} 39 +aerospike_namespace_storage_engine_stripe_free_wblocks{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory",stripe="stripe-5.0xad001005",stripe_index="5"} 39 +aerospike_namespace_storage_engine_stripe_free_wblocks{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory",stripe="stripe-6.0xad001006",stripe_index="6"} 39 +aerospike_namespace_storage_engine_stripe_free_wblocks{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory",stripe="stripe-7.0xad001007",stripe_index="7"} 39 +# HELP aerospike_namespace_storage_engine_stripe_used_bytes storage engine stripe used bytes +# TYPE aerospike_namespace_storage_engine_stripe_used_bytes counter +aerospike_namespace_storage_engine_stripe_used_bytes{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory",stripe="stripe-0.0xad001000",stripe_index="0"} 1.94993824e+08 +aerospike_namespace_storage_engine_stripe_used_bytes{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory",stripe="stripe-1.0xad001001",stripe_index="1"} 1.9499816e+08 +aerospike_namespace_storage_engine_stripe_used_bytes{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory",stripe="stripe-2.0xad001002",stripe_index="2"} 1.9556112e+08 +aerospike_namespace_storage_engine_stripe_used_bytes{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory",stripe="stripe-3.0xad001003",stripe_index="3"} 1.94781904e+08 +aerospike_namespace_storage_engine_stripe_used_bytes{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory",stripe="stripe-4.0xad001004",stripe_index="4"} 1.95060464e+08 +aerospike_namespace_storage_engine_stripe_used_bytes{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory",stripe="stripe-5.0xad001005",stripe_index="5"} 1.94858304e+08 +aerospike_namespace_storage_engine_stripe_used_bytes{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory",stripe="stripe-6.0xad001006",stripe_index="6"} 1.9528384e+08 +aerospike_namespace_storage_engine_stripe_used_bytes{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory",stripe="stripe-7.0xad001007",stripe_index="7"} 1.95180192e+08 +# HELP aerospike_namespace_storage_engine_stripe_writes storage engine stripe writes +# TYPE aerospike_namespace_storage_engine_stripe_writes counter +aerospike_namespace_storage_engine_stripe_writes{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory",stripe="stripe-0.0xad001000",stripe_index="0"} 23 +aerospike_namespace_storage_engine_stripe_writes{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory",stripe="stripe-1.0xad001001",stripe_index="1"} 23 +aerospike_namespace_storage_engine_stripe_writes{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory",stripe="stripe-2.0xad001002",stripe_index="2"} 23 +aerospike_namespace_storage_engine_stripe_writes{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory",stripe="stripe-3.0xad001003",stripe_index="3"} 23 +aerospike_namespace_storage_engine_stripe_writes{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory",stripe="stripe-4.0xad001004",stripe_index="4"} 23 +aerospike_namespace_storage_engine_stripe_writes{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory",stripe="stripe-5.0xad001005",stripe_index="5"} 23 +aerospike_namespace_storage_engine_stripe_writes{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory",stripe="stripe-6.0xad001006",stripe_index="6"} 23 +aerospike_namespace_storage_engine_stripe_writes{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory",stripe="stripe-7.0xad001007",stripe_index="7"} 23 +# HELP aerospike_namespace_storage_engine_tomb_raider_sleep storage engine tomb raider sleep +# TYPE aerospike_namespace_storage_engine_tomb_raider_sleep gauge +aerospike_namespace_storage_engine_tomb_raider_sleep{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 1000 +aerospike_namespace_storage_engine_tomb_raider_sleep{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 1000 +aerospike_namespace_storage_engine_tomb_raider_sleep{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 1000 +aerospike_namespace_storage_engine_tomb_raider_sleep{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 1000 +# HELP aerospike_namespace_storage_engine_write_block_size storage engine write block size +# TYPE aerospike_namespace_storage_engine_write_block_size gauge +aerospike_namespace_storage_engine_write_block_size{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 8.388608e+06 +aerospike_namespace_storage_engine_write_block_size{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 1.048576e+06 +# HELP aerospike_namespace_strong_consistency strong consistency +# TYPE aerospike_namespace_strong_consistency gauge +aerospike_namespace_strong_consistency{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_strong_consistency{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_strong_consistency{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_strong_consistency{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_strong_consistency_allow_expunge strong consistency allow expunge +# TYPE aerospike_namespace_strong_consistency_allow_expunge gauge +aerospike_namespace_strong_consistency_allow_expunge{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_strong_consistency_allow_expunge{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_strong_consistency_allow_expunge{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_strong_consistency_allow_expunge{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_tomb_raider_eligible_age tomb raider eligible age +# TYPE aerospike_namespace_tomb_raider_eligible_age gauge +aerospike_namespace_tomb_raider_eligible_age{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 86400 +aerospike_namespace_tomb_raider_eligible_age{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 86400 +aerospike_namespace_tomb_raider_eligible_age{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 86400 +aerospike_namespace_tomb_raider_eligible_age{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 86400 +# HELP aerospike_namespace_tomb_raider_period tomb raider period +# TYPE aerospike_namespace_tomb_raider_period gauge +aerospike_namespace_tomb_raider_period{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 86400 +aerospike_namespace_tomb_raider_period{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 86400 +aerospike_namespace_tomb_raider_period{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 86400 +aerospike_namespace_tomb_raider_period{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 86400 +# HELP aerospike_namespace_tombstones tombstones +# TYPE aerospike_namespace_tombstones gauge +aerospike_namespace_tombstones{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_tombstones{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_tombstones{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_tombstones{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_transaction_pending_limit transaction pending limit +# TYPE aerospike_namespace_transaction_pending_limit gauge +aerospike_namespace_transaction_pending_limit{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 20 +aerospike_namespace_transaction_pending_limit{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 20 +aerospike_namespace_transaction_pending_limit{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 20 +aerospike_namespace_transaction_pending_limit{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 20 +# HELP aerospike_namespace_truncate_lut truncate lut +# TYPE aerospike_namespace_truncate_lut gauge +aerospike_namespace_truncate_lut{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_truncate_lut{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_truncate_lut{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_truncate_lut{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_truncate_threads truncate threads +# TYPE aerospike_namespace_truncate_threads gauge +aerospike_namespace_truncate_threads{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 4 +aerospike_namespace_truncate_threads{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 4 +aerospike_namespace_truncate_threads{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 4 +aerospike_namespace_truncate_threads{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 4 +# HELP aerospike_namespace_truncating truncating +# TYPE aerospike_namespace_truncating gauge +aerospike_namespace_truncating{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_truncating{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_truncating{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_truncating{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_udf_sub_lang_delete_success udf sub lang delete success +# TYPE aerospike_namespace_udf_sub_lang_delete_success counter +aerospike_namespace_udf_sub_lang_delete_success{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_udf_sub_lang_delete_success{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_udf_sub_lang_delete_success{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_udf_sub_lang_delete_success{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_udf_sub_lang_error udf sub lang error +# TYPE aerospike_namespace_udf_sub_lang_error counter +aerospike_namespace_udf_sub_lang_error{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_udf_sub_lang_error{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_udf_sub_lang_error{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_udf_sub_lang_error{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_udf_sub_lang_read_success udf sub lang read success +# TYPE aerospike_namespace_udf_sub_lang_read_success counter +aerospike_namespace_udf_sub_lang_read_success{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_udf_sub_lang_read_success{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_udf_sub_lang_read_success{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_udf_sub_lang_read_success{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_udf_sub_lang_write_success udf sub lang write success +# TYPE aerospike_namespace_udf_sub_lang_write_success counter +aerospike_namespace_udf_sub_lang_write_success{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_udf_sub_lang_write_success{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_udf_sub_lang_write_success{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_udf_sub_lang_write_success{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_udf_sub_tsvc_error udf sub tsvc error +# TYPE aerospike_namespace_udf_sub_tsvc_error counter +aerospike_namespace_udf_sub_tsvc_error{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_udf_sub_tsvc_error{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_udf_sub_tsvc_error{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_udf_sub_tsvc_error{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_udf_sub_tsvc_timeout udf sub tsvc timeout +# TYPE aerospike_namespace_udf_sub_tsvc_timeout counter +aerospike_namespace_udf_sub_tsvc_timeout{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_udf_sub_tsvc_timeout{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_udf_sub_tsvc_timeout{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_udf_sub_tsvc_timeout{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_udf_sub_udf_complete udf sub udf complete +# TYPE aerospike_namespace_udf_sub_udf_complete counter +aerospike_namespace_udf_sub_udf_complete{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_udf_sub_udf_complete{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_udf_sub_udf_complete{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_udf_sub_udf_complete{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_udf_sub_udf_error udf sub udf error +# TYPE aerospike_namespace_udf_sub_udf_error counter +aerospike_namespace_udf_sub_udf_error{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_udf_sub_udf_error{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_udf_sub_udf_error{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_udf_sub_udf_error{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_udf_sub_udf_filtered_out udf sub udf filtered out +# TYPE aerospike_namespace_udf_sub_udf_filtered_out counter +aerospike_namespace_udf_sub_udf_filtered_out{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_udf_sub_udf_filtered_out{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_udf_sub_udf_filtered_out{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_udf_sub_udf_filtered_out{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_udf_sub_udf_timeout udf sub udf timeout +# TYPE aerospike_namespace_udf_sub_udf_timeout counter +aerospike_namespace_udf_sub_udf_timeout{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_udf_sub_udf_timeout{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_udf_sub_udf_timeout{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_udf_sub_udf_timeout{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_unavailable_partitions unavailable partitions +# TYPE aerospike_namespace_unavailable_partitions gauge +aerospike_namespace_unavailable_partitions{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_unavailable_partitions{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_unavailable_partitions{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_unavailable_partitions{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_unreplicated_records unreplicated records +# TYPE aerospike_namespace_unreplicated_records gauge +aerospike_namespace_unreplicated_records{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_unreplicated_records{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_unreplicated_records{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_unreplicated_records{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_xdr_bin_cemeteries xdr bin cemeteries +# TYPE aerospike_namespace_xdr_bin_cemeteries gauge +aerospike_namespace_xdr_bin_cemeteries{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_xdr_bin_cemeteries{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_xdr_bin_cemeteries{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_xdr_bin_cemeteries{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_xdr_bin_tombstone_ttl xdr bin tombstone ttl +# TYPE aerospike_namespace_xdr_bin_tombstone_ttl gauge +aerospike_namespace_xdr_bin_tombstone_ttl{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 86400 +aerospike_namespace_xdr_bin_tombstone_ttl{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 86400 +aerospike_namespace_xdr_bin_tombstone_ttl{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 86400 +aerospike_namespace_xdr_bin_tombstone_ttl{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 86400 +# HELP aerospike_namespace_xdr_client_delete_error xdr client delete error +# TYPE aerospike_namespace_xdr_client_delete_error counter +aerospike_namespace_xdr_client_delete_error{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_xdr_client_delete_error{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_xdr_client_delete_error{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_xdr_client_delete_error{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_xdr_client_delete_not_found xdr client delete not found +# TYPE aerospike_namespace_xdr_client_delete_not_found counter +aerospike_namespace_xdr_client_delete_not_found{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_xdr_client_delete_not_found{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_xdr_client_delete_not_found{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_xdr_client_delete_not_found{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_xdr_client_delete_success xdr client delete success +# TYPE aerospike_namespace_xdr_client_delete_success counter +aerospike_namespace_xdr_client_delete_success{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_xdr_client_delete_success{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_xdr_client_delete_success{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_xdr_client_delete_success{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_xdr_client_delete_timeout xdr client delete timeout +# TYPE aerospike_namespace_xdr_client_delete_timeout counter +aerospike_namespace_xdr_client_delete_timeout{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_xdr_client_delete_timeout{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_xdr_client_delete_timeout{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_xdr_client_delete_timeout{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_xdr_client_write_error xdr client write error +# TYPE aerospike_namespace_xdr_client_write_error counter +aerospike_namespace_xdr_client_write_error{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_xdr_client_write_error{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_xdr_client_write_error{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_xdr_client_write_error{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_xdr_client_write_success xdr client write success +# TYPE aerospike_namespace_xdr_client_write_success counter +aerospike_namespace_xdr_client_write_success{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_xdr_client_write_success{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_xdr_client_write_success{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_xdr_client_write_success{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_xdr_client_write_timeout xdr client write timeout +# TYPE aerospike_namespace_xdr_client_write_timeout counter +aerospike_namespace_xdr_client_write_timeout{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_xdr_client_write_timeout{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_xdr_client_write_timeout{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_xdr_client_write_timeout{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_xdr_from_proxy_delete_error xdr from proxy delete error +# TYPE aerospike_namespace_xdr_from_proxy_delete_error counter +aerospike_namespace_xdr_from_proxy_delete_error{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_xdr_from_proxy_delete_error{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_xdr_from_proxy_delete_error{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_xdr_from_proxy_delete_error{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_xdr_from_proxy_delete_not_found xdr from proxy delete not found +# TYPE aerospike_namespace_xdr_from_proxy_delete_not_found counter +aerospike_namespace_xdr_from_proxy_delete_not_found{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_xdr_from_proxy_delete_not_found{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_xdr_from_proxy_delete_not_found{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_xdr_from_proxy_delete_not_found{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_xdr_from_proxy_delete_success xdr from proxy delete success +# TYPE aerospike_namespace_xdr_from_proxy_delete_success counter +aerospike_namespace_xdr_from_proxy_delete_success{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_xdr_from_proxy_delete_success{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_xdr_from_proxy_delete_success{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_xdr_from_proxy_delete_success{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_xdr_from_proxy_delete_timeout xdr from proxy delete timeout +# TYPE aerospike_namespace_xdr_from_proxy_delete_timeout counter +aerospike_namespace_xdr_from_proxy_delete_timeout{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_xdr_from_proxy_delete_timeout{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_xdr_from_proxy_delete_timeout{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_xdr_from_proxy_delete_timeout{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_xdr_from_proxy_write_error xdr from proxy write error +# TYPE aerospike_namespace_xdr_from_proxy_write_error counter +aerospike_namespace_xdr_from_proxy_write_error{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_xdr_from_proxy_write_error{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_xdr_from_proxy_write_error{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_xdr_from_proxy_write_error{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_xdr_from_proxy_write_success xdr from proxy write success +# TYPE aerospike_namespace_xdr_from_proxy_write_success counter +aerospike_namespace_xdr_from_proxy_write_success{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_xdr_from_proxy_write_success{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_xdr_from_proxy_write_success{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_xdr_from_proxy_write_success{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_xdr_from_proxy_write_timeout xdr from proxy write timeout +# TYPE aerospike_namespace_xdr_from_proxy_write_timeout counter +aerospike_namespace_xdr_from_proxy_write_timeout{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_xdr_from_proxy_write_timeout{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_xdr_from_proxy_write_timeout{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_xdr_from_proxy_write_timeout{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_xdr_tomb_raider_period xdr tomb raider period +# TYPE aerospike_namespace_xdr_tomb_raider_period gauge +aerospike_namespace_xdr_tomb_raider_period{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 120 +aerospike_namespace_xdr_tomb_raider_period{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 120 +aerospike_namespace_xdr_tomb_raider_period{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 120 +aerospike_namespace_xdr_tomb_raider_period{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 120 +# HELP aerospike_namespace_xdr_tomb_raider_threads xdr tomb raider threads +# TYPE aerospike_namespace_xdr_tomb_raider_threads gauge +aerospike_namespace_xdr_tomb_raider_threads{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 1 +aerospike_namespace_xdr_tomb_raider_threads{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 1 +aerospike_namespace_xdr_tomb_raider_threads{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 1 +aerospike_namespace_xdr_tomb_raider_threads{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 1 +# HELP aerospike_namespace_xdr_tombstones xdr tombstones +# TYPE aerospike_namespace_xdr_tombstones gauge +aerospike_namespace_xdr_tombstones{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_xdr_tombstones{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 0 +aerospike_namespace_xdr_tombstones{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 0 +aerospike_namespace_xdr_tombstones{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 0 +# HELP aerospike_namespace_xmem_id xmem id +# TYPE aerospike_namespace_xmem_id counter +aerospike_namespace_xmem_id{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",storage_engine="device"} 2 +aerospike_namespace_xmem_id{cluster_name="70_aus_perth_1",ns="bar_pmem",service="172.17.0.6:3000",storage_engine="pmem"} 3 +aerospike_namespace_xmem_id{cluster_name="70_aus_perth_1",ns="employees_flash",service="172.17.0.6:3000",storage_engine="device"} 4 +aerospike_namespace_xmem_id{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",storage_engine="memory"} 1 +# HELP aerospike_node_stats_advertise_ipv6 advertise ipv6 +# TYPE aerospike_node_stats_advertise_ipv6 gauge +aerospike_node_stats_advertise_ipv6{cluster_name="70_aus_perth_1",service="172.17.0.6:3000"} 0 +# HELP aerospike_node_stats_batch_index_initiate batch index initiate +# TYPE aerospike_node_stats_batch_index_initiate counter +aerospike_node_stats_batch_index_initiate{cluster_name="70_aus_perth_1",service="172.17.0.6:3000"} 646887 +# HELP aerospike_node_stats_batch_index_queue batch index queue +# TYPE aerospike_node_stats_batch_index_queue gauge +aerospike_node_stats_batch_index_queue{cluster_name="70_aus_perth_1",service="172.17.0.6:3000"} 0 +# HELP aerospike_node_stats_batch_index_threads batch index threads +# TYPE aerospike_node_stats_batch_index_threads gauge +aerospike_node_stats_batch_index_threads{cluster_name="70_aus_perth_1",service="172.17.0.6:3000"} 10 +# HELP aerospike_node_stats_batch_max_buffers_per_queue batch max buffers per queue +# TYPE aerospike_node_stats_batch_max_buffers_per_queue gauge +aerospike_node_stats_batch_max_buffers_per_queue{cluster_name="70_aus_perth_1",service="172.17.0.6:3000"} 255 +# HELP aerospike_node_stats_batch_max_unused_buffers batch max unused buffers +# TYPE aerospike_node_stats_batch_max_unused_buffers gauge +aerospike_node_stats_batch_max_unused_buffers{cluster_name="70_aus_perth_1",service="172.17.0.6:3000"} 256 +# HELP aerospike_node_stats_client_connections client connections +# TYPE aerospike_node_stats_client_connections gauge +aerospike_node_stats_client_connections{cluster_name="70_aus_perth_1",service="172.17.0.6:3000"} 1 +# HELP aerospike_node_stats_client_connections_closed client connections closed +# TYPE aerospike_node_stats_client_connections_closed counter +aerospike_node_stats_client_connections_closed{cluster_name="70_aus_perth_1",service="172.17.0.6:3000"} 7694 +# HELP aerospike_node_stats_client_connections_opened client connections opened +# TYPE aerospike_node_stats_client_connections_opened counter +aerospike_node_stats_client_connections_opened{cluster_name="70_aus_perth_1",service="172.17.0.6:3000"} 7695 +# HELP aerospike_node_stats_cluster_clock_skew_ms cluster clock skew ms +# TYPE aerospike_node_stats_cluster_clock_skew_ms gauge +aerospike_node_stats_cluster_clock_skew_ms{cluster_name="70_aus_perth_1",service="172.17.0.6:3000"} 0 +# HELP aerospike_node_stats_cluster_clock_skew_stop_writes_sec cluster clock skew stop writes sec +# TYPE aerospike_node_stats_cluster_clock_skew_stop_writes_sec gauge +aerospike_node_stats_cluster_clock_skew_stop_writes_sec{cluster_name="70_aus_perth_1",service="172.17.0.6:3000"} 0 +# HELP aerospike_node_stats_cluster_generation cluster generation +# TYPE aerospike_node_stats_cluster_generation counter +aerospike_node_stats_cluster_generation{cluster_name="70_aus_perth_1",service="172.17.0.6:3000"} 1 +# HELP aerospike_node_stats_cluster_integrity cluster integrity +# TYPE aerospike_node_stats_cluster_integrity gauge +aerospike_node_stats_cluster_integrity{cluster_name="70_aus_perth_1",service="172.17.0.6:3000"} 1 +# HELP aerospike_node_stats_cluster_is_member cluster is member +# TYPE aerospike_node_stats_cluster_is_member gauge +aerospike_node_stats_cluster_is_member{cluster_name="70_aus_perth_1",service="172.17.0.6:3000"} 1 +# HELP aerospike_node_stats_cluster_max_compatibility_id cluster max compatibility id +# TYPE aerospike_node_stats_cluster_max_compatibility_id gauge +aerospike_node_stats_cluster_max_compatibility_id{cluster_name="70_aus_perth_1",service="172.17.0.6:3000"} 11 +# HELP aerospike_node_stats_cluster_min_compatibility_id cluster min compatibility id +# TYPE aerospike_node_stats_cluster_min_compatibility_id gauge +aerospike_node_stats_cluster_min_compatibility_id{cluster_name="70_aus_perth_1",service="172.17.0.6:3000"} 11 +# HELP aerospike_node_stats_cluster_size cluster size +# TYPE aerospike_node_stats_cluster_size gauge +aerospike_node_stats_cluster_size{cluster_name="70_aus_perth_1",service="172.17.0.6:3000"} 1 +# HELP aerospike_node_stats_debug_allocations debug allocations +# TYPE aerospike_node_stats_debug_allocations gauge +aerospike_node_stats_debug_allocations{cluster_name="70_aus_perth_1",service="172.17.0.6:3000"} 0 +# HELP aerospike_node_stats_demarshal_error demarshal error +# TYPE aerospike_node_stats_demarshal_error counter +aerospike_node_stats_demarshal_error{cluster_name="70_aus_perth_1",service="172.17.0.6:3000"} 0 +# HELP aerospike_node_stats_disable_udf_execution disable udf execution +# TYPE aerospike_node_stats_disable_udf_execution gauge +aerospike_node_stats_disable_udf_execution{cluster_name="70_aus_perth_1",service="172.17.0.6:3000"} 0 +# HELP aerospike_node_stats_early_tsvc_batch_sub_error early tsvc batch sub error +# TYPE aerospike_node_stats_early_tsvc_batch_sub_error counter +aerospike_node_stats_early_tsvc_batch_sub_error{cluster_name="70_aus_perth_1",service="172.17.0.6:3000"} 0 +# HELP aerospike_node_stats_early_tsvc_client_error early tsvc client error +# TYPE aerospike_node_stats_early_tsvc_client_error counter +aerospike_node_stats_early_tsvc_client_error{cluster_name="70_aus_perth_1",service="172.17.0.6:3000"} 0 +# HELP aerospike_node_stats_early_tsvc_from_proxy_batch_sub_error early tsvc from proxy batch sub error +# TYPE aerospike_node_stats_early_tsvc_from_proxy_batch_sub_error counter +aerospike_node_stats_early_tsvc_from_proxy_batch_sub_error{cluster_name="70_aus_perth_1",service="172.17.0.6:3000"} 0 +# HELP aerospike_node_stats_early_tsvc_from_proxy_error early tsvc from proxy error +# TYPE aerospike_node_stats_early_tsvc_from_proxy_error counter +aerospike_node_stats_early_tsvc_from_proxy_error{cluster_name="70_aus_perth_1",service="172.17.0.6:3000"} 0 +# HELP aerospike_node_stats_early_tsvc_ops_sub_error early tsvc ops sub error +# TYPE aerospike_node_stats_early_tsvc_ops_sub_error counter +aerospike_node_stats_early_tsvc_ops_sub_error{cluster_name="70_aus_perth_1",service="172.17.0.6:3000"} 0 +# HELP aerospike_node_stats_early_tsvc_udf_sub_error early tsvc udf sub error +# TYPE aerospike_node_stats_early_tsvc_udf_sub_error counter +aerospike_node_stats_early_tsvc_udf_sub_error{cluster_name="70_aus_perth_1",service="172.17.0.6:3000"} 0 +# HELP aerospike_node_stats_enable_benchmarks_fabric enable benchmarks fabric +# TYPE aerospike_node_stats_enable_benchmarks_fabric gauge +aerospike_node_stats_enable_benchmarks_fabric{cluster_name="70_aus_perth_1",service="172.17.0.6:3000"} 0 +# HELP aerospike_node_stats_enable_health_check enable health check +# TYPE aerospike_node_stats_enable_health_check gauge +aerospike_node_stats_enable_health_check{cluster_name="70_aus_perth_1",service="172.17.0.6:3000"} 0 +# HELP aerospike_node_stats_enable_hist_info enable hist info +# TYPE aerospike_node_stats_enable_hist_info gauge +aerospike_node_stats_enable_hist_info{cluster_name="70_aus_perth_1",service="172.17.0.6:3000"} 0 +# HELP aerospike_node_stats_enforce_best_practices enforce best practices +# TYPE aerospike_node_stats_enforce_best_practices gauge +aerospike_node_stats_enforce_best_practices{cluster_name="70_aus_perth_1",service="172.17.0.6:3000"} 0 +# HELP aerospike_node_stats_fabric_connections fabric connections +# TYPE aerospike_node_stats_fabric_connections gauge +aerospike_node_stats_fabric_connections{cluster_name="70_aus_perth_1",service="172.17.0.6:3000"} 0 +# HELP aerospike_node_stats_fabric_connections_closed fabric connections closed +# TYPE aerospike_node_stats_fabric_connections_closed counter +aerospike_node_stats_fabric_connections_closed{cluster_name="70_aus_perth_1",service="172.17.0.6:3000"} 0 +# HELP aerospike_node_stats_fabric_connections_opened fabric connections opened +# TYPE aerospike_node_stats_fabric_connections_opened counter +aerospike_node_stats_fabric_connections_opened{cluster_name="70_aus_perth_1",service="172.17.0.6:3000"} 0 +# HELP aerospike_node_stats_failed_best_practices failed best practices +# TYPE aerospike_node_stats_failed_best_practices gauge +aerospike_node_stats_failed_best_practices{cluster_name="70_aus_perth_1",service="172.17.0.6:3000"} 1 +# HELP aerospike_node_stats_heap_active_kbytes heap active kbytes +# TYPE aerospike_node_stats_heap_active_kbytes gauge +aerospike_node_stats_heap_active_kbytes{cluster_name="70_aus_perth_1",service="172.17.0.6:3000"} 1.359456e+06 +# HELP aerospike_node_stats_heap_allocated_kbytes heap allocated kbytes +# TYPE aerospike_node_stats_heap_allocated_kbytes gauge +aerospike_node_stats_heap_allocated_kbytes{cluster_name="70_aus_perth_1",service="172.17.0.6:3000"} 1.288914e+06 +# HELP aerospike_node_stats_heap_efficiency_pct heap efficiency pct +# TYPE aerospike_node_stats_heap_efficiency_pct gauge +aerospike_node_stats_heap_efficiency_pct{cluster_name="70_aus_perth_1",service="172.17.0.6:3000"} 95 +# HELP aerospike_node_stats_heap_mapped_kbytes heap mapped kbytes +# TYPE aerospike_node_stats_heap_mapped_kbytes gauge +aerospike_node_stats_heap_mapped_kbytes{cluster_name="70_aus_perth_1",service="172.17.0.6:3000"} 1.473536e+06 +# HELP aerospike_node_stats_heap_site_count heap site count +# TYPE aerospike_node_stats_heap_site_count gauge +aerospike_node_stats_heap_site_count{cluster_name="70_aus_perth_1",service="172.17.0.6:3000"} 0 +# HELP aerospike_node_stats_heartbeat_connections heartbeat connections +# TYPE aerospike_node_stats_heartbeat_connections gauge +aerospike_node_stats_heartbeat_connections{cluster_name="70_aus_perth_1",service="172.17.0.6:3000"} 0 +# HELP aerospike_node_stats_heartbeat_connections_closed heartbeat connections closed +# TYPE aerospike_node_stats_heartbeat_connections_closed counter +aerospike_node_stats_heartbeat_connections_closed{cluster_name="70_aus_perth_1",service="172.17.0.6:3000"} 0 +# HELP aerospike_node_stats_heartbeat_connections_opened heartbeat connections opened +# TYPE aerospike_node_stats_heartbeat_connections_opened counter +aerospike_node_stats_heartbeat_connections_opened{cluster_name="70_aus_perth_1",service="172.17.0.6:3000"} 0 +# HELP aerospike_node_stats_heartbeat_received_foreign heartbeat received foreign +# TYPE aerospike_node_stats_heartbeat_received_foreign counter +aerospike_node_stats_heartbeat_received_foreign{cluster_name="70_aus_perth_1",service="172.17.0.6:3000"} 0 +# HELP aerospike_node_stats_heartbeat_received_self heartbeat received self +# TYPE aerospike_node_stats_heartbeat_received_self counter +aerospike_node_stats_heartbeat_received_self{cluster_name="70_aus_perth_1",service="172.17.0.6:3000"} 0 +# HELP aerospike_node_stats_info_complete info complete +# TYPE aerospike_node_stats_info_complete counter +aerospike_node_stats_info_complete{cluster_name="70_aus_perth_1",service="172.17.0.6:3000"} 1198 +# HELP aerospike_node_stats_info_queue info queue +# TYPE aerospike_node_stats_info_queue gauge +aerospike_node_stats_info_queue{cluster_name="70_aus_perth_1",service="172.17.0.6:3000"} 0 +# HELP aerospike_node_stats_info_timeout info timeout +# TYPE aerospike_node_stats_info_timeout counter +aerospike_node_stats_info_timeout{cluster_name="70_aus_perth_1",service="172.17.0.6:3000"} 0 +# HELP aerospike_node_stats_long_queries_active long queries active +# TYPE aerospike_node_stats_long_queries_active counter +aerospike_node_stats_long_queries_active{cluster_name="70_aus_perth_1",service="172.17.0.6:3000"} 0 +# HELP aerospike_node_stats_objects objects +# TYPE aerospike_node_stats_objects gauge +aerospike_node_stats_objects{cluster_name="70_aus_perth_1",service="172.17.0.6:3000"} 1.798577e+06 +# HELP aerospike_node_stats_process_cpu_pct process cpu pct +# TYPE aerospike_node_stats_process_cpu_pct gauge +aerospike_node_stats_process_cpu_pct{cluster_name="70_aus_perth_1",service="172.17.0.6:3000"} 322 +# HELP aerospike_node_stats_proxy_in_progress proxy in progress +# TYPE aerospike_node_stats_proxy_in_progress gauge +aerospike_node_stats_proxy_in_progress{cluster_name="70_aus_perth_1",service="172.17.0.6:3000"} 0 +# HELP aerospike_node_stats_reaped_fds reaped fds +# TYPE aerospike_node_stats_reaped_fds counter +aerospike_node_stats_reaped_fds{cluster_name="70_aus_perth_1",service="172.17.0.6:3000"} 0 +# HELP aerospike_node_stats_rw_in_progress rw in progress +# TYPE aerospike_node_stats_rw_in_progress gauge +aerospike_node_stats_rw_in_progress{cluster_name="70_aus_perth_1",service="172.17.0.6:3000"} 0 +# HELP aerospike_node_stats_system_free_mem_kbytes system free mem kbytes +# TYPE aerospike_node_stats_system_free_mem_kbytes counter +aerospike_node_stats_system_free_mem_kbytes{cluster_name="70_aus_perth_1",service="172.17.0.6:3000"} 1.166076e+06 +# HELP aerospike_node_stats_system_free_mem_pct system free mem pct +# TYPE aerospike_node_stats_system_free_mem_pct gauge +aerospike_node_stats_system_free_mem_pct{cluster_name="70_aus_perth_1",service="172.17.0.6:3000"} 9 +# HELP aerospike_node_stats_system_kernel_cpu_pct system kernel cpu pct +# TYPE aerospike_node_stats_system_kernel_cpu_pct gauge +aerospike_node_stats_system_kernel_cpu_pct{cluster_name="70_aus_perth_1",service="172.17.0.6:3000"} 272 +# HELP aerospike_node_stats_system_thp_mem_kbytes system thp mem kbytes +# TYPE aerospike_node_stats_system_thp_mem_kbytes counter +aerospike_node_stats_system_thp_mem_kbytes{cluster_name="70_aus_perth_1",service="172.17.0.6:3000"} 2.230272e+06 +# HELP aerospike_node_stats_system_total_cpu_pct system total cpu pct +# TYPE aerospike_node_stats_system_total_cpu_pct gauge +aerospike_node_stats_system_total_cpu_pct{cluster_name="70_aus_perth_1",service="172.17.0.6:3000"} 739 +# HELP aerospike_node_stats_system_user_cpu_pct system user cpu pct +# TYPE aerospike_node_stats_system_user_cpu_pct gauge +aerospike_node_stats_system_user_cpu_pct{cluster_name="70_aus_perth_1",service="172.17.0.6:3000"} 467 +# HELP aerospike_node_stats_threads_detached threads detached +# TYPE aerospike_node_stats_threads_detached gauge +aerospike_node_stats_threads_detached{cluster_name="70_aus_perth_1",service="172.17.0.6:3000"} 105 +# HELP aerospike_node_stats_threads_joinable threads joinable +# TYPE aerospike_node_stats_threads_joinable gauge +aerospike_node_stats_threads_joinable{cluster_name="70_aus_perth_1",service="172.17.0.6:3000"} 11 +# HELP aerospike_node_stats_threads_pool_active threads pool active +# TYPE aerospike_node_stats_threads_pool_active gauge +aerospike_node_stats_threads_pool_active{cluster_name="70_aus_perth_1",service="172.17.0.6:3000"} 79 +# HELP aerospike_node_stats_threads_pool_total threads pool total +# TYPE aerospike_node_stats_threads_pool_total gauge +aerospike_node_stats_threads_pool_total{cluster_name="70_aus_perth_1",service="172.17.0.6:3000"} 79 +# HELP aerospike_node_stats_tombstones tombstones +# TYPE aerospike_node_stats_tombstones gauge +aerospike_node_stats_tombstones{cluster_name="70_aus_perth_1",service="172.17.0.6:3000"} 0 +# HELP aerospike_node_stats_tree_gc_queue tree gc queue +# TYPE aerospike_node_stats_tree_gc_queue gauge +aerospike_node_stats_tree_gc_queue{cluster_name="70_aus_perth_1",service="172.17.0.6:3000"} 0 +# HELP aerospike_node_stats_uptime uptime +# TYPE aerospike_node_stats_uptime counter +aerospike_node_stats_uptime{cluster_name="70_aus_perth_1",service="172.17.0.6:3000"} 971 +# HELP aerospike_node_ticks Counter that detemines how many times the Aerospike node was scraped for metrics. +# TYPE aerospike_node_ticks counter +aerospike_node_ticks 1 +# HELP aerospike_node_up Aerospike node active status +# TYPE aerospike_node_up gauge +aerospike_node_up{build="7.0.0.0-rc4",cluster_name="70_aus_perth_1",service="172.17.0.6:3000"} 1 +# HELP aerospike_sets_data_used_bytes data used bytes +# TYPE aerospike_sets_data_used_bytes gauge +aerospike_sets_data_used_bytes{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",set="from_branch_1"} 0 +aerospike_sets_data_used_bytes{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",set="from_branch_2"} 1.5564076e+09 +aerospike_sets_data_used_bytes{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",set="test_branch_set_1"} 1.43712e+06 +aerospike_sets_data_used_bytes{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",set="test_branch_set_2"} 1.435824e+06 +aerospike_sets_data_used_bytes{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",set="test_branch_set_3"} 1.437264e+06 +aerospike_sets_data_used_bytes{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",set="test_from_branch_1"} 0 +# HELP aerospike_sets_default_ttl default ttl +# TYPE aerospike_sets_default_ttl gauge +aerospike_sets_default_ttl{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",set="from_branch_1"} 0 +aerospike_sets_default_ttl{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",set="from_branch_2"} 0 +aerospike_sets_default_ttl{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",set="test_branch_set_1"} 0 +aerospike_sets_default_ttl{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",set="test_branch_set_2"} 0 +aerospike_sets_default_ttl{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",set="test_branch_set_3"} 0 +aerospike_sets_default_ttl{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",set="test_from_branch_1"} 0 +# HELP aerospike_sets_disable_eviction disable eviction +# TYPE aerospike_sets_disable_eviction gauge +aerospike_sets_disable_eviction{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",set="from_branch_1"} 0 +aerospike_sets_disable_eviction{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",set="from_branch_2"} 0 +aerospike_sets_disable_eviction{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",set="test_branch_set_1"} 0 +aerospike_sets_disable_eviction{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",set="test_branch_set_2"} 0 +aerospike_sets_disable_eviction{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",set="test_branch_set_3"} 0 +aerospike_sets_disable_eviction{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",set="test_from_branch_1"} 0 +# HELP aerospike_sets_enable_index enable index +# TYPE aerospike_sets_enable_index gauge +aerospike_sets_enable_index{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",set="from_branch_1"} 1 +aerospike_sets_enable_index{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",set="from_branch_2"} 0 +aerospike_sets_enable_index{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",set="test_branch_set_1"} 0 +aerospike_sets_enable_index{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",set="test_branch_set_2"} 0 +aerospike_sets_enable_index{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",set="test_branch_set_3"} 0 +aerospike_sets_enable_index{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",set="test_from_branch_1"} 0 +# HELP aerospike_sets_index_populating index populating +# TYPE aerospike_sets_index_populating gauge +aerospike_sets_index_populating{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",set="from_branch_1"} 0 +aerospike_sets_index_populating{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",set="from_branch_2"} 0 +aerospike_sets_index_populating{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",set="test_branch_set_1"} 0 +aerospike_sets_index_populating{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",set="test_branch_set_2"} 0 +aerospike_sets_index_populating{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",set="test_branch_set_3"} 0 +aerospike_sets_index_populating{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",set="test_from_branch_1"} 0 +# HELP aerospike_sets_objects objects +# TYPE aerospike_sets_objects gauge +aerospike_sets_objects{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",set="from_branch_1"} 0 +aerospike_sets_objects{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",set="from_branch_2"} 1.768645e+06 +aerospike_sets_objects{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",set="test_branch_set_1"} 9980 +aerospike_sets_objects{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",set="test_branch_set_2"} 9971 +aerospike_sets_objects{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",set="test_branch_set_3"} 9981 +aerospike_sets_objects{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",set="test_from_branch_1"} 0 +# HELP aerospike_sets_sindexes sindexes +# TYPE aerospike_sets_sindexes gauge +aerospike_sets_sindexes{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",set="from_branch_1"} 0 +aerospike_sets_sindexes{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",set="from_branch_2"} 1 +aerospike_sets_sindexes{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",set="test_branch_set_1"} 0 +aerospike_sets_sindexes{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",set="test_branch_set_2"} 0 +aerospike_sets_sindexes{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",set="test_branch_set_3"} 0 +aerospike_sets_sindexes{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",set="test_from_branch_1"} 0 +# HELP aerospike_sets_stop_writes_count stop writes count +# TYPE aerospike_sets_stop_writes_count gauge +aerospike_sets_stop_writes_count{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",set="from_branch_1"} 0 +aerospike_sets_stop_writes_count{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",set="from_branch_2"} 0 +aerospike_sets_stop_writes_count{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",set="test_branch_set_1"} 0 +aerospike_sets_stop_writes_count{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",set="test_branch_set_2"} 0 +aerospike_sets_stop_writes_count{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",set="test_branch_set_3"} 0 +aerospike_sets_stop_writes_count{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",set="test_from_branch_1"} 8e+07 +# HELP aerospike_sets_stop_writes_size stop writes size +# TYPE aerospike_sets_stop_writes_size gauge +aerospike_sets_stop_writes_size{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",set="from_branch_1"} 0 +aerospike_sets_stop_writes_size{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",set="from_branch_2"} 0 +aerospike_sets_stop_writes_size{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",set="test_branch_set_1"} 0 +aerospike_sets_stop_writes_size{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",set="test_branch_set_2"} 0 +aerospike_sets_stop_writes_size{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",set="test_branch_set_3"} 0 +aerospike_sets_stop_writes_size{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",set="test_from_branch_1"} 1000 +# HELP aerospike_sets_tombstones tombstones +# TYPE aerospike_sets_tombstones gauge +aerospike_sets_tombstones{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",set="from_branch_1"} 0 +aerospike_sets_tombstones{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",set="from_branch_2"} 0 +aerospike_sets_tombstones{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",set="test_branch_set_1"} 0 +aerospike_sets_tombstones{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",set="test_branch_set_2"} 0 +aerospike_sets_tombstones{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",set="test_branch_set_3"} 0 +aerospike_sets_tombstones{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",set="test_from_branch_1"} 0 +# HELP aerospike_sets_truncate_lut truncate lut +# TYPE aerospike_sets_truncate_lut gauge +aerospike_sets_truncate_lut{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",set="from_branch_1"} 0 +aerospike_sets_truncate_lut{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",set="from_branch_2"} 0 +aerospike_sets_truncate_lut{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",set="test_branch_set_1"} 0 +aerospike_sets_truncate_lut{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",set="test_branch_set_2"} 0 +aerospike_sets_truncate_lut{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",set="test_branch_set_3"} 0 +aerospike_sets_truncate_lut{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",set="test_from_branch_1"} 0 +# HELP aerospike_sets_truncating truncating +# TYPE aerospike_sets_truncating gauge +aerospike_sets_truncating{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",set="from_branch_1"} 0 +aerospike_sets_truncating{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",set="from_branch_2"} 0 +aerospike_sets_truncating{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",set="test_branch_set_1"} 0 +aerospike_sets_truncating{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",set="test_branch_set_2"} 0 +aerospike_sets_truncating{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",set="test_branch_set_3"} 0 +aerospike_sets_truncating{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",set="test_from_branch_1"} 0 +# HELP aerospike_sindex_entries entries +# TYPE aerospike_sindex_entries gauge +aerospike_sindex_entries{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",sindex="7x_sindex_bar_2"} 0 +aerospike_sindex_entries{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",sindex="7x_sindex_1"} 29932 +aerospike_sindex_entries{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",sindex="test_sindex1"} 0 +# HELP aerospike_sindex_entries_per_bval entries per bval +# TYPE aerospike_sindex_entries_per_bval gauge +aerospike_sindex_entries_per_bval{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",sindex="7x_sindex_bar_2"} 0 +aerospike_sindex_entries_per_bval{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",sindex="7x_sindex_1"} 0 +aerospike_sindex_entries_per_bval{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",sindex="test_sindex1"} 0 +# HELP aerospike_sindex_entries_per_rec entries per rec +# TYPE aerospike_sindex_entries_per_rec gauge +aerospike_sindex_entries_per_rec{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",sindex="7x_sindex_bar_2"} 0 +aerospike_sindex_entries_per_rec{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",sindex="7x_sindex_1"} 0 +aerospike_sindex_entries_per_rec{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",sindex="test_sindex1"} 0 +# HELP aerospike_sindex_load_pct load pct +# TYPE aerospike_sindex_load_pct gauge +aerospike_sindex_load_pct{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",sindex="7x_sindex_bar_2"} 100 +aerospike_sindex_load_pct{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",sindex="7x_sindex_1"} 100 +aerospike_sindex_load_pct{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",sindex="test_sindex1"} 100 +# HELP aerospike_sindex_load_time load time +# TYPE aerospike_sindex_load_time gauge +aerospike_sindex_load_time{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",sindex="7x_sindex_bar_2"} 0 +aerospike_sindex_load_time{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",sindex="7x_sindex_1"} 0 +aerospike_sindex_load_time{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",sindex="test_sindex1"} 0 +# HELP aerospike_sindex_stat_gc_recs stat gc recs +# TYPE aerospike_sindex_stat_gc_recs counter +aerospike_sindex_stat_gc_recs{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",sindex="7x_sindex_bar_2"} 0 +aerospike_sindex_stat_gc_recs{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",sindex="7x_sindex_1"} 0 +aerospike_sindex_stat_gc_recs{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",sindex="test_sindex1"} 0 +# HELP aerospike_sindex_used_bytes used bytes +# TYPE aerospike_sindex_used_bytes gauge +aerospike_sindex_used_bytes{cluster_name="70_aus_perth_1",ns="bar",service="172.17.0.6:3000",sindex="7x_sindex_bar_2"} 1.6777216e+07 +aerospike_sindex_used_bytes{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",sindex="7x_sindex_1"} 1.6777216e+07 +aerospike_sindex_used_bytes{cluster_name="70_aus_perth_1",ns="test",service="172.17.0.6:3000",sindex="test_sindex1"} 1.6777216e+07 +# HELP aerospike_users_conns_in_use conns in use +# TYPE aerospike_users_conns_in_use gauge +aerospike_users_conns_in_use{cluster_name="70_aus_perth_1",service="172.17.0.6:3000",user="admin"} 1 +aerospike_users_conns_in_use{cluster_name="70_aus_perth_1",service="172.17.0.6:3000",user="phani"} 0 +aerospike_users_conns_in_use{cluster_name="70_aus_perth_1",service="172.17.0.6:3000",user="test"} 0 +aerospike_users_conns_in_use{cluster_name="70_aus_perth_1",service="172.17.0.6:3000",user="u1phani"} 0 +aerospike_users_conns_in_use{cluster_name="70_aus_perth_1",service="172.17.0.6:3000",user="u2phani"} 0 +# HELP aerospike_users_limitless_read_scan_query limitless read scan query +# TYPE aerospike_users_limitless_read_scan_query gauge +aerospike_users_limitless_read_scan_query{cluster_name="70_aus_perth_1",service="172.17.0.6:3000",user="admin"} 4 +aerospike_users_limitless_read_scan_query{cluster_name="70_aus_perth_1",service="172.17.0.6:3000",user="phani"} 9 +aerospike_users_limitless_read_scan_query{cluster_name="70_aus_perth_1",service="172.17.0.6:3000",user="test"} 0 +aerospike_users_limitless_read_scan_query{cluster_name="70_aus_perth_1",service="172.17.0.6:3000",user="u1phani"} 0 +aerospike_users_limitless_read_scan_query{cluster_name="70_aus_perth_1",service="172.17.0.6:3000",user="u2phani"} 0 +# HELP aerospike_users_limitless_write_scan_query limitless write scan query +# TYPE aerospike_users_limitless_write_scan_query gauge +aerospike_users_limitless_write_scan_query{cluster_name="70_aus_perth_1",service="172.17.0.6:3000",user="admin"} 14 +aerospike_users_limitless_write_scan_query{cluster_name="70_aus_perth_1",service="172.17.0.6:3000",user="phani"} 19 +aerospike_users_limitless_write_scan_query{cluster_name="70_aus_perth_1",service="172.17.0.6:3000",user="test"} 0 +aerospike_users_limitless_write_scan_query{cluster_name="70_aus_perth_1",service="172.17.0.6:3000",user="u1phani"} 0 +aerospike_users_limitless_write_scan_query{cluster_name="70_aus_perth_1",service="172.17.0.6:3000",user="u2phani"} 0 +# HELP aerospike_users_read_quota read quota +# TYPE aerospike_users_read_quota gauge +aerospike_users_read_quota{cluster_name="70_aus_perth_1",service="172.17.0.6:3000",user="admin"} 1 +aerospike_users_read_quota{cluster_name="70_aus_perth_1",service="172.17.0.6:3000",user="phani"} 6 +aerospike_users_read_quota{cluster_name="70_aus_perth_1",service="172.17.0.6:3000",user="test"} 0 +aerospike_users_read_quota{cluster_name="70_aus_perth_1",service="172.17.0.6:3000",user="u1phani"} 0 +aerospike_users_read_quota{cluster_name="70_aus_perth_1",service="172.17.0.6:3000",user="u2phani"} 0 +# HELP aerospike_users_read_scan_query_rps read scan query rps +# TYPE aerospike_users_read_scan_query_rps gauge +aerospike_users_read_scan_query_rps{cluster_name="70_aus_perth_1",service="172.17.0.6:3000",user="admin"} 3 +aerospike_users_read_scan_query_rps{cluster_name="70_aus_perth_1",service="172.17.0.6:3000",user="phani"} 8 +aerospike_users_read_scan_query_rps{cluster_name="70_aus_perth_1",service="172.17.0.6:3000",user="test"} 0 +aerospike_users_read_scan_query_rps{cluster_name="70_aus_perth_1",service="172.17.0.6:3000",user="u1phani"} 0 +aerospike_users_read_scan_query_rps{cluster_name="70_aus_perth_1",service="172.17.0.6:3000",user="u2phani"} 0 +# HELP aerospike_users_read_single_record_tps read single record tps +# TYPE aerospike_users_read_single_record_tps gauge +aerospike_users_read_single_record_tps{cluster_name="70_aus_perth_1",service="172.17.0.6:3000",user="admin"} 2 +aerospike_users_read_single_record_tps{cluster_name="70_aus_perth_1",service="172.17.0.6:3000",user="phani"} 7 +aerospike_users_read_single_record_tps{cluster_name="70_aus_perth_1",service="172.17.0.6:3000",user="test"} 0 +aerospike_users_read_single_record_tps{cluster_name="70_aus_perth_1",service="172.17.0.6:3000",user="u1phani"} 0 +aerospike_users_read_single_record_tps{cluster_name="70_aus_perth_1",service="172.17.0.6:3000",user="u2phani"} 0 +# HELP aerospike_users_write_quota write quota +# TYPE aerospike_users_write_quota gauge +aerospike_users_write_quota{cluster_name="70_aus_perth_1",service="172.17.0.6:3000",user="admin"} 11 +aerospike_users_write_quota{cluster_name="70_aus_perth_1",service="172.17.0.6:3000",user="phani"} 16 +aerospike_users_write_quota{cluster_name="70_aus_perth_1",service="172.17.0.6:3000",user="test"} 0 +aerospike_users_write_quota{cluster_name="70_aus_perth_1",service="172.17.0.6:3000",user="u1phani"} 0 +aerospike_users_write_quota{cluster_name="70_aus_perth_1",service="172.17.0.6:3000",user="u2phani"} 0 +# HELP aerospike_users_write_scan_query_rps write scan query rps +# TYPE aerospike_users_write_scan_query_rps gauge +aerospike_users_write_scan_query_rps{cluster_name="70_aus_perth_1",service="172.17.0.6:3000",user="admin"} 13 +aerospike_users_write_scan_query_rps{cluster_name="70_aus_perth_1",service="172.17.0.6:3000",user="phani"} 18 +aerospike_users_write_scan_query_rps{cluster_name="70_aus_perth_1",service="172.17.0.6:3000",user="test"} 0 +aerospike_users_write_scan_query_rps{cluster_name="70_aus_perth_1",service="172.17.0.6:3000",user="u1phani"} 0 +aerospike_users_write_scan_query_rps{cluster_name="70_aus_perth_1",service="172.17.0.6:3000",user="u2phani"} 0 +# HELP aerospike_users_write_single_record_tps write single record tps +# TYPE aerospike_users_write_single_record_tps gauge +aerospike_users_write_single_record_tps{cluster_name="70_aus_perth_1",service="172.17.0.6:3000",user="admin"} 12 +aerospike_users_write_single_record_tps{cluster_name="70_aus_perth_1",service="172.17.0.6:3000",user="phani"} 17 +aerospike_users_write_single_record_tps{cluster_name="70_aus_perth_1",service="172.17.0.6:3000",user="test"} 0 +aerospike_users_write_single_record_tps{cluster_name="70_aus_perth_1",service="172.17.0.6:3000",user="u1phani"} 0 +aerospike_users_write_single_record_tps{cluster_name="70_aus_perth_1",service="172.17.0.6:3000",user="u2phani"} 0 +# HELP aerospike_xdr_abandoned abandoned +# TYPE aerospike_xdr_abandoned counter +aerospike_xdr_abandoned{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",service="172.17.0.6:3000"} 0 +aerospike_xdr_abandoned{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",service="172.17.0.6:3000"} 0 +aerospike_xdr_abandoned{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",ns="bar",service="172.17.0.6:3000"} 0 +aerospike_xdr_abandoned{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",ns="bar_pmem",service="172.17.0.6:3000"} 0 +aerospike_xdr_abandoned{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",ns="employees_flash",service="172.17.0.6:3000"} 0 +aerospike_xdr_abandoned{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",ns="test",service="172.17.0.6:3000"} 0 +aerospike_xdr_abandoned{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",ns="bar",service="172.17.0.6:3000"} 0 +aerospike_xdr_abandoned{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",ns="bar_pmem",service="172.17.0.6:3000"} 0 +aerospike_xdr_abandoned{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",ns="employees_flash",service="172.17.0.6:3000"} 0 +aerospike_xdr_abandoned{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",ns="test",service="172.17.0.6:3000"} 0 +# HELP aerospike_xdr_bytes_shipped bytes shipped +# TYPE aerospike_xdr_bytes_shipped counter +aerospike_xdr_bytes_shipped{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",service="172.17.0.6:3000"} 0 +aerospike_xdr_bytes_shipped{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",service="172.17.0.6:3000"} 3.492030107e+09 +aerospike_xdr_bytes_shipped{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",ns="bar",service="172.17.0.6:3000"} 0 +aerospike_xdr_bytes_shipped{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",ns="bar_pmem",service="172.17.0.6:3000"} 0 +aerospike_xdr_bytes_shipped{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",ns="employees_flash",service="172.17.0.6:3000"} 0 +aerospike_xdr_bytes_shipped{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",ns="test",service="172.17.0.6:3000"} 0 +aerospike_xdr_bytes_shipped{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",ns="bar",service="172.17.0.6:3000"} 0 +aerospike_xdr_bytes_shipped{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",ns="bar_pmem",service="172.17.0.6:3000"} 0 +aerospike_xdr_bytes_shipped{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",ns="employees_flash",service="172.17.0.6:3000"} 0 +aerospike_xdr_bytes_shipped{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",ns="test",service="172.17.0.6:3000"} 3.492030107e+09 +# HELP aerospike_xdr_compression_ratio compression ratio +# TYPE aerospike_xdr_compression_ratio gauge +aerospike_xdr_compression_ratio{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",service="172.17.0.6:3000"} 1 +aerospike_xdr_compression_ratio{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",service="172.17.0.6:3000"} 1 +aerospike_xdr_compression_ratio{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",ns="bar",service="172.17.0.6:3000"} 1 +aerospike_xdr_compression_ratio{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",ns="bar_pmem",service="172.17.0.6:3000"} 1 +aerospike_xdr_compression_ratio{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",ns="employees_flash",service="172.17.0.6:3000"} 1 +aerospike_xdr_compression_ratio{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",ns="test",service="172.17.0.6:3000"} 1 +aerospike_xdr_compression_ratio{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",ns="bar",service="172.17.0.6:3000"} 1 +aerospike_xdr_compression_ratio{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",ns="bar_pmem",service="172.17.0.6:3000"} 1 +aerospike_xdr_compression_ratio{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",ns="employees_flash",service="172.17.0.6:3000"} 1 +aerospike_xdr_compression_ratio{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",ns="test",service="172.17.0.6:3000"} 1 +# HELP aerospike_xdr_dc_src_id dc src id +# TYPE aerospike_xdr_dc_src_id gauge +aerospike_xdr_dc_src_id{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",service="172.17.0.6:3000"} 0 +aerospike_xdr_dc_src_id{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",service="172.17.0.6:3000"} 0 +aerospike_xdr_dc_src_id{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",ns="bar",service="172.17.0.6:3000"} 0 +aerospike_xdr_dc_src_id{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",ns="bar_pmem",service="172.17.0.6:3000"} 0 +aerospike_xdr_dc_src_id{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",ns="employees_flash",service="172.17.0.6:3000"} 0 +aerospike_xdr_dc_src_id{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",ns="test",service="172.17.0.6:3000"} 0 +aerospike_xdr_dc_src_id{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",ns="bar",service="172.17.0.6:3000"} 0 +aerospike_xdr_dc_src_id{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",ns="bar_pmem",service="172.17.0.6:3000"} 0 +aerospike_xdr_dc_src_id{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",ns="employees_flash",service="172.17.0.6:3000"} 0 +aerospike_xdr_dc_src_id{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",ns="test",service="172.17.0.6:3000"} 0 +# HELP aerospike_xdr_dc_trace_sample dc trace sample +# TYPE aerospike_xdr_dc_trace_sample gauge +aerospike_xdr_dc_trace_sample{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",service="172.17.0.6:3000"} 0 +aerospike_xdr_dc_trace_sample{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",service="172.17.0.6:3000"} 0 +aerospike_xdr_dc_trace_sample{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",ns="bar",service="172.17.0.6:3000"} 0 +aerospike_xdr_dc_trace_sample{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",ns="bar_pmem",service="172.17.0.6:3000"} 0 +aerospike_xdr_dc_trace_sample{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",ns="employees_flash",service="172.17.0.6:3000"} 0 +aerospike_xdr_dc_trace_sample{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",ns="test",service="172.17.0.6:3000"} 0 +aerospike_xdr_dc_trace_sample{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",ns="bar",service="172.17.0.6:3000"} 0 +aerospike_xdr_dc_trace_sample{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",ns="bar_pmem",service="172.17.0.6:3000"} 0 +aerospike_xdr_dc_trace_sample{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",ns="employees_flash",service="172.17.0.6:3000"} 0 +aerospike_xdr_dc_trace_sample{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",ns="test",service="172.17.0.6:3000"} 0 +# HELP aerospike_xdr_filtered_out filtered out +# TYPE aerospike_xdr_filtered_out counter +aerospike_xdr_filtered_out{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",service="172.17.0.6:3000"} 0 +aerospike_xdr_filtered_out{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",service="172.17.0.6:3000"} 0 +aerospike_xdr_filtered_out{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",ns="bar",service="172.17.0.6:3000"} 0 +aerospike_xdr_filtered_out{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",ns="bar_pmem",service="172.17.0.6:3000"} 0 +aerospike_xdr_filtered_out{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",ns="employees_flash",service="172.17.0.6:3000"} 0 +aerospike_xdr_filtered_out{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",ns="test",service="172.17.0.6:3000"} 0 +aerospike_xdr_filtered_out{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",ns="bar",service="172.17.0.6:3000"} 0 +aerospike_xdr_filtered_out{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",ns="bar_pmem",service="172.17.0.6:3000"} 0 +aerospike_xdr_filtered_out{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",ns="employees_flash",service="172.17.0.6:3000"} 0 +aerospike_xdr_filtered_out{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",ns="test",service="172.17.0.6:3000"} 0 +# HELP aerospike_xdr_hot_keys hot keys +# TYPE aerospike_xdr_hot_keys counter +aerospike_xdr_hot_keys{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",service="172.17.0.6:3000"} 0 +aerospike_xdr_hot_keys{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",service="172.17.0.6:3000"} 0 +aerospike_xdr_hot_keys{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",ns="bar",service="172.17.0.6:3000"} 0 +aerospike_xdr_hot_keys{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",ns="bar_pmem",service="172.17.0.6:3000"} 0 +aerospike_xdr_hot_keys{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",ns="employees_flash",service="172.17.0.6:3000"} 0 +aerospike_xdr_hot_keys{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",ns="test",service="172.17.0.6:3000"} 0 +aerospike_xdr_hot_keys{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",ns="bar",service="172.17.0.6:3000"} 0 +aerospike_xdr_hot_keys{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",ns="bar_pmem",service="172.17.0.6:3000"} 0 +aerospike_xdr_hot_keys{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",ns="employees_flash",service="172.17.0.6:3000"} 0 +aerospike_xdr_hot_keys{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",ns="test",service="172.17.0.6:3000"} 0 +# HELP aerospike_xdr_in_progress in progress +# TYPE aerospike_xdr_in_progress gauge +aerospike_xdr_in_progress{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",service="172.17.0.6:3000"} 35380 +aerospike_xdr_in_progress{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",service="172.17.0.6:3000"} 38723 +aerospike_xdr_in_progress{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",ns="bar",service="172.17.0.6:3000"} 0 +aerospike_xdr_in_progress{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",ns="bar_pmem",service="172.17.0.6:3000"} 0 +aerospike_xdr_in_progress{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",ns="employees_flash",service="172.17.0.6:3000"} 0 +aerospike_xdr_in_progress{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",ns="test",service="172.17.0.6:3000"} 35380 +aerospike_xdr_in_progress{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",ns="bar",service="172.17.0.6:3000"} 0 +aerospike_xdr_in_progress{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",ns="bar_pmem",service="172.17.0.6:3000"} 0 +aerospike_xdr_in_progress{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",ns="employees_flash",service="172.17.0.6:3000"} 0 +aerospike_xdr_in_progress{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",ns="test",service="172.17.0.6:3000"} 38723 +# HELP aerospike_xdr_in_queue in queue +# TYPE aerospike_xdr_in_queue gauge +aerospike_xdr_in_queue{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",service="172.17.0.6:3000"} 1.763197e+06 +aerospike_xdr_in_queue{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",service="172.17.0.6:3000"} 206939 +aerospike_xdr_in_queue{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",ns="bar",service="172.17.0.6:3000"} 0 +aerospike_xdr_in_queue{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",ns="bar_pmem",service="172.17.0.6:3000"} 0 +aerospike_xdr_in_queue{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",ns="employees_flash",service="172.17.0.6:3000"} 0 +aerospike_xdr_in_queue{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",ns="test",service="172.17.0.6:3000"} 1.763197e+06 +aerospike_xdr_in_queue{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",ns="bar",service="172.17.0.6:3000"} 0 +aerospike_xdr_in_queue{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",ns="bar_pmem",service="172.17.0.6:3000"} 0 +aerospike_xdr_in_queue{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",ns="employees_flash",service="172.17.0.6:3000"} 0 +aerospike_xdr_in_queue{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",ns="test",service="172.17.0.6:3000"} 206939 +# HELP aerospike_xdr_lag lag +# TYPE aerospike_xdr_lag gauge +aerospike_xdr_lag{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",service="172.17.0.6:3000"} 934 +aerospike_xdr_lag{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",service="172.17.0.6:3000"} 552 +aerospike_xdr_lag{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",ns="bar",service="172.17.0.6:3000"} 0 +aerospike_xdr_lag{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",ns="bar_pmem",service="172.17.0.6:3000"} 0 +aerospike_xdr_lag{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",ns="employees_flash",service="172.17.0.6:3000"} 0 +aerospike_xdr_lag{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",ns="test",service="172.17.0.6:3000"} 934 +aerospike_xdr_lag{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",ns="bar",service="172.17.0.6:3000"} 0 +aerospike_xdr_lag{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",ns="bar_pmem",service="172.17.0.6:3000"} 0 +aerospike_xdr_lag{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",ns="employees_flash",service="172.17.0.6:3000"} 0 +aerospike_xdr_lag{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",ns="test",service="172.17.0.6:3000"} 552 +# HELP aerospike_xdr_lap_us lap us +# TYPE aerospike_xdr_lap_us gauge +aerospike_xdr_lap_us{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",service="172.17.0.6:3000"} 4979 +aerospike_xdr_lap_us{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",service="172.17.0.6:3000"} 9505 +# HELP aerospike_xdr_latency_ms latency ms +# TYPE aerospike_xdr_latency_ms gauge +aerospike_xdr_latency_ms{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",service="172.17.0.6:3000"} 0 +aerospike_xdr_latency_ms{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",service="172.17.0.6:3000"} 20 +# HELP aerospike_xdr_nodes nodes +# TYPE aerospike_xdr_nodes gauge +aerospike_xdr_nodes{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",service="172.17.0.6:3000"} 1 +aerospike_xdr_nodes{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",service="172.17.0.6:3000"} 1 +# HELP aerospike_xdr_not_found not found +# TYPE aerospike_xdr_not_found counter +aerospike_xdr_not_found{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",service="172.17.0.6:3000"} 0 +aerospike_xdr_not_found{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",service="172.17.0.6:3000"} 0 +aerospike_xdr_not_found{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",ns="bar",service="172.17.0.6:3000"} 0 +aerospike_xdr_not_found{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",ns="bar_pmem",service="172.17.0.6:3000"} 0 +aerospike_xdr_not_found{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",ns="employees_flash",service="172.17.0.6:3000"} 0 +aerospike_xdr_not_found{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",ns="test",service="172.17.0.6:3000"} 0 +aerospike_xdr_not_found{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",ns="bar",service="172.17.0.6:3000"} 0 +aerospike_xdr_not_found{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",ns="bar_pmem",service="172.17.0.6:3000"} 0 +aerospike_xdr_not_found{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",ns="employees_flash",service="172.17.0.6:3000"} 0 +aerospike_xdr_not_found{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",ns="test",service="172.17.0.6:3000"} 0 +# HELP aerospike_xdr_recoveries recoveries +# TYPE aerospike_xdr_recoveries counter +aerospike_xdr_recoveries{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",service="172.17.0.6:3000"} 4096 +aerospike_xdr_recoveries{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",service="172.17.0.6:3000"} 4096 +aerospike_xdr_recoveries{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",ns="bar",service="172.17.0.6:3000"} 0 +aerospike_xdr_recoveries{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",ns="bar_pmem",service="172.17.0.6:3000"} 0 +aerospike_xdr_recoveries{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",ns="employees_flash",service="172.17.0.6:3000"} 0 +aerospike_xdr_recoveries{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",ns="test",service="172.17.0.6:3000"} 4096 +aerospike_xdr_recoveries{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",ns="bar",service="172.17.0.6:3000"} 0 +aerospike_xdr_recoveries{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",ns="bar_pmem",service="172.17.0.6:3000"} 0 +aerospike_xdr_recoveries{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",ns="employees_flash",service="172.17.0.6:3000"} 0 +aerospike_xdr_recoveries{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",ns="test",service="172.17.0.6:3000"} 4096 +# HELP aerospike_xdr_recoveries_pending recoveries pending +# TYPE aerospike_xdr_recoveries_pending gauge +aerospike_xdr_recoveries_pending{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",service="172.17.0.6:3000"} 0 +aerospike_xdr_recoveries_pending{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",service="172.17.0.6:3000"} 0 +aerospike_xdr_recoveries_pending{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",ns="bar",service="172.17.0.6:3000"} 0 +aerospike_xdr_recoveries_pending{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",ns="bar_pmem",service="172.17.0.6:3000"} 0 +aerospike_xdr_recoveries_pending{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",ns="employees_flash",service="172.17.0.6:3000"} 0 +aerospike_xdr_recoveries_pending{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",ns="test",service="172.17.0.6:3000"} 0 +aerospike_xdr_recoveries_pending{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",ns="bar",service="172.17.0.6:3000"} 0 +aerospike_xdr_recoveries_pending{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",ns="bar_pmem",service="172.17.0.6:3000"} 0 +aerospike_xdr_recoveries_pending{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",ns="employees_flash",service="172.17.0.6:3000"} 0 +aerospike_xdr_recoveries_pending{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",ns="test",service="172.17.0.6:3000"} 0 +# HELP aerospike_xdr_retry_conn_reset retry conn reset +# TYPE aerospike_xdr_retry_conn_reset counter +aerospike_xdr_retry_conn_reset{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",service="172.17.0.6:3000"} 0 +aerospike_xdr_retry_conn_reset{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",service="172.17.0.6:3000"} 0 +aerospike_xdr_retry_conn_reset{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",ns="bar",service="172.17.0.6:3000"} 0 +aerospike_xdr_retry_conn_reset{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",ns="bar_pmem",service="172.17.0.6:3000"} 0 +aerospike_xdr_retry_conn_reset{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",ns="employees_flash",service="172.17.0.6:3000"} 0 +aerospike_xdr_retry_conn_reset{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",ns="test",service="172.17.0.6:3000"} 0 +aerospike_xdr_retry_conn_reset{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",ns="bar",service="172.17.0.6:3000"} 0 +aerospike_xdr_retry_conn_reset{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",ns="bar_pmem",service="172.17.0.6:3000"} 0 +aerospike_xdr_retry_conn_reset{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",ns="employees_flash",service="172.17.0.6:3000"} 0 +aerospike_xdr_retry_conn_reset{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",ns="test",service="172.17.0.6:3000"} 0 +# HELP aerospike_xdr_retry_dest retry dest +# TYPE aerospike_xdr_retry_dest counter +aerospike_xdr_retry_dest{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",service="172.17.0.6:3000"} 0 +aerospike_xdr_retry_dest{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",service="172.17.0.6:3000"} 2.363624e+06 +aerospike_xdr_retry_dest{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",ns="bar",service="172.17.0.6:3000"} 0 +aerospike_xdr_retry_dest{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",ns="bar_pmem",service="172.17.0.6:3000"} 0 +aerospike_xdr_retry_dest{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",ns="employees_flash",service="172.17.0.6:3000"} 0 +aerospike_xdr_retry_dest{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",ns="test",service="172.17.0.6:3000"} 0 +aerospike_xdr_retry_dest{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",ns="bar",service="172.17.0.6:3000"} 0 +aerospike_xdr_retry_dest{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",ns="bar_pmem",service="172.17.0.6:3000"} 0 +aerospike_xdr_retry_dest{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",ns="employees_flash",service="172.17.0.6:3000"} 0 +aerospike_xdr_retry_dest{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",ns="test",service="172.17.0.6:3000"} 2.363624e+06 +# HELP aerospike_xdr_retry_no_node retry no node +# TYPE aerospike_xdr_retry_no_node counter +aerospike_xdr_retry_no_node{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",service="172.17.0.6:3000"} 3.7922227e+07 +aerospike_xdr_retry_no_node{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",service="172.17.0.6:3000"} 0 +aerospike_xdr_retry_no_node{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",ns="bar",service="172.17.0.6:3000"} 0 +aerospike_xdr_retry_no_node{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",ns="bar_pmem",service="172.17.0.6:3000"} 0 +aerospike_xdr_retry_no_node{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",ns="employees_flash",service="172.17.0.6:3000"} 0 +aerospike_xdr_retry_no_node{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",ns="test",service="172.17.0.6:3000"} 3.7922227e+07 +aerospike_xdr_retry_no_node{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",ns="bar",service="172.17.0.6:3000"} 0 +aerospike_xdr_retry_no_node{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",ns="bar_pmem",service="172.17.0.6:3000"} 0 +aerospike_xdr_retry_no_node{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",ns="employees_flash",service="172.17.0.6:3000"} 0 +aerospike_xdr_retry_no_node{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",ns="test",service="172.17.0.6:3000"} 0 +# HELP aerospike_xdr_success success +# TYPE aerospike_xdr_success counter +aerospike_xdr_success{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",service="172.17.0.6:3000"} 0 +aerospike_xdr_success{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",service="172.17.0.6:3000"} 1.552915e+06 +aerospike_xdr_success{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",ns="bar",service="172.17.0.6:3000"} 0 +aerospike_xdr_success{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",ns="bar_pmem",service="172.17.0.6:3000"} 0 +aerospike_xdr_success{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",ns="employees_flash",service="172.17.0.6:3000"} 0 +aerospike_xdr_success{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",ns="test",service="172.17.0.6:3000"} 0 +aerospike_xdr_success{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",ns="bar",service="172.17.0.6:3000"} 0 +aerospike_xdr_success{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",ns="bar_pmem",service="172.17.0.6:3000"} 0 +aerospike_xdr_success{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",ns="employees_flash",service="172.17.0.6:3000"} 0 +aerospike_xdr_success{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",ns="test",service="172.17.0.6:3000"} 1.552915e+06 +# HELP aerospike_xdr_throughput throughput +# TYPE aerospike_xdr_throughput gauge +aerospike_xdr_throughput{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",service="172.17.0.6:3000"} 0 +aerospike_xdr_throughput{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",service="172.17.0.6:3000"} 0 +aerospike_xdr_throughput{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",ns="bar",service="172.17.0.6:3000"} 0 +aerospike_xdr_throughput{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",ns="bar_pmem",service="172.17.0.6:3000"} 0 +aerospike_xdr_throughput{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",ns="employees_flash",service="172.17.0.6:3000"} 0 +aerospike_xdr_throughput{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",ns="test",service="172.17.0.6:3000"} 0 +aerospike_xdr_throughput{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",ns="bar",service="172.17.0.6:3000"} 0 +aerospike_xdr_throughput{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",ns="bar_pmem",service="172.17.0.6:3000"} 0 +aerospike_xdr_throughput{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",ns="employees_flash",service="172.17.0.6:3000"} 0 +aerospike_xdr_throughput{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",ns="test",service="172.17.0.6:3000"} 0 +# HELP aerospike_xdr_uncompressed_pct uncompressed pct +# TYPE aerospike_xdr_uncompressed_pct gauge +aerospike_xdr_uncompressed_pct{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",service="172.17.0.6:3000"} 0 +aerospike_xdr_uncompressed_pct{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",service="172.17.0.6:3000"} 0 +aerospike_xdr_uncompressed_pct{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",ns="bar",service="172.17.0.6:3000"} 0 +aerospike_xdr_uncompressed_pct{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",ns="bar_pmem",service="172.17.0.6:3000"} 0 +aerospike_xdr_uncompressed_pct{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",ns="employees_flash",service="172.17.0.6:3000"} 0 +aerospike_xdr_uncompressed_pct{cluster_name="70_aus_perth_1",dc="172.17.0.8:8901",ns="test",service="172.17.0.6:3000"} 0 +aerospike_xdr_uncompressed_pct{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",ns="bar",service="172.17.0.6:3000"} 0 +aerospike_xdr_uncompressed_pct{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",ns="bar_pmem",service="172.17.0.6:3000"} 0 +aerospike_xdr_uncompressed_pct{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",ns="employees_flash",service="172.17.0.6:3000"} 0 +aerospike_xdr_uncompressed_pct{cluster_name="70_aus_perth_1",dc="64_asia_sng_dr_1",ns="test",service="172.17.0.6:3000"} 0 diff --git a/ape.toml b/internal/pkg/executors/tests/tests_data/mock_ape.toml similarity index 98% rename from ape.toml rename to internal/pkg/executors/tests/tests_data/mock_ape.toml index a6951bdc..a9f4a2f5 100644 --- a/ape.toml +++ b/internal/pkg/executors/tests/tests_data/mock_ape.toml @@ -27,10 +27,13 @@ root_ca = "" key_file_passphrase = "" # labels to add to the prometheus metrics for e.g. labels={zone="asia-south1-a", platform="google compute engine"} -labels = {latitude="0",longitude="0"} +labels = {} bind = ":9145" +# is exporter running in mock test mode +use_mock_datasource = 1 + # metrics server timeout in seconds timeout = 10 @@ -91,10 +94,10 @@ node_tls_name = "" # Applicable to 'user' and 'password' configurations. # database user -user = "" +user = "test_phani" # database password -password = "" +password = "test_phani" # authentication mode: internal (server authentication) [default], external (e.g., LDAP), pki. auth_mode = "" diff --git a/internal/pkg/executors/utils.go b/internal/pkg/executors/utils.go new file mode 100644 index 00000000..ae324523 --- /dev/null +++ b/internal/pkg/executors/utils.go @@ -0,0 +1,28 @@ +package executors + +import ( + "log" + "strings" +) + +var ( + descReplacerFunc = strings.NewReplacer("_", " ", "-", " ", ".", " ") + // TODO: re-check why we need below replacer, is it because of the replace char sequences + metricReplacerFunc = strings.NewReplacer(".", "_", "-", "_", " ", "_") +) + +// Utility functions + +func NormalizeDesc(s string) string { + return descReplacerFunc.Replace(s) +} + +func NormalizeMetric(s string) string { + return metricReplacerFunc.Replace(s) +} + +func handleErr(err error, message string) { + if err != nil { + log.Fatalf("%s: %v", message, err) + } +} diff --git a/internal/pkg/statprocessors/aerospike_stat.go b/internal/pkg/statprocessors/aerospike_stat.go new file mode 100644 index 00000000..985bf475 --- /dev/null +++ b/internal/pkg/statprocessors/aerospike_stat.go @@ -0,0 +1,65 @@ +package statprocessors + +import ( + "strings" + + "github.com/aerospike/aerospike-prometheus-exporter/internal/pkg/commons" +) + +// this is used as a prefix to qualify a metric while pushing to Prometheus or something +var PREFIX_AEROSPIKE = "aerospike_" + +type AerospikeStat struct { + // type of metric, name and allow/disallow + Context commons.ContextType + Name string + MType commons.MetricType + IsAllowed bool + IsConfig bool + + // Value, Label and Label values + Value float64 + Labels []string + LabelValues []string + + // ServerStatName string +} + +/** + * prefixs a Context with Aerospike qualifier + */ +func (as *AerospikeStat) QualifyMetricContext() string { + return PREFIX_AEROSPIKE + string(as.Context) +} + +/* +Utility, constructs a new AerospikeStat object with required checks like is-allowed, metric-type +we are sending both stat-name sent by server and massaged stat-name to this, so allowed-regex is applied on original-server-stat-name +very few stat-names will be message and are different from server-stat-name, +like, storage-engine.file[1].defrag_q, storage-engine.stripe[0].defrag_writes +*/ +func NewAerospikeStat(pContext commons.ContextType, pStatName string, allowed bool) AerospikeStat { + + // isAllowed := isMetricAllowed(pContext, pServerStatname) + mType := GetMetricType(pContext, pStatName) + + isConfig := false + if strings.Contains(pStatName, "-") { + isConfig = true + } + + return AerospikeStat{pContext, pStatName, mType, allowed, isConfig, 0.0, nil, nil} + // return AerospikeStat{pContext, pStatName, mType, isAllowed, isConfig, 0.0, nil, nil, pServerStatname} +} + +func (as *AerospikeStat) updateValues(value float64, labels []string, labelValues []string) { + as.resetValues() // resetting values, labels & label-values to nil to avoid any old values re-used/ re-shared + + as.Value = value + as.Labels = labels + as.LabelValues = labelValues +} + +func (as *AerospikeStat) resetValues() string { + return PREFIX_AEROSPIKE + string(as.Context) +} diff --git a/latency_parser.go b/internal/pkg/statprocessors/latency_info_parser.go similarity index 72% rename from latency_parser.go rename to internal/pkg/statprocessors/latency_info_parser.go index a0796a48..8306dd7c 100644 --- a/latency_parser.go +++ b/internal/pkg/statprocessors/latency_info_parser.go @@ -1,13 +1,76 @@ -package main +package statprocessors import ( + "bufio" + "fmt" "io" "strconv" "strings" + "github.com/aerospike/aerospike-prometheus-exporter/internal/pkg/commons" log "github.com/sirupsen/logrus" ) +// LatencyInfoParser provides a reader for Aerospike cluster's response for any of the metric +type LatencyInfoParser struct { + *bufio.Reader +} + +// NewInfoParser provides an instance of the InfoParser +func NewInfoParser(s string) *LatencyInfoParser { + return &LatencyInfoParser{bufio.NewReader(strings.NewReader(s))} +} + +// PeekAndExpect checks if the expected value is present without advancing the reader +func (ip *LatencyInfoParser) PeekAndExpect(s string) error { + bytes, err := ip.Peek(len(s)) + if err != nil { + return err + } + + v := string(bytes) + if v != s { + return fmt.Errorf("InfoParser: Wrong value. Peek expected %s, but found %s", s, v) + } + + return nil +} + +// Expect validates the expected value against the one returned by the InfoParser +// This advances the reader by length of the input string. +func (ip *LatencyInfoParser) Expect(s string) error { + bytes := make([]byte, len(s)) + + v, err := ip.Read(bytes) + if err != nil { + return err + } + + if string(bytes) != s { + return fmt.Errorf("InfoParser: Wrong value. Expected %s, found %d", s, v) + } + + return nil +} + +// ReadUntil reads bytes from the InfoParser by handeling some edge-cases +func (ip *LatencyInfoParser) ReadUntil(delim byte) (string, error) { + v, err := ip.ReadBytes(delim) + + switch len(v) { + case 0: + return string(v), err + case 1: + if v[0] == delim { + return "", err + } + return string(v), err + } + + return string(v[:len(v)-1]), err +} + +// Legacy latency stats handlig // Parse "latency:" info output. // // Format (with and without latency data) @@ -15,9 +78,9 @@ import ( // error-no-data-yet-or-back-too-small; // or, // {test}-write:; -func parseLatencyInfoLegacy(s string, latencyBucketsCount int) map[string]StatsMap { +func parseLatencyInfoLegacy(s string, latencyBucketsCount int) map[string]LatencyStatsMap { ip := NewInfoParser(s) - res := map[string]StatsMap{} + res := map[string]LatencyStatsMap{} for { namespaceName, operation, err := readNamespaceAndOperation(ip) @@ -97,18 +160,18 @@ func parseLatencyInfoLegacy(s string, latencyBucketsCount int) map[string]StatsM // Sanity check if len(bucketLabels) != len(bucketValuesFloat) { - log.Errorf("Error parsing latency values for node: `%s`. Bucket mismatch: buckets: `%v`, values: `%v`", fullHost, bucketLabels, bucketValuesFloat) + log.Errorf("Error parsing latency values for node: `%s`. Bucket mismatch: buckets: `%v`, values: `%v`", commons.GetFullHost(), bucketLabels, bucketValuesFloat) break } - stats := StatsMap{ + stats := LatencyStatsMap{ "bucketLabels": bucketLabels, "bucketValues": bucketValuesFloat, "timeUnit": "ms", } if res[namespaceName] == nil { - res[namespaceName] = StatsMap{ + res[namespaceName] = LatencyStatsMap{ operation: stats, } } else { @@ -119,7 +182,7 @@ func parseLatencyInfoLegacy(s string, latencyBucketsCount int) map[string]StatsM return res } -func readNamespaceAndOperation(ip *InfoParser) (string, string, error) { +func readNamespaceAndOperation(ip *LatencyInfoParser) (string, string, error) { if err := ip.PeekAndExpect("batch-index"); err == nil { operation, err := ip.ReadUntil(':') return "", operation, err @@ -155,9 +218,9 @@ func readNamespaceAndOperation(ip *InfoParser) (string, string, error) { // Format (with and without latency data) // {test}-write:msec,4234.9,28.75,7.40,1.63,0.26,0.03,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00; // {test}-read:; -func parseLatencyInfo(s string, latencyBucketsCount int) map[string]StatsMap { +func parseLatencyInfo(s string, latencyBucketsCount int) map[string]LatencyStatsMap { ip := NewInfoParser(s) - res := map[string]StatsMap{} + res := map[string]LatencyStatsMap{} for { namespaceName, operation, err := readNamespaceAndOperation(ip) @@ -227,18 +290,18 @@ func parseLatencyInfo(s string, latencyBucketsCount int) map[string]StatsMap { // Sanity check if len(bucketLabels) != len(bucketValuesFloat) { - log.Errorf("Error parsing latency values for node: `%s`. Bucket mismatch: buckets: `%v`, values: `%v`", fullHost, bucketLabels, bucketValuesFloat) + log.Errorf("Error parsing latency values for node: `%s`. Bucket mismatch: buckets: `%v`, values: `%v`", commons.GetFullHost(), bucketLabels, bucketValuesFloat) break } - stats := StatsMap{ + stats := LatencyStatsMap{ "bucketLabels": bucketLabels, "bucketValues": bucketValuesFloat, "timeUnit": timeUnit, } if res[namespaceName] == nil { - res[namespaceName] = StatsMap{ + res[namespaceName] = LatencyStatsMap{ operation: stats, } } else { diff --git a/internal/pkg/statprocessors/latency_stats_map.go b/internal/pkg/statprocessors/latency_stats_map.go new file mode 100644 index 00000000..e9cf2898 --- /dev/null +++ b/internal/pkg/statprocessors/latency_stats_map.go @@ -0,0 +1,44 @@ +package statprocessors + +type LatencyStatsMap map[string]interface{} + +// Value should be an int64 or a convertible string; otherwise defValue is returned +// this function never panics +func (s LatencyStatsMap) TryString(name string, defValue string, aliases ...string) string { + field := s.Get(name, aliases...) + if field != nil { + if value, ok := field.(string); ok { + return value + } + } + return defValue +} + +func (s LatencyStatsMap) Get(name string, aliases ...string) interface{} { + if val, exists := s[name]; exists { + return val + } + + for _, alias := range aliases { + if val, exists := s[alias]; exists { + return val + } + } + + return nil +} + +// Value should be an float64 or a convertible string; otherwise defValue is returned +// this function never panics +func (s LatencyStatsMap) TryFloat(name string, defValue float64, aliases ...string) float64 { + field := s.Get(name, aliases...) + if field != nil { + if value, ok := field.(float64); ok { + return value + } + if value, ok := field.(int64); ok { + return float64(value) + } + } + return defValue +} diff --git a/internal/pkg/statprocessors/sp_host_systeminfo.go b/internal/pkg/statprocessors/sp_host_systeminfo.go new file mode 100644 index 00000000..104c6c0e --- /dev/null +++ b/internal/pkg/statprocessors/sp_host_systeminfo.go @@ -0,0 +1,168 @@ +package statprocessors + +import ( + "strings" + + log "github.com/sirupsen/logrus" + + "github.com/aerospike/aerospike-prometheus-exporter/internal/pkg/commons" + "github.com/aerospike/aerospike-prometheus-exporter/internal/pkg/dataprovider" +) + +func RefreshSystemInfo() ([]AerospikeStat, error) { + arrSysInfoStats := []AerospikeStat{} + + arrSysInfoStats = append(arrSysInfoStats, getFDInfo()...) + arrSysInfoStats = append(arrSysInfoStats, getMemInfo()...) + arrSysInfoStats = append(arrSysInfoStats, getNetStatInfo()...) + arrSysInfoStats = append(arrSysInfoStats, getNetworkInfo()...) + + return arrSysInfoStats, nil +} + +func getFDInfo() []AerospikeStat { + arrSysInfoStats := []AerospikeStat{} + clusterName := ClusterName + service := Service + + labelValues := []string{clusterName, service} + fileStatLabels := []string{commons.METRIC_LABEL_CLUSTER_NAME, commons.METRIC_LABEL_SERVICE} + + fileFDStats := dataprovider.GetSystemProvider().GetFileFD() + + statName := "allocated" + statValue := fileFDStats[statName] + value, err := commons.TryConvert(statValue) + if err != nil { + log.Error("Error while converting value of stat: ", statName, " and converted value is ", statValue) + return arrSysInfoStats + } + + allowed := isMetricAllowed(commons.CTX_SYSINFO_FILEFD_STATS, statName) + sysMetric := NewAerospikeStat(commons.CTX_SYSINFO_FILEFD_STATS, statName, allowed) + sysMetric.Labels = fileStatLabels + sysMetric.LabelValues = labelValues + sysMetric.Value = value + + arrSysInfoStats = append(arrSysInfoStats, sysMetric) + + return arrSysInfoStats +} + +func getMemInfo() []AerospikeStat { + arrSysInfoStats := []AerospikeStat{} + + memStats := dataprovider.GetSystemProvider().GetMemInfoStats() + + memInfoLabels := []string{commons.METRIC_LABEL_CLUSTER_NAME, commons.METRIC_LABEL_SERVICE} + for statName, statValue := range memStats { + clusterName := ClusterName + service := Service + value, err := commons.TryConvert(statValue) + if err != nil { + log.Error("Error while converting value of stat: ", statName, " and converted value is ", statValue) + continue + } + + labelValues := []string{clusterName, service} + + metricName := strings.ToLower(statName) + "_bytes" + allowed := isMetricAllowed(commons.CTX_SYSINFO_MEMORY_STATS, statName) + sysMetric := NewAerospikeStat(commons.CTX_SYSINFO_MEMORY_STATS, metricName, allowed) + sysMetric.Labels = memInfoLabels + sysMetric.LabelValues = labelValues + sysMetric.Value = value + + arrSysInfoStats = append(arrSysInfoStats, sysMetric) + } + + return arrSysInfoStats +} + +func getNetStatInfo() []AerospikeStat { + arrSysInfoStats := []AerospikeStat{} + + netStatInfoLabels := []string{} + netStatInfoLabels = append(netStatInfoLabels, commons.METRIC_LABEL_CLUSTER_NAME, commons.METRIC_LABEL_SERVICE) + + snmpStats := dataprovider.GetSystemProvider().GetNetStatInfo() + + //Net SNMP - includes TCP metrics like active_conn, established, retransmit etc., + clusterName := ClusterName + service := Service + labelValues := []string{clusterName, service} + + for statName, statValue := range snmpStats { + + value, err := commons.TryConvert(statValue) + if err != nil { + log.Error("Error while converting value of stat: ", statName, " and converted value is ", statValue) + continue + } + + allowed := isMetricAllowed(commons.CTX_SYSINFO_NET_STATS, statName) + sysMetric := NewAerospikeStat(commons.CTX_SYSINFO_NET_STATS, statName, allowed) + sysMetric.Labels = netStatInfoLabels + sysMetric.LabelValues = labelValues + sysMetric.Value = value + + arrSysInfoStats = append(arrSysInfoStats, sysMetric) + } + + return arrSysInfoStats +} + +func getNetworkInfo() []AerospikeStat { + + arrSysInfoStats := []AerospikeStat{} + + networkLabels := []string{commons.METRIC_LABEL_CLUSTER_NAME, commons.METRIC_LABEL_SERVICE, commons.METRIC_LABEL_DEVICE} + + arrReceiveStats, arrTransferStats := dataprovider.GetSystemProvider().GetNetDevStats() + + // netdev receive + clusterName := ClusterName + service := Service + for _, stats := range arrReceiveStats { + deviceName := stats["device_name"] + statName := "receive_bytes_total" + value, err := commons.TryConvert(stats[statName]) + if err != nil { + log.Debug("Error while converting value of stat: ", statName, " and converted value is ", stats[statName]) + continue + } + + labelValues := []string{clusterName, service, deviceName} + + allowed := isMetricAllowed(commons.CTX_SYSINFO_NETWORK_STATS, statName) + sysMetric := NewAerospikeStat(commons.CTX_SYSINFO_NETWORK_STATS, statName, allowed) + sysMetric.Labels = networkLabels + sysMetric.LabelValues = labelValues + sysMetric.Value = value + + arrSysInfoStats = append(arrSysInfoStats, sysMetric) + + } + + // netdev transfer + for _, stats := range arrTransferStats { + deviceName := stats["device_name"] + statName := "transfer_bytes_total" + value, err := commons.TryConvert(stats[statName]) + if err != nil { + log.Debug("Error while converting value of stat: ", statName, " and converted value is ", stats[statName]) + continue + } + + labelValues := []string{clusterName, service, deviceName} + allowed := isMetricAllowed(commons.CTX_SYSINFO_NETWORK_STATS, statName) + sysMetric := NewAerospikeStat(commons.CTX_SYSINFO_NETWORK_STATS, statName, allowed) + sysMetric.Labels = networkLabels + sysMetric.LabelValues = labelValues + sysMetric.Value = value + + arrSysInfoStats = append(arrSysInfoStats, sysMetric) + } + + return arrSysInfoStats +} diff --git a/internal/pkg/statprocessors/sp_latency.go b/internal/pkg/statprocessors/sp_latency.go new file mode 100644 index 00000000..614a7e09 --- /dev/null +++ b/internal/pkg/statprocessors/sp_latency.go @@ -0,0 +1,181 @@ +package statprocessors + +import ( + "strings" + + commons "github.com/aerospike/aerospike-prometheus-exporter/internal/pkg/commons" + "github.com/aerospike/aerospike-prometheus-exporter/internal/pkg/config" + + log "github.com/sirupsen/logrus" +) + +type LatencyStatsProcessor struct { +} + +func (lw *LatencyStatsProcessor) PassOneKeys() []string { + // return []string{"build"} + log.Tracef("latency-passonekeys:nil") + + return nil +} + +func (lw *LatencyStatsProcessor) PassTwoKeys(rawMetrics map[string]string) (latencyCommands []string) { + + // return if this feature is disabled. + if config.Cfg.Aerospike.DisableLatenciesMetrics { + // disabled + return nil + } + + latencyCommands = []string{"latencies:", "latency:"} + + ok, err := BuildVersionGreaterThanOrEqual(rawMetrics, "5.1.0.0") + if err != nil { + log.Warn(err) + return latencyCommands + } + + if ok { + return lw.getLatenciesCommands(rawMetrics) + } + + // legacy / old version + log.Tracef("latency-passtwokeys:%s", []string{"latency:"}) + return []string{"latency:"} +} + +func (lw *LatencyStatsProcessor) getLatenciesCommands(rawMetrics map[string]string) []string { + var commands = []string{"latencies:"} + + // below latency-command are added to the auto-enabled list, i.e. latencies: command + // re-repl is auto-enabled, but not coming as part of latencies: list, hence we are adding it explicitly + // + // Hashmap content format := namespace- = <0/1> + for latencyHistName := range LatencyBenchmarks { + histTokens := strings.Split(latencyHistName, "-") + + histCommand := "latencies:hist=" + + // service-enable-benchmarks-fabric or ns-enable-benchmarks-ops-sub or service-enable-hist-info + if histTokens[0] != "service" { + histCommand = histCommand + "{" + histTokens[0] + "}-" + } + + if strings.Contains(latencyHistName, "enable-benchmarks-") { + histCommand = histCommand + strings.Join(histTokens[2:], "-") + } else { + histCommand = histCommand + strings.Join(histTokens[3:], "-") + } + + commands = append(commands, histCommand) + } + + log.Tracef("latency-passtwokeys:%s", commands) + + return commands +} + +// checks if a stat can be considered for latency stat retrieval +func isStatLatencyHistRelated(stat string) bool { + // is not enable-benchmarks-storage and (enable-benchmarks-* or enable-hist-*) + return (!strings.Contains(stat, "enable-benchmarks-storage")) && (strings.Contains(stat, "enable-benchmarks-") || + strings.Contains(stat, "enable-hist-")) // hist-proxy & hist-info - both at service level +} + +func (lw *LatencyStatsProcessor) Refresh(infoKeys []string, rawMetrics map[string]string) ([]AerospikeStat, error) { + + allowedLatenciesList := make(map[string]struct{}) + blockedLatenciessList := make(map[string]struct{}) + + if config.Cfg.Aerospike.LatenciesMetricsAllowlistEnabled { + for _, allowedLatencies := range config.Cfg.Aerospike.LatenciesMetricsAllowlist { + allowedLatenciesList[allowedLatencies] = struct{}{} + } + } + + if len(config.Cfg.Aerospike.LatenciesMetricsBlocklist) > 0 { + for _, blockedLatencies := range config.Cfg.Aerospike.LatenciesMetricsBlocklist { + blockedLatenciessList[blockedLatencies] = struct{}{} + } + } + + // log.Tracef("latencies-stats:latencies:hist={test}-benchmarks-read -- %+v", rawMetrics["latencies:hist={test}-benchmarks-read"]) + log.Tracef("latency-stats:%+v", rawMetrics["latency:"]) + var allMetricsToSend = []AerospikeStat{} + + // loop all the latency infokeys + for ik := range infoKeys { + latencyMetricsToSend := parseSingleLatenciesKey(infoKeys[ik], rawMetrics, allowedLatenciesList, blockedLatenciessList) + allMetricsToSend = append(allMetricsToSend, latencyMetricsToSend...) + } + + return allMetricsToSend, nil +} + +func parseSingleLatenciesKey(singleLatencyKey string, rawMetrics map[string]string, + allowedLatenciesList map[string]struct{}, blockedLatenciessList map[string]struct{}) []AerospikeStat { + + var latencyStats map[string]LatencyStatsMap + + if rawMetrics["latencies:"] != "" { + // in latest aerospike server>5.1 version, latencies: will always come as infokey, so no need to check other latency commands + latencyStats = parseLatencyInfo(rawMetrics[singleLatencyKey], int(config.Cfg.Aerospike.LatencyBucketsCount)) + } else { + latencyStats = parseLatencyInfoLegacy(rawMetrics["latency:"], int(config.Cfg.Aerospike.LatencyBucketsCount)) + } + + // log.Tracef("latency-stats:%+v", latencyStats) + log.Tracef("latencies-stats:%+v:%+v", singleLatencyKey, rawMetrics[singleLatencyKey]) + + var latencyMetricsToSend = []AerospikeStat{} + + for namespaceName, nsLatencyStats := range latencyStats { + for operation, opLatencyStats := range nsLatencyStats { + + // operation comes from server as histogram-names + if config.Cfg.Aerospike.LatenciesMetricsAllowlistEnabled { + if _, ok := allowedLatenciesList[operation]; !ok { + continue + } + } + + if len(config.Cfg.Aerospike.LatenciesMetricsBlocklist) > 0 { + if _, ok := blockedLatenciessList[operation]; ok { + continue + } + } + + for i, labelValue := range opLatencyStats.(LatencyStatsMap)["bucketLabels"].([]string) { + // aerospike_latencies___bucket metric - Less than or equal to histogram buckets + + labels := []string{commons.METRIC_LABEL_CLUSTER_NAME, commons.METRIC_LABEL_SERVICE, commons.METRIC_LABEL_NS, commons.METRIC_LABEL_LE} + labelValues := []string{ClusterName, Service, namespaceName, labelValue} + pv := opLatencyStats.(LatencyStatsMap)["bucketValues"].([]float64)[i] + + statName := operation + "_" + opLatencyStats.(LatencyStatsMap)["timeUnit"].(string) + "_bucket" + + allowed := isMetricAllowed(commons.CTX_LATENCIES, statName) + asMetric := NewAerospikeStat(commons.CTX_LATENCIES, statName, allowed) + asMetric.updateValues(pv, labels, labelValues) + latencyMetricsToSend = append(latencyMetricsToSend, asMetric) + + // aerospike_latencies___count metric + if i == 0 { + labels := []string{commons.METRIC_LABEL_CLUSTER_NAME, commons.METRIC_LABEL_SERVICE, commons.METRIC_LABEL_NS} + labelValues := []string{ClusterName, Service, namespaceName} + pv := opLatencyStats.(LatencyStatsMap)["bucketValues"].([]float64)[i] + + statName := operation + "_" + opLatencyStats.(LatencyStatsMap)["timeUnit"].(string) + "_count" + + allowed := isMetricAllowed(commons.CTX_LATENCIES, statName) + asMetric := NewAerospikeStat(commons.CTX_LATENCIES, statName, allowed) + asMetric.updateValues(pv, labels, labelValues) + latencyMetricsToSend = append(latencyMetricsToSend, asMetric) + + } + } + } + } + + return latencyMetricsToSend +} diff --git a/watcher_namespaces.go b/internal/pkg/statprocessors/sp_namespaces.go similarity index 60% rename from watcher_namespaces.go rename to internal/pkg/statprocessors/sp_namespaces.go index 13231c54..de364b65 100644 --- a/watcher_namespaces.go +++ b/internal/pkg/statprocessors/sp_namespaces.go @@ -1,19 +1,19 @@ -package main +package statprocessors import ( "regexp" "strings" "time" - "github.com/prometheus/client_golang/prometheus" + commons "github.com/aerospike/aerospike-prometheus-exporter/internal/pkg/commons" log "github.com/sirupsen/logrus" ) var regexToExtractArrayStats = map[string]string{ - STORAGE_ENGINE: "storage\\-engine\\.(?Pfile|device|stripe)\\[(?P\\d+)\\]\\.(?P.+)", - INDEX_TYPE: "index\\-type\\.(?Pmount)\\[(?P\\d+)\\]\\.(?P.+)", - SINDEX_TYPE: "sindex\\-type\\.(?Pmount)\\[(?P\\d+)\\]\\.(?P.+)", + commons.STORAGE_ENGINE: "storage\\-engine\\.(?Pfile|device|stripe)\\[(?P\\d+)\\]\\.(?P.+)", + commons.INDEX_TYPE: "index\\-type\\.(?Pmount)\\[(?P\\d+)\\]\\.(?P.+)", + commons.SINDEX_TYPE: "sindex\\-type\\.(?Pmount)\\[(?P\\d+)\\]\\.(?P.+)", } // index-pressure related variables @@ -38,18 +38,17 @@ const ( TYPE_FLASH = "flash" ) -type NamespaceWatcher struct { +type NamespaceStatsProcessor struct { namespaceStats map[string]AerospikeStat } -func (nw *NamespaceWatcher) describe(ch chan<- *prometheus.Desc) {} - -func (nw *NamespaceWatcher) passOneKeys() []string { +func (nw *NamespaceStatsProcessor) PassOneKeys() []string { // we are sending key "namespaces", server returns all the configs and stats in single call, unlike node-stats, xdr + log.Tracef("namespace-passonekeys:%s", []string{KEY_NS_METADATA}) return []string{KEY_NS_METADATA} } -func (nw *NamespaceWatcher) passTwoKeys(rawMetrics map[string]string) []string { +func (nw *NamespaceStatsProcessor) PassTwoKeys(rawMetrics map[string]string) []string { s := rawMetrics[KEY_NS_METADATA] list := strings.Split(s, ";") @@ -66,31 +65,38 @@ func (nw *NamespaceWatcher) passTwoKeys(rawMetrics map[string]string) []string { idxPressurePreviousFetchTime = time.Now() } + log.Tracef("namespace-passtwokeys:%s", infoKeys) + return infoKeys } -func (nw *NamespaceWatcher) refresh(ott *Observer, infoKeys []string, rawMetrics map[string]string, ch chan<- prometheus.Metric) error { +func (nw *NamespaceStatsProcessor) Refresh(infoKeys []string, rawMetrics map[string]string) ([]AerospikeStat, error) { + if nw.namespaceStats == nil { nw.namespaceStats = make(map[string]AerospikeStat) } + var allMetricsToSend = []AerospikeStat{} for _, infoKey := range infoKeys { // we get 2 info-key Types - examples: index-pressure or namespace/test, namespace/materials if strings.HasPrefix(infoKey, KEY_NS_NAMESPACE) { - nw.refreshNamespaceStats(infoKey, infoKeys, rawMetrics, ch) + tempNsMetricsToSend := nw.refreshNamespaceStats(infoKey, infoKeys, rawMetrics) + allMetricsToSend = append(allMetricsToSend, tempNsMetricsToSend...) + } else if strings.HasPrefix(infoKey, KEY_NS_INDEX_PRESSURE) { // namespace/ will be multiple times according to the # of namespaces configured in the server - nw.refreshIndexPressure(infoKey, infoKeys, rawMetrics, ch) + tempNsMetricsToSend := nw.refreshIndexPressure(infoKey, infoKeys, rawMetrics) + allMetricsToSend = append(allMetricsToSend, tempNsMetricsToSend...) } } - return nil + return allMetricsToSend, nil } // handle IndexPressure infoKey -func (nw *NamespaceWatcher) refreshIndexPressure(singleInfoKey string, infoKeys []string, rawMetrics map[string]string, ch chan<- prometheus.Metric) { +func (nw *NamespaceStatsProcessor) refreshIndexPressure(singleInfoKey string, infoKeys []string, rawMetrics map[string]string) []AerospikeStat { indexPresssureStats := rawMetrics[singleInfoKey] @@ -103,6 +109,8 @@ func (nw *NamespaceWatcher) refreshIndexPressure(singleInfoKey string, infoKeys // metric-names - first element is un-used, as we send namespace as a label, this also keeps the index-numbers same as the server-stats indexPressureMetricNames := []string{"index_pressure_namespace", "index_pressure_total_memory", "index_pressure_dirty_memory"} + var allMetricsToSend = []AerospikeStat{} + // loop thru each namespace values, // Server index-pressure output: "test:0:0", "bar_device:0:0" // refer: https://docs.aerospike.com/reference/info#index-pressure @@ -114,14 +122,14 @@ func (nw *NamespaceWatcher) refreshIndexPressure(singleInfoKey string, infoKeys values := strings.Split(nsIdxPressureValues, ":") nsName := values[0] - labels := []string{METRIC_LABEL_CLUSTER_NAME, METRIC_LABEL_SERVICE, METRIC_LABEL_NS} - labelValues := []string{rawMetrics[ikClusterName], rawMetrics[ikService], nsName} + labels := []string{commons.METRIC_LABEL_CLUSTER_NAME, commons.METRIC_LABEL_SERVICE, commons.METRIC_LABEL_NS} + labelValues := []string{rawMetrics[Infokey_ClusterName], rawMetrics[Infokey_Service], nsName} // Server index-pressure output: test:0:0;bar_device:0:0;materials:0:0 // ignore first element - namespace for index := 1; index < len(values); index++ { - pv, err := tryConvert(values[index]) + pv, err := commons.TryConvert(values[index]) if err != nil { continue } @@ -130,32 +138,40 @@ func (nw *NamespaceWatcher) refreshIndexPressure(singleInfoKey string, infoKeys asMetric, exists := nw.namespaceStats[statName] if !exists { - asMetric = newAerospikeStat(CTX_NAMESPACE, statName) + allowed := isMetricAllowed(commons.CTX_NAMESPACE, statName) + asMetric = NewAerospikeStat(commons.CTX_NAMESPACE, statName, allowed) nw.namespaceStats[statName] = asMetric } + // asMetric.resetValues() // resetting values, labels & label-values to nil to avoid any old values re-used/ re-shared // push to prom-channel - pushToPrometheus(asMetric, pv, labels, labelValues, ch) + // commons.PushToPrometheus(asMetric, pv, labels, labelValues, ch) + asMetric.updateValues(pv, labels, labelValues) + allMetricsToSend = append(allMetricsToSend, asMetric) } } + + return allMetricsToSend } // all namespace stats (except index-pressure) -func (nw *NamespaceWatcher) refreshNamespaceStats(singleInfoKey string, infoKeys []string, rawMetrics map[string]string, ch chan<- prometheus.Metric) { +func (nw *NamespaceStatsProcessor) refreshNamespaceStats(singleInfoKey string, infoKeys []string, rawMetrics map[string]string) []AerospikeStat { // extract namespace from info-command, construct: namespace/test, namespace/bar nsName := strings.ReplaceAll(singleInfoKey, (KEY_NS_NAMESPACE + "/"), "") log.Tracef("namespace-stats:%s:%s", nsName, rawMetrics[singleInfoKey]) - stats := parseStats(rawMetrics[singleInfoKey], ";") + stats := commons.ParseStats(rawMetrics[singleInfoKey], ";") var labels []string var labelValues []string constructedStatname := "" + var nsMetricsToSend = []AerospikeStat{} + for stat, value := range stats { - pv, err := tryConvert(value) + pv, err := commons.TryConvert(value) if err != nil { continue } @@ -165,34 +181,34 @@ func (nw *NamespaceWatcher) refreshNamespaceStats(singleInfoKey string, infoKeys // default: aerospike_namespace_ constructedStatname = stat - labels = []string{METRIC_LABEL_CLUSTER_NAME, METRIC_LABEL_SERVICE, METRIC_LABEL_NS} - labelValues = []string{rawMetrics[ikClusterName], rawMetrics[ikService], nsName} + labels = []string{commons.METRIC_LABEL_CLUSTER_NAME, commons.METRIC_LABEL_SERVICE, commons.METRIC_LABEL_NS} + labelValues = []string{rawMetrics[Infokey_ClusterName], rawMetrics[Infokey_Service], nsName} if isArrayType { - constructedStatname, labels, labelValues = nw.handleArrayStats(nsName, stat, pv, stats, deviceType, rawMetrics, ch) + constructedStatname, labels, labelValues = nw.handleArrayStats(nsName, stat, pv, stats, deviceType, rawMetrics) } // check and include persistance-type if they are defined/found - indexType := stats[INDEX_TYPE] - sindexType := stats[SINDEX_TYPE] - storageEngine := stats[STORAGE_ENGINE] + indexType := stats[commons.INDEX_TYPE] + sindexType := stats[commons.SINDEX_TYPE] + storageEngine := stats[commons.STORAGE_ENGINE] // if stat is index-type or sindex-type , append addl label - if strings.HasPrefix(deviceType, INDEX_TYPE) && len(indexType) > 0 { - labels = append(labels, METRIC_LABEL_INDEX) + if strings.HasPrefix(deviceType, commons.INDEX_TYPE) && len(indexType) > 0 { + labels = append(labels, commons.METRIC_LABEL_INDEX) labelValues = append(labelValues, indexType) // check is it flash or pmem or shmem nw.setFlagFlashStatSentByServer(indexType) - } else if strings.HasPrefix(deviceType, SINDEX_TYPE) && len(sindexType) > 0 { - labels = append(labels, METRIC_LABEL_SINDEX) + } else if strings.HasPrefix(deviceType, commons.SINDEX_TYPE) && len(sindexType) > 0 { + labels = append(labels, commons.METRIC_LABEL_SINDEX) labelValues = append(labelValues, sindexType) // check is it flash or pmem or shmem nw.setFlagFlashStatSentByServer(sindexType) } else if len(storageEngine) > 0 { - labels = append(labels, METRIC_LABEL_STORAGE_ENGINE) + labels = append(labels, commons.METRIC_LABEL_STORAGE_ENGINE) labelValues = append(labelValues, storageEngine) } @@ -201,12 +217,27 @@ func (nw *NamespaceWatcher) refreshNamespaceStats(singleInfoKey string, infoKeys asMetric, exists := nw.namespaceStats[constructedStatname] if !exists { - asMetric = newAerospikeStat(CTX_NAMESPACE, constructedStatname) + allowed := isMetricAllowed(commons.CTX_NAMESPACE, stat) + asMetric = NewAerospikeStat(commons.CTX_NAMESPACE, constructedStatname, allowed) nw.namespaceStats[constructedStatname] = asMetric } // push to prom-channel - pushToPrometheus(asMetric, pv, labels, labelValues, ch) + // commons.PushToPrometheus(asMetric, pv, labels, labelValues, ch) + asMetric.updateValues(pv, labels, labelValues) + nsMetricsToSend = append(nsMetricsToSend, asMetric) + } + + // below code section is to ensure ns+latencies combination is handled during LatencyWatcher + // + // check and if latency benchmarks stat - is it enabled (bool true==1 and false==0 after conversion) + if isStatLatencyHistRelated(stat) { + // remove old value as microbenchmark may get enabled / disable on-the-fly at server so we cannot rely on value + delete(LatencyBenchmarks, nsName+"-"+stat) + + if pv == 1 { + LatencyBenchmarks[nsName+"-"+stat] = stat + } } // below code section is to ensure ns+latencies combination is handled during LatencyWatcher @@ -221,9 +252,10 @@ func (nw *NamespaceWatcher) refreshNamespaceStats(singleInfoKey string, infoKeys } } - // // append default re-repl, as this auto-enabled, but not coming as part of latencies, we need this as namespace is available only here - // LatencyBenchmarks[nsName+"-latency-hist-re-repl"] = "{" + nsName + "}-re-repl" + // append default re-repl, as this auto-enabled, but not coming as part of latencies, we need this as namespace is available only here + LatencyBenchmarks[nsName+"-latency-hist-re-repl"] = "{" + nsName + "}-re-repl" + return nsMetricsToSend } // Utility to handle array style stats like storage-engine or index-type etc., @@ -232,9 +264,9 @@ func (nw *NamespaceWatcher) refreshNamespaceStats(singleInfoKey string, infoKeys // Each part of the stat is split into 4 groups using a regex, // each value of the 4 groups represents type like stats-type, index-number, sub-stat-name (like file[0].age) // - example: group[0]= , group[1]= stat-type, group[2]= array-index, group[3]= sub-stat-name -func (nw *NamespaceWatcher) handleArrayStats(nsName string, statToProcess string, pv float64, - allNamespaceStats map[string]string, deviceType string, rawMetrics map[string]string, - ch chan<- prometheus.Metric) (string, []string, []string) { +func (nw *NamespaceStatsProcessor) handleArrayStats(nsName string, statToProcess string, pv float64, + allNamespaceStats map[string]string, deviceType string, + rawMetrics map[string]string) (string, []string, []string) { regexStr := regexToExtractArrayStats[deviceType] dynamicExtractor := regexp.MustCompile(regexStr) @@ -254,8 +286,8 @@ func (nw *NamespaceWatcher) handleArrayStats(nsName string, statToProcess string compositeStatName := deviceType + "_" + statType + "_" + statName deviceOrFileName := allNamespaceStats[deviceType+"."+statType+"["+statIndex+"]"] - labels := []string{METRIC_LABEL_CLUSTER_NAME, METRIC_LABEL_SERVICE, METRIC_LABEL_NS, statType + "_index", statType} - labelValues := []string{rawMetrics[ikClusterName], rawMetrics[ikService], nsName, statIndex, deviceOrFileName} + labels := []string{commons.METRIC_LABEL_CLUSTER_NAME, commons.METRIC_LABEL_SERVICE, commons.METRIC_LABEL_NS, statType + "_index", statType} + labelValues := []string{rawMetrics[Infokey_ClusterName], rawMetrics[Infokey_Service], nsName, statIndex, deviceOrFileName} return compositeStatName, labels, labelValues @@ -266,18 +298,18 @@ func (nw *NamespaceWatcher) handleArrayStats(nsName string, statToProcess string // checks if the given stat is a storage-engine or index-type, depending on which type we decide how to process // // multiple values are returnd by server example: storage-engine.file[0]. -func (nw *NamespaceWatcher) checkStatPersistanceType(statToProcess string, +func (nw *NamespaceStatsProcessor) checkStatPersistanceType(statToProcess string, allNamespaceStats map[string]string) (string, bool) { // if starts-with "index-type", then // return index-type, - if strings.HasPrefix(statToProcess, INDEX_TYPE) { - return INDEX_TYPE, strings.Contains(statToProcess, "[") - } else if strings.HasPrefix(statToProcess, SINDEX_TYPE) { - return SINDEX_TYPE, strings.Contains(statToProcess, "[") - } else if strings.HasPrefix(statToProcess, STORAGE_ENGINE) { - return STORAGE_ENGINE, strings.Contains(statToProcess, "[") + if strings.HasPrefix(statToProcess, commons.INDEX_TYPE) { + return commons.INDEX_TYPE, strings.Contains(statToProcess, "[") + } else if strings.HasPrefix(statToProcess, commons.SINDEX_TYPE) { + return commons.SINDEX_TYPE, strings.Contains(statToProcess, "[") + } else if strings.HasPrefix(statToProcess, commons.STORAGE_ENGINE) { + return commons.STORAGE_ENGINE, strings.Contains(statToProcess, "[") } return "", false @@ -285,7 +317,7 @@ func (nw *NamespaceWatcher) checkStatPersistanceType(statToProcess string, // utility function to check if watcher-namespace needs to issue infoKeys command during passTwo // index-pressure is a costly command at server side hence we are limiting to every few minutes ( mentioned in seconds) -func (nw *NamespaceWatcher) canSendIndexPressureInfoKey() bool { +func (nw *NamespaceStatsProcessor) canSendIndexPressureInfoKey() bool { // difference between current-time and last-fetch, if its > defined-value, then true timeDiff := time.Since(idxPressurePreviousFetchTime) @@ -299,7 +331,7 @@ func (nw *NamespaceWatcher) canSendIndexPressureInfoKey() bool { } // utility will check if the given value is flash and sets the flag -func (nw *NamespaceWatcher) setFlagFlashStatSentByServer(idxType string) { +func (nw *NamespaceStatsProcessor) setFlagFlashStatSentByServer(idxType string) { // index-type/sindex-type, can have values like shmem(default), flash, so if the value is flash, then set the flag to refresh in next run // this check is required only if bool-fetch-indexpressure is false, because // we can have different values for each namespace, so once this flag is set, no need to change this further diff --git a/internal/pkg/statprocessors/sp_node_stats.go b/internal/pkg/statprocessors/sp_node_stats.go new file mode 100644 index 00000000..f1355a90 --- /dev/null +++ b/internal/pkg/statprocessors/sp_node_stats.go @@ -0,0 +1,103 @@ +package statprocessors + +import ( + "github.com/aerospike/aerospike-prometheus-exporter/internal/pkg/commons" + + log "github.com/sirupsen/logrus" +) + +const ( + KEY_SERVICE_CONFIG = "get-config:context=service" + KEY_SERVICE_STATISTICS = "statistics" +) + +type NodeStatsProcessor struct { + nodeMetrics map[string]AerospikeStat +} + +func (sw *NodeStatsProcessor) PassOneKeys() []string { + log.Tracef("node-passonekeys:nil") + + return nil +} + +func (sw *NodeStatsProcessor) PassTwoKeys(rawMetrics map[string]string) []string { + // we need to fetch both configs and stat + log.Tracef("node-passtwokeys:%s", []string{KEY_SERVICE_CONFIG, KEY_SERVICE_STATISTICS}) + + return []string{KEY_SERVICE_CONFIG, KEY_SERVICE_STATISTICS} +} + +// All (allowed/blocked) node stats. Based on the config.Aerospike.NodeMetricsAllowlist, config.Aerospike.NodeMetricsBlocklist. +// var nodeMetrics = make(map[string]AerospikeStat) + +func (sw *NodeStatsProcessor) Refresh(infoKeys []string, rawMetrics map[string]string) ([]AerospikeStat, error) { + + if sw.nodeMetrics == nil { + sw.nodeMetrics = make(map[string]AerospikeStat) + } + + nodeConfigs := rawMetrics[KEY_SERVICE_CONFIG] + nodeStats := rawMetrics[KEY_SERVICE_STATISTICS] + log.Tracef("node-configs:%s", nodeConfigs) + log.Tracef("node-stats:%s", nodeStats) + + clusterName := rawMetrics[Infokey_ClusterName] + service := rawMetrics[Infokey_Service] + + // we are sending configs and stats in same refresh call, as both are being sent to prom, instead of doing prom-push in 2 functions + // handle configs + var allMetricsToSend = []AerospikeStat{} + + lCfgMetricsToSend := sw.handleRefresh(nodeConfigs, clusterName, service) + + // handle stats + lStatMetricsToSend := sw.handleRefresh(nodeStats, clusterName, service) + + // merge both array into single + allMetricsToSend = append(allMetricsToSend, lCfgMetricsToSend...) + allMetricsToSend = append(allMetricsToSend, lStatMetricsToSend...) + + return allMetricsToSend, nil +} + +func (sw *NodeStatsProcessor) handleRefresh(nodeRawMetrics string, clusterName string, service string) []AerospikeStat { + + stats := commons.ParseStats(nodeRawMetrics, ";") + + var refreshMetricsToSend = []AerospikeStat{} + + for stat, value := range stats { + pv, err := commons.TryConvert(value) + if err != nil { + continue + } + asMetric, exists := sw.nodeMetrics[stat] + + if !exists { + allowed := isMetricAllowed(commons.CTX_NODE_STATS, stat) + asMetric = NewAerospikeStat(commons.CTX_NODE_STATS, stat, allowed) + sw.nodeMetrics[stat] = asMetric + } + + labels := []string{commons.METRIC_LABEL_CLUSTER_NAME, commons.METRIC_LABEL_SERVICE} + labelValues := []string{clusterName, service} + + // pushToPrometheus(asMetric, pv, labels, labelsValues) + asMetric.updateValues(pv, labels, labelValues) + refreshMetricsToSend = append(refreshMetricsToSend, asMetric) + + // check and if latency benchmarks stat, is it enabled (bool true==1 and false==0 after conversion) + if isStatLatencyHistRelated(stat) { + + // remove old value as microbenchmark may get enabled / disable on-the-fly at server so we cannot rely on value + delete(LatencyBenchmarks, "service-"+stat) + + if pv == 1 { + LatencyBenchmarks["service-"+stat] = stat + } + } + } + + return refreshMetricsToSend +} diff --git a/internal/pkg/statprocessors/sp_sets.go b/internal/pkg/statprocessors/sp_sets.go new file mode 100644 index 00000000..8a938d5a --- /dev/null +++ b/internal/pkg/statprocessors/sp_sets.go @@ -0,0 +1,72 @@ +package statprocessors + +import ( + "strings" + + commons "github.com/aerospike/aerospike-prometheus-exporter/internal/pkg/commons" + + log "github.com/sirupsen/logrus" +) + +type SetsStatsProcessor struct { + setMetrics map[string]AerospikeStat +} + +const ( + KEY_SETS = "sets" +) + +func (sw *SetsStatsProcessor) PassOneKeys() []string { + log.Tracef("sets-passonekeys:nil") + + return nil +} + +func (sw *SetsStatsProcessor) PassTwoKeys(rawMetrics map[string]string) []string { + log.Tracef("sets-passtwokeys:%s", []string{KEY_SETS}) + + return []string{KEY_SETS} +} + +func (sw *SetsStatsProcessor) Refresh(infoKeys []string, rawMetrics map[string]string) ([]AerospikeStat, error) { + + setStats := strings.Split(rawMetrics[KEY_SETS], ";") + + log.Tracef("set-stats:%v", rawMetrics[KEY_SETS]) + + if sw.setMetrics == nil { + sw.setMetrics = make(map[string]AerospikeStat) + } + + var allMetricsToSend = []AerospikeStat{} + + for i := range setStats { + clusterName := rawMetrics[Infokey_ClusterName] + service := rawMetrics[Infokey_Service] + + stats := commons.ParseStats(setStats[i], ":") + for stat, value := range stats { + pv, err := commons.TryConvert(value) + if err != nil { + continue + } + asMetric, exists := sw.setMetrics[stat] + + if !exists { + allowed := isMetricAllowed(commons.CTX_SETS, stat) + asMetric = NewAerospikeStat(commons.CTX_SETS, stat, allowed) + sw.setMetrics[stat] = asMetric + } + + labels := []string{commons.METRIC_LABEL_CLUSTER_NAME, commons.METRIC_LABEL_SERVICE, commons.METRIC_LABEL_NS, commons.METRIC_LABEL_SET} + labelValues := []string{clusterName, service, stats["ns"], stats["set"]} + + // pushToPrometheus(asMetric, pv, labels, labelsValues, ch) + asMetric.updateValues(pv, labels, labelValues) + allMetricsToSend = append(allMetricsToSend, asMetric) + } + + } + + return allMetricsToSend, nil +} diff --git a/internal/pkg/statprocessors/sp_sindex.go b/internal/pkg/statprocessors/sp_sindex.go new file mode 100644 index 00000000..0bc5ee2d --- /dev/null +++ b/internal/pkg/statprocessors/sp_sindex.go @@ -0,0 +1,104 @@ +package statprocessors + +import ( + "strings" + + commons "github.com/aerospike/aerospike-prometheus-exporter/internal/pkg/commons" + config "github.com/aerospike/aerospike-prometheus-exporter/internal/pkg/config" + + log "github.com/sirupsen/logrus" +) + +type SindexStatsProcessor struct { + sindexMetrics map[string]AerospikeStat +} + +func (siw *SindexStatsProcessor) PassOneKeys() []string { + if config.Cfg.Aerospike.DisableSindexMetrics { + // disabled + log.Tracef("sindex-passonekeys:nil") + return nil + } + log.Tracef("sindex-passonekeys:%s", []string{"sindex"}) + + return []string{"sindex"} +} + +func (siw *SindexStatsProcessor) PassTwoKeys(rawMetrics map[string]string) (sindexCommands []string) { + if config.Cfg.Aerospike.DisableSindexMetrics { + // disabled + return nil + } + + log.Tracef("sindex:%v", rawMetrics["sindex"]) + + sindexesMeta := strings.Split(rawMetrics["sindex"], ";") + sindexCommands = siw.getSindexCommands(sindexesMeta) + + log.Tracef("sindex-passtwokeys:%s", sindexCommands) + + return sindexCommands +} + +// getSindexCommands returns list of commands to fetch sindex statistics +func (siw *SindexStatsProcessor) getSindexCommands(sindexesMeta []string) (sindexCommands []string) { + for _, sindex := range sindexesMeta { + stats := commons.ParseStats(sindex, ":") + sindexCommands = append(sindexCommands, "sindex/"+stats["ns"]+"/"+stats["indexname"]) + } + + return sindexCommands +} + +func (siw *SindexStatsProcessor) Refresh(infoKeys []string, rawMetrics map[string]string) ([]AerospikeStat, error) { + if config.Cfg.Aerospike.DisableSindexMetrics { + // disabled + return nil, nil + } + + if siw.sindexMetrics == nil { + siw.sindexMetrics = make(map[string]AerospikeStat) + } + + var allMetricsToSend = []AerospikeStat{} + + for _, sindex := range infoKeys { + if strings.HasPrefix(sindex, "sindex/") { + log.Tracef("sindex-stats:%v:%v", sindex, rawMetrics[sindex]) + + sindexInfoKey := strings.ReplaceAll(sindex, "sindex/", "") + sindexInfoKeySplit := strings.Split(sindexInfoKey, "/") + nsName := sindexInfoKeySplit[0] + sindexName := sindexInfoKeySplit[1] + log.Tracef("sindex-stats:%s:%s:%s", nsName, sindexName, rawMetrics[sindex]) + + clusterName := rawMetrics[Infokey_ClusterName] + service := rawMetrics[Infokey_Service] + + stats := commons.ParseStats(rawMetrics[sindex], ";") + for stat, value := range stats { + pv, err := commons.TryConvert(value) + if err != nil { + continue + } + asMetric, exists := siw.sindexMetrics[stat] + + if !exists { + allowed := isMetricAllowed(commons.CTX_SINDEX, stat) + asMetric = NewAerospikeStat(commons.CTX_SINDEX, stat, allowed) + siw.sindexMetrics[stat] = asMetric + } + + labels := []string{commons.METRIC_LABEL_CLUSTER_NAME, commons.METRIC_LABEL_SERVICE, commons.METRIC_LABEL_NS, commons.METRIC_LABEL_SINDEX} + labelValues := []string{clusterName, service, nsName, sindexName} + + asMetric.updateValues(pv, labels, labelValues) + allMetricsToSend = append(allMetricsToSend, asMetric) + + } + } + + } + + return allMetricsToSend, nil +} diff --git a/internal/pkg/statprocessors/sp_users.go b/internal/pkg/statprocessors/sp_users.go new file mode 100644 index 00000000..f623489a --- /dev/null +++ b/internal/pkg/statprocessors/sp_users.go @@ -0,0 +1,157 @@ +package statprocessors + +import ( + commons "github.com/aerospike/aerospike-prometheus-exporter/internal/pkg/commons" + "github.com/aerospike/aerospike-prometheus-exporter/internal/pkg/config" + "github.com/aerospike/aerospike-prometheus-exporter/internal/pkg/dataprovider" + + aero "github.com/aerospike/aerospike-client-go/v6" + log "github.com/sirupsen/logrus" +) + +var ( + shouldFetchUserStatistics bool = true +) + +type UserStatsProcessor struct{} + +func (uw *UserStatsProcessor) PassOneKeys() []string { + // "build" info key should be returned here, + // but it is also being sent by LatencyStatsProcessor.passOneKeys(), + // hence skipping here. + log.Tracef("users-passonekeys:nil") + return nil +} + +func (uw *UserStatsProcessor) PassTwoKeys(rawMetrics map[string]string) []string { + log.Tracef("users-passtwokeys:nil") + return nil +} + +func (uw *UserStatsProcessor) Refresh(infoKeys []string, rawMetrics map[string]string) ([]AerospikeStat, error) { + + // check if security configurations are enabled + if config.Cfg.Aerospike.User == "" && config.Cfg.Aerospike.Password == "" { + return nil, nil + } + + // check if we should fetch user metrics + if !shouldFetchUserStatistics { + log.Debug("Fetching user statistics is disabled") + return nil, nil + } + + // validate aerospike build version + // support for user statistics is added in aerospike 5.6 + var err error + ok, err := BuildVersionGreaterThanOrEqual(rawMetrics, "5.6.0.0") + if err != nil { + // just log warning. don't send an error back + log.Warn(err) + return nil, nil + } + + if !ok { + // disable user statisitcs if build version is not >= 5.6.0.0 + log.Debug("Aerospike version doesn't support user statistics") + shouldFetchUserStatistics = false + return nil, nil + } + + // read the data from Aerospike Server + var users []*aero.UserRoles + + shouldFetchUserStatistics, users, err = dataprovider.GetProvider().FetchUsersDetails() + if err != nil { + log.Warn("Error while fetching user statistics: ", err) + return nil, nil + + } + + var allMetricsToSend = []AerospikeStat{} + // Push metrics to Prometheus or Observability tool + lUserMetricsToSend, err := uw.refreshUserStats(infoKeys, rawMetrics, users) + if err != nil { + log.Warn("Error while preparing and pushing metrics: ", err) + return nil, nil + + } + + allMetricsToSend = append(allMetricsToSend, lUserMetricsToSend...) + + return allMetricsToSend, err +} + +func (uw *UserStatsProcessor) refreshUserStats(infoKeys []string, rawMetrics map[string]string, users []*aero.UserRoles) ([]AerospikeStat, error) { + allowedUsersList := make(map[string]struct{}) + blockedUsersList := make(map[string]struct{}) + + // let us not cache the user-info (like user-role, any permisison etc.,), as this can be changed at server-level without any restarts + // + if config.Cfg.Aerospike.UserMetricsUsersAllowlistEnabled { + for _, allowedUser := range config.Cfg.Aerospike.UserMetricsUsersAllowlist { + allowedUsersList[allowedUser] = struct{}{} + } + } + + if len(config.Cfg.Aerospike.UserMetricsUsersBlocklist) > 0 { + for _, blockedUser := range config.Cfg.Aerospike.UserMetricsUsersBlocklist { + blockedUsersList[blockedUser] = struct{}{} + } + } + + var allMetricsToSend = []AerospikeStat{} + + for _, user := range users { + // check if user is allowed + if config.Cfg.Aerospike.UserMetricsUsersAllowlistEnabled { + if _, ok := allowedUsersList[user.User]; !ok { + continue + } + } + + // check if user is blocked + if len(config.Cfg.Aerospike.UserMetricsUsersBlocklist) > 0 { + if _, ok := blockedUsersList[user.User]; ok { + continue + } + } + + // Order is important as user.ReadInfo returns an int-array - where + // 0 = read-quota, 1=read_single_record_tps etc., -- this order is fixed from server + readInfoStats := []string{"read_quota", "read_single_record_tps", "read_scan_query_rps", "limitless_read_scan_query"} + writeInfoStats := []string{"write_quota", "write_single_record_tps", "write_scan_query_rps", "limitless_write_scan_query"} + + asMetric, labels, labelValues := internalCreateLocalAerospikeStat(rawMetrics, "conns_in_use", user.User) + asMetric.updateValues(float64(user.ConnsInUse), labels, labelValues) + allMetricsToSend = append(allMetricsToSend, asMetric) + + if len(user.ReadInfo) >= 4 && len(user.WriteInfo) >= 4 { + + for idxReadinfo := 0; idxReadinfo < len(user.ReadInfo); idxReadinfo++ { + riAeroMetric, riLabels, riLabelValues := internalCreateLocalAerospikeStat(rawMetrics, readInfoStats[idxReadinfo], user.User) + riAeroMetric.updateValues(float64(user.ReadInfo[idxReadinfo]), riLabels, riLabelValues) + + allMetricsToSend = append(allMetricsToSend, riAeroMetric) + + } + for idxWriteinfo := 0; idxWriteinfo < len(user.WriteInfo); idxWriteinfo++ { + wiAeroMetric, wiLabels, wiLabelValues := internalCreateLocalAerospikeStat(rawMetrics, writeInfoStats[idxWriteinfo], user.User) + wiAeroMetric.updateValues(float64(user.WriteInfo[idxWriteinfo]), wiLabels, wiLabelValues) + allMetricsToSend = append(allMetricsToSend, wiAeroMetric) + + } + } + } + + return allMetricsToSend, nil +} + +func internalCreateLocalAerospikeStat(rawMetrics map[string]string, pStatName string, username string) (AerospikeStat, []string, []string) { + labels := []string{commons.METRIC_LABEL_CLUSTER_NAME, commons.METRIC_LABEL_SERVICE, commons.METRIC_LABEL_USER} + labelValues := []string{rawMetrics[Infokey_ClusterName], rawMetrics[Infokey_Service], username} + allowed := isMetricAllowed(commons.CTX_USERS, pStatName) + asMetric := NewAerospikeStat(commons.CTX_USERS, pStatName, allowed) + + return asMetric, labels, labelValues +} diff --git a/watcher_xdr.go b/internal/pkg/statprocessors/sp_xdr.go similarity index 61% rename from watcher_xdr.go rename to internal/pkg/statprocessors/sp_xdr.go index 9a2ed4df..40af77b0 100644 --- a/watcher_xdr.go +++ b/internal/pkg/statprocessors/sp_xdr.go @@ -1,9 +1,9 @@ -package main +package statprocessors import ( "strings" - "github.com/prometheus/client_golang/prometheus" + commons "github.com/aerospike/aerospike-prometheus-exporter/internal/pkg/commons" log "github.com/sirupsen/logrus" ) @@ -14,20 +14,21 @@ const ( KEY_XDR_CONFIG = "get-config:context=xdr;dc=" ) -type XdrWatcher struct { +type XdrStatsProcessor struct { xdrMetrics map[string]AerospikeStat } -func (xw *XdrWatcher) describe(ch chan<- *prometheus.Desc) {} - -func (xw *XdrWatcher) passOneKeys() []string { +func (xw *XdrStatsProcessor) PassOneKeys() []string { // this is used to fetch the dcs metadata, we send same get-config command to fetch the dc-names required in next steps + log.Tracef("xdr-passonekeys:%s", []string{KEY_XDR_METADATA}) return []string{KEY_XDR_METADATA} } -func (xw *XdrWatcher) passTwoKeys(rawMetrics map[string]string) []string { +func (xw *XdrStatsProcessor) PassTwoKeys(rawMetrics map[string]string) []string { + log.Tracef("get-config:context=xdr:%s", rawMetrics[KEY_XDR_METADATA]) + res := rawMetrics[KEY_XDR_METADATA] - list := parseStats(res, ";") + list := commons.ParseStats(res, ";") dcsList := strings.Split(list["dcs"], ",") // XDR stats and configs are at Namespace level also @@ -48,41 +49,46 @@ func (xw *XdrWatcher) passTwoKeys(rawMetrics map[string]string) []string { } } - log.Tracef("xdr-passTwoKeys %s", infoKeys) + log.Tracef("xdr-passtwokeys:%s", infoKeys) return infoKeys } // refresh prom metrics - parse the given rawMetrics (both config and stats ) and push to given channel -func (xw *XdrWatcher) refresh(o *Observer, infoKeys []string, rawMetrics map[string]string, ch chan<- prometheus.Metric) error { +func (xw *XdrStatsProcessor) Refresh(infoKeys []string, rawMetrics map[string]string) ([]AerospikeStat, error) { if xw.xdrMetrics == nil { xw.xdrMetrics = make(map[string]AerospikeStat) } - clusterName := rawMetrics[ikClusterName] - service := rawMetrics[ikService] + clusterName := rawMetrics[Infokey_ClusterName] + service := rawMetrics[Infokey_Service] + + var allMetricsToSend = []AerospikeStat{} + for _, key := range infoKeys { xdrRawMetrics := rawMetrics[key] // find and construct metric name dcName, ns, metricPrefix := xw.constructMetricNamePrefix(key) - xw.handleRefresh(o, key, xdrRawMetrics, clusterName, service, dcName, ns, metricPrefix, ch) + tmpXdrMetricsToSend := xw.handleRefresh(key, xdrRawMetrics, clusterName, service, dcName, ns, metricPrefix) + + allMetricsToSend = append(allMetricsToSend, tmpXdrMetricsToSend...) } - return nil + return allMetricsToSend, nil } // utility constructs the name of the metric according to the level of the stat // according to the order stat dc/namespace & config dc/namespace -func (xw *XdrWatcher) constructMetricNamePrefix(infoKeyToProcess string) (string, string, string) { +func (xw *XdrStatsProcessor) constructMetricNamePrefix(infoKeyToProcess string) (string, string, string) { // get-stats:context=xdr;dc=xdr_backup_dc_asdev20 -- Process with old-metric-name format // get-config:context=xdr;dc=xdr_second_backup_dc_asdev20 -- Process with new-metric-name format // get-stats:context=xdr;dc=xdr_second_backup_dc_asdev20;namespace=ns_test_4 -- Process with new-metric-name format // get-config:context=xdr;dc=xdr_second_backup_dc_asdev20;namespace=vendors -- Process with new-metric-name format // splits the string into 3 parts, is-cfg/stat, dcname and namespace - kvInfoKeyToProcess := parseStats(infoKeyToProcess, ";") + kvInfoKeyToProcess := commons.ParseStats(infoKeyToProcess, ";") _, cfgOk := kvInfoKeyToProcess["get-config:context"] _, statOk := kvInfoKeyToProcess["get-stats:context"] dcName := kvInfoKeyToProcess["dc"] @@ -101,15 +107,15 @@ func (xw *XdrWatcher) constructMetricNamePrefix(infoKeyToProcess string) (string return dcName, nsName, "" // no-prefix/default i.e. no suffix like "dc" / "dc_namespace" } -func (xw *XdrWatcher) handleRefresh(o *Observer, infoKeyToProcess string, xdrRawMetrics string, - clusterName string, service string, dcName string, ns string, metricPrefix string, - ch chan<- prometheus.Metric) { +func (xw *XdrStatsProcessor) handleRefresh(infoKeyToProcess string, xdrRawMetrics string, + clusterName string, service string, dcName string, ns string, metricPrefix string) []AerospikeStat { log.Tracef("xdr-%s:%s", infoKeyToProcess, xdrRawMetrics) - stats := parseStats(xdrRawMetrics, ";") + stats := commons.ParseStats(xdrRawMetrics, ";") + var xdrMetricsToSend = []AerospikeStat{} for stat, value := range stats { - pv, err := tryConvert(value) + pv, err := commons.TryConvert(value) if err != nil { continue } @@ -117,21 +123,24 @@ func (xw *XdrWatcher) handleRefresh(o *Observer, infoKeyToProcess string, xdrRaw dynamicStatname := metricPrefix + stat if !exists { - asMetric = newAerospikeStat(CTX_XDR, dynamicStatname) + allowed := isMetricAllowed(commons.CTX_USERS, stat) + asMetric = NewAerospikeStat(commons.CTX_XDR, dynamicStatname, allowed) xw.xdrMetrics[stat] = asMetric } - labels := []string{METRIC_LABEL_CLUSTER_NAME, METRIC_LABEL_SERVICE, METRIC_LABEL_DC_NAME} - labelsValues := []string{clusterName, service, dcName} + labels := []string{commons.METRIC_LABEL_CLUSTER_NAME, commons.METRIC_LABEL_SERVICE, commons.METRIC_LABEL_DC_NAME} + labelValues := []string{clusterName, service, dcName} // if namespace exists, add it to the label and label-values array if len(ns) > 0 { - labels = []string{METRIC_LABEL_CLUSTER_NAME, METRIC_LABEL_SERVICE, METRIC_LABEL_DC_NAME, METRIC_LABEL_NS} - labelsValues = []string{clusterName, service, dcName, ns} + labels = []string{commons.METRIC_LABEL_CLUSTER_NAME, commons.METRIC_LABEL_SERVICE, commons.METRIC_LABEL_DC_NAME, commons.METRIC_LABEL_NS} + labelValues = []string{clusterName, service, dcName, ns} } - pushToPrometheus(asMetric, pv, labels, labelsValues, ch) - + // pushToPrometheus(asMetric, pv, labels, labelsValues, ch) + asMetric.updateValues(pv, labels, labelValues) + xdrMetricsToSend = append(xdrMetricsToSend, asMetric) } + return xdrMetricsToSend } diff --git a/internal/pkg/statprocessors/statsprocessor.go b/internal/pkg/statprocessors/statsprocessor.go new file mode 100644 index 00000000..9359b6d0 --- /dev/null +++ b/internal/pkg/statprocessors/statsprocessor.go @@ -0,0 +1,29 @@ +package statprocessors + +var ( + // Node service endpoint, cluster name and build version + Service, ClusterName, Build string +) + +var LatencyBenchmarks = make(map[string]string) + +type StatProcessor interface { + PassOneKeys() []string + PassTwoKeys(rawMetrics map[string]string) []string + Refresh(infoKeys []string, rawMetrics map[string]string) ([]AerospikeStat, error) +} + +// stat-processors are created only once per process +var statprocessors = []StatProcessor{ + &NamespaceStatsProcessor{}, + &NodeStatsProcessor{}, + &SetsStatsProcessor{}, + &SindexStatsProcessor{}, + &XdrStatsProcessor{}, + &LatencyStatsProcessor{}, + &UserStatsProcessor{}, +} + +func GetStatsProcessors() []StatProcessor { + return statprocessors +} diff --git a/internal/pkg/statprocessors/statsrefresh.go b/internal/pkg/statprocessors/statsrefresh.go new file mode 100644 index 00000000..ba36f3eb --- /dev/null +++ b/internal/pkg/statprocessors/statsrefresh.go @@ -0,0 +1,90 @@ +package statprocessors + +import ( + commons "github.com/aerospike/aerospike-prometheus-exporter/internal/pkg/commons" + "github.com/aerospike/aerospike-prometheus-exporter/internal/pkg/dataprovider" + log "github.com/sirupsen/logrus" +) + +// public and utility functions + +func Refresh() ([]AerospikeStat, error) { + + fullHost := commons.GetFullHost() + log.Debugf("Refreshing node %s", fullHost) + + // array to accumulate all metrics, which later will be dispatched by various observers + var allMetricsToSend = []AerospikeStat{} + + // list of all the StatsProcessor + allStatsprocessorList := GetStatsProcessors() + + // fetch first set of info keys + var infoKeys []string + for _, c := range allStatsprocessorList { + if keys := c.PassOneKeys(); len(keys) > 0 { + infoKeys = append(infoKeys, keys...) + } + } + // append infoKey "build" - this is removed from LatenciesStatsProcessor to avoid forced StatsProcessor sequence during refresh + infoKeys = append(infoKeys, "build") + + // info request for first set of info keys, this retrives configs from server + // from namespaces,server/node-stats, xdr + // if for any context (like jobs, latencies etc.,) no configs, they are not sent to server + passOneOutput, err := dataprovider.GetProvider().RequestInfo(infoKeys) + if err != nil { + return nil, err + } + + // fetch second second set of info keys + // check and load this only once, to avoid multiple file-reads, so this Infokey assignment will happen only once during restart + if Infokey_Service != INFOKEY_SERVICE_TLS_STD { + serverPool, clientPool := commons.LoadServerOrClientCertificates() + // we need to have atleast one certificate configured and read successfully + if serverPool != nil && clientPool != nil { + Infokey_Service = INFOKEY_SERVICE_TLS_STD + log.Debugf("TLS Mode is enabled, setting infokey-service as 'service-tls-std' for further fetching from server.") + } + } + + infoKeys = []string{Infokey_ClusterName, Infokey_Service, Infokey_Build} + statprocessorInfoKeys := make([][]string, len(allStatsprocessorList)) + + for i, c := range allStatsprocessorList { + + if keys := c.PassTwoKeys(passOneOutput); len(keys) > 0 { + + infoKeys = append(infoKeys, keys...) + statprocessorInfoKeys[i] = keys + } + } + + // info request for second set of info keys, this retrieves all the stats from server + rawMetrics, err := dataprovider.GetProvider().RequestInfo(infoKeys) + if err != nil { + return allMetricsToSend, err + } + + // set global values + ClusterName, Service, Build = rawMetrics[Infokey_ClusterName], rawMetrics[Infokey_Service], rawMetrics[Infokey_Build] + + // sanitize the utf8 strings before sending them to watchers + for k, v := range rawMetrics { + rawMetrics[k] = commons.SanitizeUTF8(v) + } + + // sanitize the utf8 strings before sending them to watchers + for i, c := range allStatsprocessorList { + + tmpRefreshedMetrics, err := c.Refresh(statprocessorInfoKeys[i], rawMetrics) + if err != nil { + return allMetricsToSend, err + } + allMetricsToSend = append(allMetricsToSend, tmpRefreshedMetrics...) + } + + log.Debugf("Refreshing node was successful") + + return allMetricsToSend, nil +} diff --git a/internal/pkg/statprocessors/tests/sp_latency_test.go b/internal/pkg/statprocessors/tests/sp_latency_test.go new file mode 100644 index 00000000..74a95f8d --- /dev/null +++ b/internal/pkg/statprocessors/tests/sp_latency_test.go @@ -0,0 +1,111 @@ +package statprocessors + +import ( + "fmt" + "testing" + + "github.com/aerospike/aerospike-prometheus-exporter/internal/pkg/commons" + "github.com/aerospike/aerospike-prometheus-exporter/internal/pkg/dataprovider" + "github.com/aerospike/aerospike-prometheus-exporter/internal/pkg/statprocessors" + "github.com/stretchr/testify/assert" +) + +func Test_Latency_PassOneKeys(t *testing.T) { + + fmt.Println("initializing config ... Test_Latency_PassOneKeys") + + // Check passoneKeys + latencyStatsProcessor := &statprocessors.LatencyStatsProcessor{} + nwPassOneKeys := latencyStatsProcessor.PassOneKeys() + + udh := &UnittestDataHandler{} + ndv := udh.GetUnittestValidator("latency") + passOneOutputs := ndv.GetPassOneKeys() + + assert.Nil(t, nwPassOneKeys, passOneOutputs) + +} + +func Test_Latency_PassTwoKeys(t *testing.T) { + + fmt.Println("initializing config ... Test_Latency_PassTwoKeys") + + // initialize config and gauge-lists + commons.InitConfigurations(commons.TESTS_DEFAULT_CONFIG_FILE) + + // Check passoneKeys + latencyStatsProcessor := &statprocessors.LatencyStatsProcessor{} + nwPassOneKeys := latencyStatsProcessor.PassOneKeys() + passOneOutput, _ := dataprovider.GetProvider().RequestInfo(nwPassOneKeys) + fmt.Println("Test_Latency_PassTwoKeys: passOneOutput: ", passOneOutput) + passTwoOutputs := latencyStatsProcessor.PassTwoKeys(passOneOutput) + + udh := &UnittestDataHandler{} + ndv := udh.GetUnittestValidator("latency") + expectedPassTwoOutputs := ndv.GetPassTwoKeys() + + assert.NotEmpty(t, passTwoOutputs) + assert.NotEmpty(t, expectedPassTwoOutputs) + + for idx := range expectedPassTwoOutputs { + // assert each element returned by NamespaceWStatsProcessor exists in expected outputs + assert.Contains(t, passTwoOutputs, expectedPassTwoOutputs[idx], " value exists!") + } + +} + +func Test_Latency_RefreshDefault(t *testing.T) { + + fmt.Println("initializing config ... Test_Latency_RefreshDefault") + + // initialize config and gauge-lists + commons.InitConfigurations(commons.TESTS_DEFAULT_CONFIG_FILE) + + latency_runTestcase(t) +} + +/** +* complete logic to call watcher, generate-mock data and asset is part of this function + */ +func latency_runTestcase(t *testing.T) { + + // Check passoneKeys + latencyWatcher := &statprocessors.LatencyStatsProcessor{} + nwPassOneKeys := latencyWatcher.PassOneKeys() + passOneOutput, _ := dataprovider.GetProvider().RequestInfo(nwPassOneKeys) + fmt.Println("TestPassTwoKeys: passOneOutput: ", passOneOutput) + passTwoOutputs := latencyWatcher.PassTwoKeys(passOneOutput) + + // append common keys + infoKeys := []string{statprocessors.Infokey_ClusterName, statprocessors.Infokey_Service, statprocessors.Infokey_Build} + passTwoOutputs = append(passTwoOutputs, infoKeys...) + + arrRawMetrics, err := dataprovider.GetProvider().RequestInfo(passTwoOutputs) + assert.Nil(t, err, "Error while latencyWatcher.PassTwokeys ") + assert.NotEmpty(t, arrRawMetrics, "Error while latencyWatcher.PassTwokeys, RawMetrics is EMPTY ") + + // check the output with setsWatcher + latencyMetrics, err := latencyWatcher.Refresh(passTwoOutputs, arrRawMetrics) + assert.Nil(t, err, "Error while latencyWatcher.Refresh with passTwoOutputs ") + assert.NotEmpty(t, latencyMetrics, "Error while latencyWatcher.Refresh, latencyWatcher is EMPTY ") + + // // check the WatcherMetrics if all stats & configs coming with required labels + // // below block of code is used when we create the baseline mock data, which is stored in exporter_mock_results.txt for test verification/assertion + // // do-not-remove below code, use when to dump the output + // for k := range latencyMetrics { + // str := fmt.Sprintf("%#v", latencyMetrics[k]) + // fmt.Println(str) + // } + + udh := &UnittestDataHandler{} + ndv := udh.GetUnittestValidator("latency") + expected_results := ndv.GetMetricLabelsWithValues() + + for k := range latencyMetrics { + // convert / serialize to string which can be compared to stored expected mock result + str_metric := fmt.Sprintf("%#v", latencyMetrics[k]) + _, exists := expected_results[str_metric] + assert.True(t, exists, "Failed, did not find expected result: "+str_metric) + } + +} diff --git a/internal/pkg/statprocessors/tests/sp_namespaces_test.go b/internal/pkg/statprocessors/tests/sp_namespaces_test.go new file mode 100644 index 00000000..3826e886 --- /dev/null +++ b/internal/pkg/statprocessors/tests/sp_namespaces_test.go @@ -0,0 +1,113 @@ +package statprocessors + +import ( + "fmt" + "testing" + + "github.com/aerospike/aerospike-prometheus-exporter/internal/pkg/commons" + "github.com/aerospike/aerospike-prometheus-exporter/internal/pkg/dataprovider" + "github.com/aerospike/aerospike-prometheus-exporter/internal/pkg/statprocessors" + "github.com/stretchr/testify/assert" +) + +func Test_Namespace_PassOneKeys(t *testing.T) { + + fmt.Println("initializing config ... Test_Namespace_PassOneKeys") + + // Check passoneKeys + nsWatcher := &statprocessors.NamespaceStatsProcessor{} + nsPassOneKeys := nsWatcher.PassOneKeys() + + udh := &UnittestDataHandler{} + ndv := udh.GetUnittestValidator("namespace") + passOneOutputs := ndv.GetPassOneKeys() + + var expectedOutputs []string + expectedOutputs = append(expectedOutputs, passOneOutputs["namespaces"]) + + assert.Equal(t, nsPassOneKeys, expectedOutputs) + +} + +func Test_Namespace_PassTwoKeys(t *testing.T) { + + fmt.Println("initializing config ... Test_Namespace_PassTwoKeys") + + // initialize config and gauge-lists + commons.InitConfigurations(commons.GetWatchersConfigFile(commons.TESTS_DEFAULT_CONFIG_FILE)) + + // rawMetrics := getRawMetrics() + nsWatcher := &statprocessors.NamespaceStatsProcessor{} + + // simulate, as if we are sending requestInfo to AS and get the namespaces, these are coming from mock-data-generator + passOneKeys := nsWatcher.PassOneKeys() + passOneOutput, _ := dataprovider.GetProvider().RequestInfo(passOneKeys) + fmt.Println("Test_Namespace_PassTwoKeys: passOneOutput: ", passOneOutput) + passTwokeyOutputs := nsWatcher.PassTwoKeys(passOneOutput) + + // expectedOutputs := []string{"namespace/bar", "namespace/test"} + udh := &UnittestDataHandler{} + ndv := udh.GetUnittestValidator("namespace") + expectedOutputs := ndv.GetPassTwoKeys() + + assert := assert.New(t) + + assert.NotEmpty(passTwokeyOutputs) + assert.NotEmpty(expectedOutputs) + + for idx := range expectedOutputs { + // assert each element returned by NamespaceWatcher exists in expected outputs + assert.Contains(passTwokeyOutputs, expectedOutputs[idx], " value exists!") + } +} + +func Test_Namespace_RefreshDefault(t *testing.T) { + + fmt.Println("initializing config ... Test_Namespace_RefreshDefault") + // Initialize and validate config + + // initialize config and gauge-lists + commons.InitConfigurations(commons.GetWatchersConfigFile(commons.TESTS_DEFAULT_CONFIG_FILE)) + + namespace_runTestcase(t) +} + +/** +* complete logic to call watcher, generate-mock data and asset is part of this function + */ +func namespace_runTestcase(t *testing.T) { + + // rawMetrics := getRawMetrics() + nsWatcher := &statprocessors.NamespaceStatsProcessor{} + + // simulate, as if we are sending requestInfo to AS and get the namespaces, these are coming from mock-data-generator + passOneKeys := nsWatcher.PassOneKeys() + passOneOutput, _ := dataprovider.GetProvider().RequestInfo(passOneKeys) + passTwokeyOutputs := nsWatcher.PassTwoKeys(passOneOutput) + + // append common keys + infoKeys := []string{statprocessors.Infokey_ClusterName, statprocessors.Infokey_Service, statprocessors.Infokey_Build} + passTwokeyOutputs = append(passTwokeyOutputs, infoKeys...) + + arrRawMetrics, err := dataprovider.GetProvider().RequestInfo(passTwokeyOutputs) + assert.Nil(t, err, "Error while NamespaceWatcher.PassTwokeys ") + assert.NotEmpty(t, arrRawMetrics, "Error while NamespaceWatcher.PassTwokeys, RawMetrics is EMPTY ") + + // check the output with NamespaceWatcher + nsMetrics, err := nsWatcher.Refresh(passTwokeyOutputs, arrRawMetrics) + assert.Nil(t, err, "Error while NamespaceWatcher.Refresh with passTwokeyOutputs ") + assert.NotEmpty(t, nsMetrics, "Error while NamespaceWatcher.Refresh, WatcherMetrics is EMPTY ") + + // check for defined pattern, namespace metrics + // context, name, labels: cluster, service, namespace, + udh := &UnittestDataHandler{} + ndv := udh.GetUnittestValidator("namespace") + expected_results := ndv.GetMetricLabelsWithValues() + for k := range nsMetrics { + // convert / serialize to string which can be compared to stored expected mock result + str_metric := fmt.Sprintf("%#v", nsMetrics[k]) + _, exists := expected_results[str_metric] + assert.True(t, exists, "Failed, did not find expected result: "+str_metric) + } + +} diff --git a/internal/pkg/statprocessors/tests/sp_node_stats_test.go b/internal/pkg/statprocessors/tests/sp_node_stats_test.go new file mode 100644 index 00000000..0646bd0f --- /dev/null +++ b/internal/pkg/statprocessors/tests/sp_node_stats_test.go @@ -0,0 +1,103 @@ +package statprocessors + +import ( + "fmt" + "testing" + + "github.com/aerospike/aerospike-prometheus-exporter/internal/pkg/commons" + "github.com/aerospike/aerospike-prometheus-exporter/internal/pkg/dataprovider" + "github.com/aerospike/aerospike-prometheus-exporter/internal/pkg/statprocessors" + "github.com/stretchr/testify/assert" +) + +func Test_Node_PassOneKeys(t *testing.T) { + + fmt.Println("initializing config ... Test_Node_PassOneKeys") + + // Check passoneKeys + nodeWatcher := &statprocessors.NodeStatsProcessor{} + nwPassOneKeys := nodeWatcher.PassOneKeys() + + udh := &UnittestDataHandler{} + ndv := udh.GetUnittestValidator("node") + passOneOutputs := ndv.GetPassOneKeys() + + assert.Nil(t, nwPassOneKeys, passOneOutputs) + +} + +func Test_Node_PassTwoKeys(t *testing.T) { + + fmt.Println("initializing config ... Test_Node_PassTwoKeys") + + // initialize config and gauge-lists + commons.InitConfigurations(commons.GetWatchersConfigFile(commons.TESTS_DEFAULT_CONFIG_FILE)) + + // Check passoneKeys + nodeWatcher := &statprocessors.NodeStatsProcessor{} + nwPassOneKeys := nodeWatcher.PassOneKeys() + passOneOutput, _ := dataprovider.GetProvider().RequestInfo(nwPassOneKeys) + fmt.Println("Test_Node_PassTwoKeys: passOneOutput: ", passOneOutput) + passTwoOutputs := nodeWatcher.PassTwoKeys(passOneOutput) + + udh := &UnittestDataHandler{} + ndv := udh.GetUnittestValidator("node") + expectedPassTwoOutputs := ndv.GetPassTwoKeys() + + assert.NotEmpty(t, passTwoOutputs) + assert.NotEmpty(t, expectedPassTwoOutputs) + + for idx := range expectedPassTwoOutputs { + // assert each element returned by NamespaceWatcher exists in expected outputs + assert.Contains(t, passTwoOutputs, expectedPassTwoOutputs[idx], " value exists!") + } + +} + +func Test_Node_RefreshDefault(t *testing.T) { + + fmt.Println("initializing config ... Test_Node_RefreshDefault") + + // initialize config and gauge-lists + commons.InitConfigurations(commons.GetWatchersConfigFile(commons.TESTS_DEFAULT_CONFIG_FILE)) + + node_runTestcase(t) +} + +/** +* complete logic to call watcher, generate-mock data and asset is part of this function + */ +func node_runTestcase(t *testing.T) { + + // Check passoneKeys + nodeWatcher := &statprocessors.NodeStatsProcessor{} + nwPassOneKeys := nodeWatcher.PassOneKeys() + passOneOutput, _ := dataprovider.GetProvider().RequestInfo(nwPassOneKeys) + fmt.Println("TestPassTwoKeys: passOneOutput: ", passOneOutput) + passTwoOutputs := nodeWatcher.PassTwoKeys(passOneOutput) + + // append common keys + infoKeys := []string{statprocessors.Infokey_ClusterName, statprocessors.Infokey_Service, statprocessors.Infokey_Build} + passTwoOutputs = append(passTwoOutputs, infoKeys...) + + arrRawMetrics, err := dataprovider.GetProvider().RequestInfo(passTwoOutputs) + assert.Nil(t, err, "Error while NodeStatsWatcher.PassTwokeys ") + assert.NotEmpty(t, arrRawMetrics, "Error while NamespaceWatcher.PassTwokeys, RawMetrics is EMPTY ") + + // check the output with NodeStatsWatcher + nodeMetrics, err := nodeWatcher.Refresh(passTwoOutputs, arrRawMetrics) + assert.Nil(t, err, "Error while NodeStatsWatcher.Refresh with passTwoOutputs ") + assert.NotEmpty(t, nodeMetrics, "Error while NodeStatsWatcher.Refresh, NodeStatsWatcher is EMPTY ") + + udh := &UnittestDataHandler{} + ndv := udh.GetUnittestValidator("node") + expected_results := ndv.GetMetricLabelsWithValues() + + for k := range nodeMetrics { + // convert / serialize to string which can be compared to stored expected mock result + str_metric := fmt.Sprintf("%#v", nodeMetrics[k]) + _, exists := expected_results[str_metric] + assert.True(t, exists, "Failed, did not find expected result: "+str_metric) + } + +} diff --git a/internal/pkg/statprocessors/tests/sp_sets_test.go b/internal/pkg/statprocessors/tests/sp_sets_test.go new file mode 100644 index 00000000..d9362f5b --- /dev/null +++ b/internal/pkg/statprocessors/tests/sp_sets_test.go @@ -0,0 +1,103 @@ +package statprocessors + +import ( + "fmt" + "testing" + + "github.com/aerospike/aerospike-prometheus-exporter/internal/pkg/commons" + "github.com/aerospike/aerospike-prometheus-exporter/internal/pkg/dataprovider" + "github.com/aerospike/aerospike-prometheus-exporter/internal/pkg/statprocessors" + "github.com/stretchr/testify/assert" +) + +func Test_Sets_PassOneKeys(t *testing.T) { + + fmt.Println("initializing config ... Test_Sets_PassOneKeys") + + // Check passoneKeys + setsWatcher := &statprocessors.SetsStatsProcessor{} + nwPassOneKeys := setsWatcher.PassOneKeys() + + udh := &UnittestDataHandler{} + ndv := udh.GetUnittestValidator("sets") + passOneOutputs := ndv.GetPassOneKeys() + + assert.Nil(t, nwPassOneKeys, passOneOutputs) + +} + +func Test_Sets_PassTwoKeys(t *testing.T) { + + fmt.Println("initializing config ... Test_Sets_PassTwoKeys") + + // initialize config and gauge-lists + commons.InitConfigurations(commons.GetWatchersConfigFile(commons.TESTS_DEFAULT_CONFIG_FILE)) + + // Check passoneKeys + setsWatcher := &statprocessors.SetsStatsProcessor{} + nwPassOneKeys := setsWatcher.PassOneKeys() + passOneOutput, _ := dataprovider.GetProvider().RequestInfo(nwPassOneKeys) + fmt.Println("Test_Sets_PassTwoKeys: passOneOutput: ", passOneOutput) + passTwoOutputs := setsWatcher.PassTwoKeys(passOneOutput) + + udh := &UnittestDataHandler{} + ndv := udh.GetUnittestValidator("sets") + expectedPassTwoOutputs := ndv.GetPassTwoKeys() + + assert.NotEmpty(t, passTwoOutputs) + assert.NotEmpty(t, expectedPassTwoOutputs) + + for idx := range expectedPassTwoOutputs { + // assert each element returned by NamespaceWatcher exists in expected outputs + assert.Contains(t, passTwoOutputs, expectedPassTwoOutputs[idx], " value exists!") + } + +} + +func Test_Sets_RefreshDefault(t *testing.T) { + + fmt.Println("initializing config ... Test_Sets_RefreshDefault") + + // initialize config and gauge-lists + commons.InitConfigurations(commons.GetWatchersConfigFile(commons.TESTS_DEFAULT_CONFIG_FILE)) + + sets_runTestcase(t) +} + +/** +* complete logic to call watcher, generate-mock data and asset is part of this function + */ +func sets_runTestcase(t *testing.T) { + + // Check passoneKeys + setsWatcher := &statprocessors.SetsStatsProcessor{} + nwPassOneKeys := setsWatcher.PassOneKeys() + passOneOutput, _ := dataprovider.GetProvider().RequestInfo(nwPassOneKeys) + fmt.Println("TestPassTwoKeys: passOneOutput: ", passOneOutput) + passTwoOutputs := setsWatcher.PassTwoKeys(passOneOutput) + + // append common keys + infoKeys := []string{statprocessors.Infokey_ClusterName, statprocessors.Infokey_Service, statprocessors.Infokey_Build} + passTwoOutputs = append(passTwoOutputs, infoKeys...) + + arrRawMetrics, err := dataprovider.GetProvider().RequestInfo(passTwoOutputs) + assert.Nil(t, err, "Error while setsWatcher.PassTwokeys ") + assert.NotEmpty(t, arrRawMetrics, "Error while setsWatcher.PassTwokeys, RawMetrics is EMPTY ") + + // check the output with setsWatcher + setsMetrics, err := setsWatcher.Refresh(passTwoOutputs, arrRawMetrics) + assert.Nil(t, err, "Error while setsWatcher.Refresh with passTwoOutputs ") + assert.NotEmpty(t, setsMetrics, "Error while setsWatcher.Refresh, setsWatcher is EMPTY ") + + udh := &UnittestDataHandler{} + ndv := udh.GetUnittestValidator("sets") + expected_results := ndv.GetMetricLabelsWithValues() + + for k := range setsMetrics { + // convert / serialize to string which can be compared to stored expected mock result + str_metric := fmt.Sprintf("%#v", setsMetrics[k]) + _, exists := expected_results[str_metric] + assert.True(t, exists, "Failed, did not find expected result: "+str_metric) + } + +} diff --git a/internal/pkg/statprocessors/tests/sp_sindex_test.go b/internal/pkg/statprocessors/tests/sp_sindex_test.go new file mode 100644 index 00000000..a82c455a --- /dev/null +++ b/internal/pkg/statprocessors/tests/sp_sindex_test.go @@ -0,0 +1,108 @@ +package statprocessors + +import ( + "fmt" + "testing" + + "github.com/aerospike/aerospike-prometheus-exporter/internal/pkg/commons" + "github.com/aerospike/aerospike-prometheus-exporter/internal/pkg/dataprovider" + "github.com/aerospike/aerospike-prometheus-exporter/internal/pkg/statprocessors" + "github.com/stretchr/testify/assert" +) + +func Test_Sindex_PassOneKeys(t *testing.T) { + + fmt.Println("initializing config ... Test_Sindex_PassOneKeys") + + // Check passoneKeys + sindexWatcher := &statprocessors.SindexStatsProcessor{} + nwPassOneKeys := sindexWatcher.PassOneKeys() + + udh := &UnittestDataHandler{} + ndv := udh.GetUnittestValidator("sindex") + passOneOutputs := ndv.GetPassOneKeys() + + var expectedOutputs []string + expectedOutputs = append(expectedOutputs, passOneOutputs["sindex"]) + + assert.Equal(t, nwPassOneKeys, expectedOutputs) + +} + +func Test_Sindex_PassTwoKeys(t *testing.T) { + + fmt.Println("initializing config ... Test_Sindex_PassTwoKeys") + + // initialize config and gauge-lists + commons.InitConfigurations(commons.GetWatchersConfigFile(commons.TESTS_DEFAULT_CONFIG_FILE)) + + // Check passoneKeys + sindexWatcher := &statprocessors.SindexStatsProcessor{} + nwPassOneKeys := sindexWatcher.PassOneKeys() + passOneOutput, _ := dataprovider.GetProvider().RequestInfo(nwPassOneKeys) + fmt.Println("Test_Sindex_PassTwoKeys: passOneOutput: ", passOneOutput) + passTwoOutputs := sindexWatcher.PassTwoKeys(passOneOutput) + + udh := &UnittestDataHandler{} + ndv := udh.GetUnittestValidator("sindex") + expectedPassTwoOutputs := ndv.GetPassTwoKeys() + + assert.NotEmpty(t, passTwoOutputs) + assert.NotEmpty(t, expectedPassTwoOutputs) + + for idx := range expectedPassTwoOutputs { + // assert each element returned by NamespaceWatcher exists in expected outputs + assert.Contains(t, passTwoOutputs, expectedPassTwoOutputs[idx], " value exists!") + } + +} + +func Test_Sindex_RefreshDefault(t *testing.T) { + + fmt.Println("initializing config ... Test_Sindex_RefreshDefault") + + // initialize config and gauge-lists + commons.InitConfigurations(commons.GetWatchersConfigFile(commons.TESTS_DEFAULT_CONFIG_FILE)) + + sindex_runTestcase(t) +} + +/** +* complete logic to call watcher, generate-mock data and asset is part of this function + */ +func sindex_runTestcase(t *testing.T) { + + // common keys + infoKeys := []string{statprocessors.Infokey_ClusterName, statprocessors.Infokey_Service, statprocessors.Infokey_Build} + + // Check passoneKeys + sindexWatcher := &statprocessors.SindexStatsProcessor{} + nwPassOneKeys := sindexWatcher.PassOneKeys() + passOneOutput, _ := dataprovider.GetProvider().RequestInfo(nwPassOneKeys) + fmt.Println("sindex_runTestcase: passOneOutput: ", passOneOutput) + passTwoOutputs := sindexWatcher.PassTwoKeys(passOneOutput) + + // append common keys + passTwoOutputs = append(passTwoOutputs, infoKeys...) + + arrRawMetrics, err := dataprovider.GetProvider().RequestInfo(passTwoOutputs) + assert.Nil(t, err, "Error while sindexMetrics.PassTwokeys ") + assert.NotEmpty(t, arrRawMetrics, "Error while sindexMetrics.PassTwokeys, RawMetrics is EMPTY ") + + // check the output with sindexWatcher + sindexMetrics, err := sindexWatcher.Refresh(passTwoOutputs, arrRawMetrics) + assert.Nil(t, err, "Error while sindexMetrics.Refresh with passTwoOutputs ") + assert.NotEmpty(t, sindexMetrics, "Error while sindexMetrics.Refresh, sindexMetrics is EMPTY ") + + udh := &UnittestDataHandler{} + ndv := udh.GetUnittestValidator("sindex") + expected_results := ndv.GetMetricLabelsWithValues() + + for k := range sindexMetrics { + // convert / serialize to string which can be compared to stored expected mock result + str_metric := fmt.Sprintf("%#v", sindexMetrics[k]) + _, exists := expected_results[str_metric] + assert.True(t, exists, "Failed, did not find expected result: "+str_metric) + } + +} diff --git a/internal/pkg/statprocessors/tests/sp_users_test.go b/internal/pkg/statprocessors/tests/sp_users_test.go new file mode 100644 index 00000000..36ca1589 --- /dev/null +++ b/internal/pkg/statprocessors/tests/sp_users_test.go @@ -0,0 +1,98 @@ +package statprocessors + +import ( + "fmt" + "testing" + + "github.com/aerospike/aerospike-prometheus-exporter/internal/pkg/commons" + "github.com/aerospike/aerospike-prometheus-exporter/internal/pkg/dataprovider" + "github.com/aerospike/aerospike-prometheus-exporter/internal/pkg/statprocessors" + "github.com/stretchr/testify/assert" +) + +func Test_Users_PassOneKeys(t *testing.T) { + + fmt.Println("initializing config ... Test_Users_PassOneKeys") + + // Check passoneKeys + usersWatcher := &statprocessors.UserStatsProcessor{} + nwPassOneKeys := usersWatcher.PassOneKeys() + + udh := &UnittestDataHandler{} + ndv := udh.GetUnittestValidator("users") + passOneOutputs := ndv.GetPassOneKeys() + + assert.Nil(t, nwPassOneKeys, passOneOutputs) + +} + +func Test_Users_PassTwoKeys(t *testing.T) { + + fmt.Println("initializing config ... Test_Users_PassTwoKeys") + + // initialize config and gauge-lists + commons.InitConfigurations(commons.GetWatchersConfigFile(commons.TESTS_USERS_CONFIG_FILE)) + + // Check passoneKeys + usersWatcher := &statprocessors.UserStatsProcessor{} + nwPassOneKeys := usersWatcher.PassOneKeys() + passOneOutput, _ := dataprovider.GetProvider().RequestInfo(nwPassOneKeys) + fmt.Println("Test_Users_PassTwoKeys: passOneOutput: ", passOneOutput) + passTwoOutputs := usersWatcher.PassTwoKeys(passOneOutput) + + udh := &UnittestDataHandler{} + ndv := udh.GetUnittestValidator("users") + expectedPassTwoOutputs := ndv.GetPassTwoKeys() + + assert.Nil(t, passTwoOutputs) + assert.Nil(t, expectedPassTwoOutputs) + +} + +func Test_Users_RefreshDefault(t *testing.T) { + + fmt.Println("initializing config ... Test_Users_RefreshDefault") + + // initialize config and gauge-lists + commons.InitConfigurations(commons.GetWatchersConfigFile(commons.TESTS_USERS_CONFIG_FILE)) + + users_runTestcase(t) +} + +/** +* complete logic to call watcher, generate-mock data and asset is part of this function + */ +func users_runTestcase(t *testing.T) { + + // Check passoneKeys + usersWatcher := &statprocessors.UserStatsProcessor{} + nwPassOneKeys := usersWatcher.PassOneKeys() + passOneOutput, _ := dataprovider.GetProvider().RequestInfo(nwPassOneKeys) + fmt.Println("users_runTestcase: passOneOutput: ", passOneOutput) + passTwoOutputs := usersWatcher.PassTwoKeys(passOneOutput) + + // append common keys + infoKeys := []string{statprocessors.Infokey_ClusterName, statprocessors.Infokey_Service, statprocessors.Infokey_Build} + passTwoOutputs = append(passTwoOutputs, infoKeys...) + + arrRawMetrics, err := dataprovider.GetProvider().RequestInfo(passTwoOutputs) + assert.Nil(t, err, "Error while usersWatcher.PassTwokeys ") + assert.NotEmpty(t, arrRawMetrics, "Error while usersWatcher.PassTwokeys, RawMetrics is EMPTY ") + + // check the output with usersWatcher + usersMetrics, err := usersWatcher.Refresh(passTwoOutputs, arrRawMetrics) + assert.Nil(t, err, "Error while usersWatcher.Refresh with passTwoOutputs ") + assert.NotEmpty(t, usersMetrics, "Error while usersWatcher.Refresh, usersWatcher is EMPTY ") + + udh := &UnittestDataHandler{} + ndv := udh.GetUnittestValidator("users") + expected_results := ndv.GetMetricLabelsWithValues() + + for k := range usersMetrics { + // convert / serialize to string which can be compared to stored expected mock result + str_metric := fmt.Sprintf("%#v", usersMetrics[k]) + _, exists := expected_results[str_metric] + assert.True(t, exists, "Failed, did not find expected result: "+str_metric) + } + +} diff --git a/internal/pkg/statprocessors/tests/sp_xdr_test.go b/internal/pkg/statprocessors/tests/sp_xdr_test.go new file mode 100644 index 00000000..b3af9ef5 --- /dev/null +++ b/internal/pkg/statprocessors/tests/sp_xdr_test.go @@ -0,0 +1,111 @@ +package statprocessors + +import ( + "fmt" + "testing" + + "github.com/aerospike/aerospike-prometheus-exporter/internal/pkg/commons" + "github.com/aerospike/aerospike-prometheus-exporter/internal/pkg/dataprovider" + "github.com/aerospike/aerospike-prometheus-exporter/internal/pkg/statprocessors" + "github.com/stretchr/testify/assert" +) + +func Test_Xdr_PassOneKeys(t *testing.T) { + + fmt.Println("initializing config ... Test_Xdr_PassOneKeys") + + // Check passoneKeys + xdrWatcher := &statprocessors.XdrStatsProcessor{} + xdrPassOneKeys := xdrWatcher.PassOneKeys() + + udh := &UnittestDataHandler{} + ndv := udh.GetUnittestValidator("xdr") + passOneOutputs := ndv.GetPassOneKeys() + + var expectedOutputs []string + expectedOutputs = append(expectedOutputs, passOneOutputs["xdr"]) + + assert.Equal(t, xdrPassOneKeys, expectedOutputs) + +} + +func Test_Xdr_PassTwoKeys(t *testing.T) { + + fmt.Println("initializing config ... Test_Xdr_PassTwoKeys") + + // initialize config and gauge-lists + commons.InitConfigurations(commons.GetWatchersConfigFile(commons.TESTS_DEFAULT_CONFIG_FILE)) + + // Check passoneKeys + xdrWatcher := &statprocessors.XdrStatsProcessor{} + xdrPassOneKeys := xdrWatcher.PassOneKeys() + // append common keys + infoKeys := []string{statprocessors.Infokey_ClusterName, statprocessors.Infokey_Service, statprocessors.Infokey_Build, "namespaces"} + xdrPassOneKeys = append(xdrPassOneKeys, infoKeys...) + + passOneOutput, _ := dataprovider.GetProvider().RequestInfo(xdrPassOneKeys) + fmt.Println("Test_Xdr_PassTwoKeys: passOneOutput: ", passOneOutput) + + passTwoOutputs := xdrWatcher.PassTwoKeys(passOneOutput) + + udh := &UnittestDataHandler{} + ndv := udh.GetUnittestValidator("xdr") + expectedPassTwoOutputs := ndv.GetPassTwoKeys() + + assert.NotEmpty(t, passTwoOutputs) + assert.NotEmpty(t, expectedPassTwoOutputs) + + for idx := range expectedPassTwoOutputs { + // assert each element returned by NamespaceWatcher exists in expected outputs + assert.Contains(t, passTwoOutputs, expectedPassTwoOutputs[idx], " value exists!") + } + +} + +func Test_Xdr_RefreshDefault(t *testing.T) { + + fmt.Println("initializing config ... Test_Xdr_RefreshDefault") + + // initialize config and gauge-lists + commons.InitConfigurations(commons.GetWatchersConfigFile(commons.TESTS_DEFAULT_CONFIG_FILE)) + + xdr_runTestcase(t) +} + +/** +* complete logic to call watcher, generate-mock data and asset is part of this function + */ +func xdr_runTestcase(t *testing.T) { + + // Check passoneKeys + xdrWatcher := &statprocessors.XdrStatsProcessor{} + xdrPassOneKeys := xdrWatcher.PassOneKeys() + // append common keys + infoKeys := []string{statprocessors.Infokey_ClusterName, statprocessors.Infokey_Service, statprocessors.Infokey_Build, "namespaces"} + xdrPassOneKeys = append(xdrPassOneKeys, infoKeys...) + + passOneOutput, _ := dataprovider.GetProvider().RequestInfo(xdrPassOneKeys) + passTwoOutputs := xdrWatcher.PassTwoKeys(passOneOutput) + + passTwoOutputs = append(passTwoOutputs, infoKeys...) + arrRawMetrics, err := dataprovider.GetProvider().RequestInfo(passTwoOutputs) + + assert.Nil(t, err, "Error while XdrWatcher.PassTwokeys ") + assert.NotEmpty(t, arrRawMetrics, "Error while XdrWatcher.PassTwokeys, RawMetrics is EMPTY ") + + // check the output with NodeStatsWatcher + xdrMetrics, err := xdrWatcher.Refresh(passTwoOutputs, arrRawMetrics) + assert.Nil(t, err, "Error while XdrWatcher.Refresh with passTwoOutputs ") + assert.NotEmpty(t, xdrMetrics, "Error while XdrWatcher.Refresh, XdrWatcher is EMPTY ") + + udh := &UnittestDataHandler{} + ndv := udh.GetUnittestValidator("xdr") + expected_results := ndv.GetMetricLabelsWithValues() + + for k := range xdrMetrics { + // convert / serialize to string which can be compared to stored expected mock result + str_metric := fmt.Sprintf("%#v", xdrMetrics[k]) + _, exists := expected_results[str_metric] + assert.True(t, exists, "Failed, did not find expected result: "+str_metric) + } +} diff --git a/internal/pkg/statprocessors/tests/stats_tests_data_validator.go b/internal/pkg/statprocessors/tests/stats_tests_data_validator.go new file mode 100644 index 00000000..5a45d397 --- /dev/null +++ b/internal/pkg/statprocessors/tests/stats_tests_data_validator.go @@ -0,0 +1,567 @@ +package statprocessors + +import ( + "bufio" + "fmt" + "os" + "strconv" + "strings" + + "github.com/aerospike/aerospike-prometheus-exporter/internal/pkg/commons" +) + +/* +Dummy Raw Metrics, copied from local Aerospike Server +returns static test data copied from running an Aerospike Server with test namespaces, sets, sindex, jobs, latencies etc., +we need to update this data for each release to reflect the new metrics, contexts etc., +this data is passed to the watcher and expected output is also generated +once we have output from watcher-implementations ( like watcher_namespaces.go, watcher_node_stats.go) + + this output is compated with the expected results generated by Test-Cases +*/ + +var TEST_WATCHER_DATA_FILE = "tests_data/watcher_mock_results.txt" + +// read mock test data from a file +var Is_Unittests_Initialized = 0 + +type UnittestDataValidator interface { + Initialize(data []string) + GetPassOneKeys() map[string]string + GetPassTwoKeys() map[string]string + GetMetricLabelsWithValues() map[string]string +} + +type UnittestDataHandler struct { +} + +func (md *UnittestDataHandler) Initialize() { + + fmt.Println("Unittest Initializing ....: ") + + // Mark as initialized + Is_Unittests_Initialized = 1 + + // load expected test data from mock files + md.loadWatchersData() +} + +var ( + namespace_validator = &NamespaceUnittestValidator{} + node_stats_validator = &NodeUnittestValidator{} + xdr_validator = &XdrUnittestValidator{} + sets_validator = &SetsUnittestValidator{} + sindex_validator = &SindexUnittestValidator{} + latency_validator = &LatencyUnittestValidator{} + users_validator = &UsersUnittestValidator{} + prom_validator = &PrometheusUnittestValidator{} +) +var validators = map[string]UnittestDataValidator{ + "namespace": namespace_validator, + "node": node_stats_validator, + "xdr": xdr_validator, + "sets": sets_validator, + "sindex": sindex_validator, + "latency": latency_validator, + "users": users_validator, + "prometheus": prom_validator, +} + +func (md *UnittestDataHandler) GetUnittestValidator(key string) UnittestDataValidator { + md.Initialize() + + return validators[key] +} + +// Internal helper functions + +func (md *UnittestDataHandler) loadWatchersData() { + + filePath := commons.GetWatchersMockResultsFile(TEST_WATCHER_DATA_FILE) + // cwd, _ := os.Getwd() + // fileLocation := cwd + "/" + filePath + readFile, err := os.Open(filePath) + + if err != nil { + fmt.Println(err) + } + + fileScanner := bufio.NewScanner(readFile) + fileScanner.Split(bufio.ScanLines) + var fileLines []string + + for fileScanner.Scan() { + fileLines = append(fileLines, strings.TrimSpace(fileScanner.Text())) + } + + readFile.Close() + + // loop all validators and initialize + for _, validator := range validators { + validator.Initialize(fileLines) + } + + fmt.Println("loadWatchersData(): Completed loading test WATCHER Expected Data ") +} + +// =========================== +// +// Start Namespace +type NamespaceUnittestValidator struct { + PassOneOutputs []string + PassTwoOutputs []string + Metrics []string +} + +func (unp NamespaceUnittestValidator) Initialize(data []string) { + for _, line := range data { + if strings.HasPrefix(line, "#") && strings.HasPrefix(line, "//") { + // ignore, comments + } else if len(line) > 0 { + if strings.HasPrefix(line, "namespace-passonekeys:") { + namespace_validator.PassOneOutputs = append(namespace_validator.PassOneOutputs, line) + } else if strings.HasPrefix(line, "namespace-passtwokeys:") { + namespace_validator.PassTwoOutputs = append(namespace_validator.PassTwoOutputs, line) + } else if strings.HasPrefix(line, "statprocessors.AerospikeStat{Context:\"namespace\",") { + namespace_validator.Metrics = append(namespace_validator.Metrics, line) + } + } + } +} + +func (unp NamespaceUnittestValidator) GetPassOneKeys() map[string]string { + var outputs = make(map[string]string) + elements := unp.PassOneOutputs[0] + elements = strings.Replace(elements, "namespace-passonekeys:", "", 1) + elements = strings.Replace(elements, "]", "", 1) + elements = strings.Replace(elements, "[", "", 1) + + outputs["namespaces"] = elements + + return outputs +} + +func (unp NamespaceUnittestValidator) GetPassTwoKeys() map[string]string { + var outputs = make(map[string]string) + + out_values := unp.PassTwoOutputs[0] + out_values = strings.Replace(out_values, "namespace-passtwokeys:", "", 1) + out_values = strings.Replace(out_values, "[", "", 1) + out_values = strings.Replace(out_values, "]", "", 1) + elements := strings.Split(out_values, " ") + for i := 0; i < len(elements); i++ { + outputs["namespace_"+strconv.Itoa(i)] = elements[i] + } + + return outputs +} + +func (unp NamespaceUnittestValidator) GetMetricLabelsWithValues() map[string]string { + + var outputs = make(map[string]string) + for k := range unp.Metrics { + outputs[unp.Metrics[k]] = unp.Metrics[k] + } + + return outputs +} + +// End Namespace + +// Start Node +type NodeUnittestValidator struct { + PassOneOutputs []string + PassTwoOutputs []string + Metrics []string +} + +func (unp NodeUnittestValidator) Initialize(data []string) { + for _, line := range data { + if strings.HasPrefix(line, "#") && strings.HasPrefix(line, "//") { + // ignore, comments + } else if len(line) > 0 { + if strings.HasPrefix(line, "namespace-passonekeys:") { + namespace_validator.PassOneOutputs = append(namespace_validator.PassOneOutputs, line) + } else if strings.HasPrefix(line, "namespace-passtwokeys:") { + namespace_validator.PassTwoOutputs = append(namespace_validator.PassTwoOutputs, line) + } else if strings.HasPrefix(line, "statprocessors.AerospikeStat{Context:\"namespace\",") { + namespace_validator.Metrics = append(namespace_validator.Metrics, line) + } else if strings.HasPrefix(line, "node-passonekeys:") { + node_stats_validator.PassOneOutputs = append(node_stats_validator.PassOneOutputs, line) + } else if strings.HasPrefix(line, "node-passtwokeys:") { + node_stats_validator.PassTwoOutputs = append(node_stats_validator.PassTwoOutputs, line) + } else if strings.HasPrefix(line, "statprocessors.AerospikeStat{Context:\"node_stats\",") { + node_stats_validator.Metrics = append(node_stats_validator.Metrics, line) + } else if strings.HasPrefix(line, "xdr-passonekeys:") { + xdr_validator.PassOneOutputs = append(xdr_validator.PassOneOutputs, line) + } else if strings.HasPrefix(line, "xdr-passtwokeys:") { + xdr_validator.PassTwoOutputs = append(xdr_validator.PassTwoOutputs, line) + } else if strings.HasPrefix(line, "statprocessors.AerospikeStat{Context:\"xdr\",") { + xdr_validator.Metrics = append(xdr_validator.Metrics, line) + } else if strings.HasPrefix(line, "sets-passonekeys:") { + sets_validator.PassOneOutputs = append(sets_validator.PassOneOutputs, line) + } else if strings.HasPrefix(line, "sets-passtwokeys:") { + sets_validator.PassTwoOutputs = append(sets_validator.PassTwoOutputs, line) + } else if strings.HasPrefix(line, "statprocessors.AerospikeStat{Context:\"sets\",") { + sets_validator.Metrics = append(sets_validator.Metrics, line) + } else if strings.HasPrefix(line, "sindex-passonekeys:") { + sindex_validator.PassOneOutputs = append(sindex_validator.PassOneOutputs, line) + } else if strings.HasPrefix(line, "sindex-passtwokeys:") { + sindex_validator.PassTwoOutputs = append(sindex_validator.PassTwoOutputs, line) + } else if strings.HasPrefix(line, "statprocessors.AerospikeStat{Context:\"sindex\",") { + sindex_validator.Metrics = append(sindex_validator.Metrics, line) + } else if strings.HasPrefix(line, "latency-passonekeys:") { + latency_validator.PassOneOutputs = append(latency_validator.PassOneOutputs, line) + } else if strings.HasPrefix(line, "latency-passtwokeys:") { + latency_validator.PassTwoOutputs = append(latency_validator.PassTwoOutputs, line) + } else if strings.HasPrefix(line, "statprocessors.AerospikeStat{Context:\"latencies\",") { + latency_validator.Metrics = append(latency_validator.Metrics, line) + } else if strings.HasPrefix(line, "users-passonekeys:") { + users_validator.PassOneOutputs = append(users_validator.PassOneOutputs, line) + } else if strings.HasPrefix(line, "users-passtwokeys:") { + users_validator.PassTwoOutputs = append(users_validator.PassTwoOutputs, line) + } else if strings.HasPrefix(line, "statprocessors.AerospikeStat{Context:\"users\",") { + users_validator.Metrics = append(users_validator.Metrics, line) + } + } + } +} + +func (unp NodeUnittestValidator) GetPassOneKeys() map[string]string { + + return nil +} + +func (unp NodeUnittestValidator) GetPassTwoKeys() map[string]string { + var outputs = make(map[string]string) + + out_values := unp.PassTwoOutputs[0] + out_values = strings.Replace(out_values, "node-passtwokeys:", "", 1) + out_values = strings.Replace(out_values, "[", "", 1) + out_values = strings.Replace(out_values, "]", "", 1) + elements := strings.Split(out_values, " ") + + for i := 0; i < len(elements); i++ { + outputs["node_stat_"+strconv.Itoa(i)] = elements[i] + } + + return outputs +} + +func (unp NodeUnittestValidator) GetMetricLabelsWithValues() map[string]string { + var outputs = make(map[string]string) + for k := range unp.Metrics { + outputs[unp.Metrics[k]] = unp.Metrics[k] + } + + return outputs +} + +// End Node + +// Start Xdr +type XdrUnittestValidator struct { + PassOneOutputs []string + PassTwoOutputs []string + Metrics []string +} + +func (unp XdrUnittestValidator) Initialize(data []string) { + for _, line := range data { + if strings.HasPrefix(line, "#") && strings.HasPrefix(line, "//") { + // ignore, comments + } else if len(line) > 0 { + if strings.HasPrefix(line, "xdr-passonekeys:") { + xdr_validator.PassOneOutputs = append(xdr_validator.PassOneOutputs, line) + } else if strings.HasPrefix(line, "xdr-passtwokeys:") { + xdr_validator.PassTwoOutputs = append(xdr_validator.PassTwoOutputs, line) + } else if strings.HasPrefix(line, "statprocessors.AerospikeStat{Context:\"xdr\",") { + xdr_validator.Metrics = append(xdr_validator.Metrics, line) + } + } + } +} + +func (unp XdrUnittestValidator) GetPassOneKeys() map[string]string { + var outputs = make(map[string]string) + elements := unp.PassOneOutputs[0] + elements = strings.Replace(elements, "xdr-passonekeys:", "", 1) + elements = strings.Replace(elements, "]", "", 1) + elements = strings.Replace(elements, "[", "", 1) + + outputs["xdr"] = elements + + return outputs +} + +func (unp XdrUnittestValidator) GetPassTwoKeys() map[string]string { + var outputs = make(map[string]string) + + out_values := unp.PassTwoOutputs[0] + out_values = strings.Replace(out_values, "xdr-passtwokeys:", "", 1) + out_values = strings.Replace(out_values, "[", "", 1) + out_values = strings.Replace(out_values, "]", "", 1) + elements := strings.Split(out_values, " ") + for i := 0; i < len(elements); i++ { + outputs["xdr_"+strconv.Itoa(i)] = elements[i] + } + + return outputs +} + +func (unp XdrUnittestValidator) GetMetricLabelsWithValues() map[string]string { + var outputs = make(map[string]string) + for k := range unp.Metrics { + outputs[unp.Metrics[k]] = unp.Metrics[k] + } + + return outputs +} + +// End Xdr + +// Start Sets +type SetsUnittestValidator struct { + PassOneOutputs []string + PassTwoOutputs []string + Metrics []string +} + +func (unp SetsUnittestValidator) Initialize(data []string) { + for _, line := range data { + if strings.HasPrefix(line, "#") && strings.HasPrefix(line, "//") { + // ignore, comments + } else if len(line) > 0 { + if strings.HasPrefix(line, "sets-passonekeys:") { + sets_validator.PassOneOutputs = append(sets_validator.PassOneOutputs, line) + } else if strings.HasPrefix(line, "sets-passtwokeys:") { + sets_validator.PassTwoOutputs = append(sets_validator.PassTwoOutputs, line) + } else if strings.HasPrefix(line, "statprocessors.AerospikeStat{Context:\"sets\",") { + sets_validator.Metrics = append(sets_validator.Metrics, line) + } + } + } +} + +func (unp SetsUnittestValidator) GetPassOneKeys() map[string]string { + return nil +} + +func (unp SetsUnittestValidator) GetPassTwoKeys() map[string]string { + var outputs = make(map[string]string) + + out_values := unp.PassTwoOutputs[0] + out_values = strings.Replace(out_values, "sets-passtwokeys:", "", 1) + out_values = strings.Replace(out_values, "[", "", 1) + out_values = strings.Replace(out_values, "]", "", 1) + elements := strings.Split(out_values, " ") + for i := 0; i < len(elements); i++ { + outputs["sets_"+strconv.Itoa(i)] = elements[i] + } + + return outputs +} + +func (unp SetsUnittestValidator) GetMetricLabelsWithValues() map[string]string { + var outputs = make(map[string]string) + for k := range unp.Metrics { + outputs[unp.Metrics[k]] = unp.Metrics[k] + } + + return outputs +} + +// End Sets + +// Start Sindex +type SindexUnittestValidator struct { + PassOneOutputs []string + PassTwoOutputs []string + Metrics []string +} + +func (unp SindexUnittestValidator) Initialize(data []string) { + for _, line := range data { + if strings.HasPrefix(line, "#") && strings.HasPrefix(line, "//") { + // ignore, comments + } else if len(line) > 0 { + if strings.HasPrefix(line, "sindex-passonekeys:") { + sindex_validator.PassOneOutputs = append(sindex_validator.PassOneOutputs, line) + } else if strings.HasPrefix(line, "sindex-passtwokeys:") { + sindex_validator.PassTwoOutputs = append(sindex_validator.PassTwoOutputs, line) + } else if strings.HasPrefix(line, "statprocessors.AerospikeStat{Context:\"sindex\",") { + sindex_validator.Metrics = append(sindex_validator.Metrics, line) + } + } + } +} + +func (unp SindexUnittestValidator) GetPassOneKeys() map[string]string { + var outputs = make(map[string]string) + elements := unp.PassOneOutputs[0] + elements = strings.Replace(elements, "sindex-passonekeys:", "", 1) + elements = strings.Replace(elements, "]", "", 1) + elements = strings.Replace(elements, "[", "", 1) + + outputs["sindex"] = elements + + return outputs +} + +func (unp SindexUnittestValidator) GetPassTwoKeys() map[string]string { + var outputs = make(map[string]string) + + out_values := unp.PassTwoOutputs[0] + out_values = strings.Replace(out_values, "sindex-passtwokeys:", "", 1) + out_values = strings.Replace(out_values, "[", "", 1) + out_values = strings.Replace(out_values, "]", "", 1) + elements := strings.Split(out_values, " ") + for i := 0; i < len(elements); i++ { + outputs["sindex_"+strconv.Itoa(i)] = elements[i] + } + + return outputs +} + +func (unp SindexUnittestValidator) GetMetricLabelsWithValues() map[string]string { + var outputs = make(map[string]string) + for k := range unp.Metrics { + outputs[unp.Metrics[k]] = unp.Metrics[k] + } + + return outputs +} + +// End Sindex + +// Start Latency +type LatencyUnittestValidator struct { + PassOneOutputs []string + PassTwoOutputs []string + Metrics []string +} + +func (unp LatencyUnittestValidator) Initialize(data []string) { + for _, line := range data { + if strings.HasPrefix(line, "#") && strings.HasPrefix(line, "//") { + // ignore, comments + } else if len(line) > 0 { + if strings.HasPrefix(line, "latency-passonekeys:") { + latency_validator.PassOneOutputs = append(latency_validator.PassOneOutputs, line) + } else if strings.HasPrefix(line, "latency-passtwokeys:") { + latency_validator.PassTwoOutputs = append(latency_validator.PassTwoOutputs, line) + } else if strings.HasPrefix(line, "statprocessors.AerospikeStat{Context:\"latencies\",") { + latency_validator.Metrics = append(latency_validator.Metrics, line) + } + } + } +} + +func (unp LatencyUnittestValidator) GetPassOneKeys() map[string]string { + return nil +} + +func (unp LatencyUnittestValidator) GetPassTwoKeys() map[string]string { + var outputs = make(map[string]string) + + out_values := unp.PassTwoOutputs[0] + out_values = strings.Replace(out_values, "latency-passtwokeys:", "", 1) + out_values = strings.Replace(out_values, "[", "", 1) + out_values = strings.Replace(out_values, "]", "", 1) + elements := strings.Split(out_values, " ") + for i := 0; i < len(elements); i++ { + outputs["latency_"+strconv.Itoa(i)] = elements[i] + } + + return outputs +} + +func (unp LatencyUnittestValidator) GetMetricLabelsWithValues() map[string]string { + var outputs = make(map[string]string) + for k := range unp.Metrics { + outputs[unp.Metrics[k]] = unp.Metrics[k] + } + + return outputs +} + +// End Latency + +// Start Latency +type UsersUnittestValidator struct { + PassOneOutputs []string + PassTwoOutputs []string + Metrics []string +} + +func (unp UsersUnittestValidator) Initialize(data []string) { + for _, line := range data { + if strings.HasPrefix(line, "#") && strings.HasPrefix(line, "//") { + // ignore, comments + } else if len(line) > 0 { + if strings.HasPrefix(line, "users-passonekeys:") { + users_validator.PassOneOutputs = append(users_validator.PassOneOutputs, line) + } else if strings.HasPrefix(line, "users-passtwokeys:") { + users_validator.PassTwoOutputs = append(users_validator.PassTwoOutputs, line) + } else if strings.HasPrefix(line, "statprocessors.AerospikeStat{Context:\"users\",") { + users_validator.Metrics = append(users_validator.Metrics, line) + } + } + } +} + +func (unp UsersUnittestValidator) GetPassOneKeys() map[string]string { + return nil +} + +func (unp UsersUnittestValidator) GetPassTwoKeys() map[string]string { + + return nil +} + +func (unp UsersUnittestValidator) GetMetricLabelsWithValues() map[string]string { + var outputs = make(map[string]string) + for k := range unp.Metrics { + outputs[unp.Metrics[k]] = unp.Metrics[k] + } + + return outputs +} + +// End Latency + +// Start Prometheus +type PrometheusUnittestValidator struct { + PassOneOutputs []string + PassTwoOutputs []string + Metrics []string +} + +func (unp PrometheusUnittestValidator) Initialize(data []string) { + for _, line := range data { + if len(line) > 0 && strings.HasPrefix(line, "aerospike_") { + prom_validator.Metrics = append(prom_validator.Metrics, strings.TrimSpace(line)) + } + } + +} + +func (unp PrometheusUnittestValidator) GetPassOneKeys() map[string]string { + return nil +} + +func (unp PrometheusUnittestValidator) GetPassTwoKeys() map[string]string { + + return nil +} + +func (unp PrometheusUnittestValidator) GetMetricLabelsWithValues() map[string]string { + var outputs = make(map[string]string) + for k := range unp.Metrics { + outputs[unp.Metrics[k]] = unp.Metrics[k] + } + + return outputs +} + +// End Prometheus diff --git a/tests/default_ape.toml b/internal/pkg/statprocessors/tests/tests_data/default_ape.toml similarity index 99% rename from tests/default_ape.toml rename to internal/pkg/statprocessors/tests/tests_data/default_ape.toml index 9f66e4cc..21eef25d 100644 --- a/tests/default_ape.toml +++ b/internal/pkg/statprocessors/tests/tests_data/default_ape.toml @@ -31,6 +31,9 @@ labels = {} bind = ":9145" +# is exporter running in mock test mode +use_mock_datasource = 1 + # metrics server timeout in seconds timeout = 10 diff --git a/tests/labels_ape.toml b/internal/pkg/statprocessors/tests/tests_data/labels_ape.toml similarity index 99% rename from tests/labels_ape.toml rename to internal/pkg/statprocessors/tests/tests_data/labels_ape.toml index 0c05497b..ee6f5c29 100644 --- a/tests/labels_ape.toml +++ b/internal/pkg/statprocessors/tests/tests_data/labels_ape.toml @@ -31,6 +31,9 @@ labels = {sample="sample_label_value"} bind = ":9145" +# is exporter running in mock test mode +use_mock_datasource = 1 + # metrics server timeout in seconds timeout = 10 diff --git a/tests/ns_allowlist_ape.toml b/internal/pkg/statprocessors/tests/tests_data/ns_allowlist_ape.toml similarity index 99% rename from tests/ns_allowlist_ape.toml rename to internal/pkg/statprocessors/tests/tests_data/ns_allowlist_ape.toml index 67188596..99a00e45 100644 --- a/tests/ns_allowlist_ape.toml +++ b/internal/pkg/statprocessors/tests/tests_data/ns_allowlist_ape.toml @@ -31,6 +31,9 @@ labels = {} bind = ":9145" +# is exporter running in mock test mode +use_mock_datasource = 1 + # metrics server timeout in seconds timeout = 10 diff --git a/tests/ns_blocklist_ape.toml b/internal/pkg/statprocessors/tests/tests_data/ns_blocklist_ape.toml similarity index 99% rename from tests/ns_blocklist_ape.toml rename to internal/pkg/statprocessors/tests/tests_data/ns_blocklist_ape.toml index 7cc4cf07..7a88b2b5 100644 --- a/tests/ns_blocklist_ape.toml +++ b/internal/pkg/statprocessors/tests/tests_data/ns_blocklist_ape.toml @@ -31,6 +31,9 @@ labels = {} bind = ":9145" +# is exporter running in mock test mode +use_mock_datasource = 1 + # metrics server timeout in seconds timeout = 10 diff --git a/ape.toml.template b/internal/pkg/statprocessors/tests/tests_data/users_ape.toml similarity index 67% rename from ape.toml.template rename to internal/pkg/statprocessors/tests/tests_data/users_ape.toml index ad7b02d6..a9f4a2f5 100644 --- a/ape.toml.template +++ b/internal/pkg/statprocessors/tests/tests_data/users_ape.toml @@ -10,13 +10,13 @@ # Applicable to 'root_ca', 'cert_file' and 'key_file' configurations. # Server certificate -cert_file = "${AGENT_CERT_FILE}" +cert_file = "" # Private key associated with server certificate -key_file = "${AGENT_KEY_FILE}" +key_file = "" # Root CA to validate client certificates (for mutual TLS) -root_ca = "${AGENT_ROOT_CA}" +root_ca = "" # Passphrase for encrypted key_file. Supports below formats, # 1. Passphrase directly - "" @@ -24,21 +24,24 @@ root_ca = "${AGENT_ROOT_CA}" # 3. Passphrase via environment variable - "env:" # 4. Passphrase via environment variable containing base64 encoded passphrase - "env-b64:" # 5. Passphrase in base64 encoded form - "b64:" -key_file_passphrase = "${AGENT_KEY_FILE_PASSPHRASE}" +key_file_passphrase = "" # labels to add to the prometheus metrics for e.g. labels={zone="asia-south1-a", platform="google compute engine"} -labels = {${METRIC_LABELS}} +labels = {} -bind = "${AGENT_BIND_HOST}:${AGENT_BIND_PORT}" +bind = ":9145" + +# is exporter running in mock test mode +use_mock_datasource = 1 # metrics server timeout in seconds -timeout = ${AGENT_TIMEOUT} +timeout = 10 # Exporter logging configuration # Log file path (optional, logs to console by default) # Level can be info|warning,warn|error,err|debug|trace ('info' by default) -log_file = "${AGENT_LOG_FILE}" -log_level = "${AGENT_LOG_LEVEL}" +log_file = "" +log_level = "" # Basic HTTP authentication for '/metrics'. # Supports below formats, @@ -47,12 +50,12 @@ log_level = "${AGENT_LOG_LEVEL}" # 3. Credential via environment variable - "env:" # 4. Credential via environment variable containing base64 encoded credential - "env-b64:" # 5. Credential in base64 encoded form - "b64:" -basic_auth_username = "${BASIC_AUTH_USERNAME}" -basic_auth_password = "${BASIC_AUTH_PASSWORD}" +basic_auth_username = "" +basic_auth_password = "" [Aerospike] -db_host = "${AS_HOST}" -db_port = ${AS_PORT} +db_host = "localhost" +db_port = 3000 # TLS certificates. # Supports below formats, @@ -62,13 +65,13 @@ db_port = ${AS_PORT} # Applicable to 'root_ca', 'cert_file' and 'key_file' configurations. # root certificate file -root_ca = "${AS_ROOT_CA}" +root_ca = "" # certificate file -cert_file = "${AS_CERT_FILE}" +cert_file = "" # key file -key_file = "${AS_KEY_FILE}" +key_file = "" # Passphrase for encrypted key_file. Supports below formats, # 1. Passphrase directly - "" @@ -76,10 +79,10 @@ key_file = "${AS_KEY_FILE}" # 3. Passphrase via environment variable - "env:" # 4. Passphrase via environment variable containing base64 encoded passphrase - "env-b64:" # 5. Passphrase in base64 encoded form - "b64:" -key_file_passphrase = "${AS_KEY_FILE_PASSPHRASE}" +key_file_passphrase = "" # node TLS name for authentication -node_tls_name = "${AS_NODE_TLS_NAME}" +node_tls_name = "" # Aerospike cluster security credentials. # Supports below formats, @@ -91,66 +94,60 @@ node_tls_name = "${AS_NODE_TLS_NAME}" # Applicable to 'user' and 'password' configurations. # database user -user = "${AS_AUTH_USER}" +user = "test_phani" # database password -password = "${AS_AUTH_PASSWORD}" +password = "test_phani" # authentication mode: internal (server authentication) [default], external (e.g., LDAP), pki. -auth_mode = "${AS_AUTH_MODE}" +auth_mode = "" # timeout for sending commands to the server node in seconds -timeout = ${TICKER_TIMEOUT} +timeout = 5 # Number of histogram buckets to export for latency metrics. Bucket thresholds range from 2^0 to 2^16 (17 buckets). -# e.g. latency_buckets_count = 5 will export first five buckets i.e. <=1ms, <=2ms, <=4ms, <=8ms and <=16ms. +# e.g. latency_buckets_count=5 will export first five buckets i.e. <=1ms, <=2ms, <=4ms, <=8ms and <=16ms. # Default: 0 (export all threshold buckets). -latency_buckets_count = ${LATENCY_BUCKETS_COUNT} +latency_buckets_count = 0 + +# Order of context - namespace, set, latencies, node-stats, xdr, user, jobs, sindex # Metrics Allowlist - If specified, only these metrics will be scraped. An empty list will exclude all metrics. # Commenting out the below allowlist configs will disable metrics filtering (i.e. all metrics will be scraped). -# Namespace metrics allowlist -# namespace_metrics_allowlist = [${NAMESPACE_METRICS_ALLOWLIST}] - -# Set metrics allowlist -# set_metrics_allowlist = [${SET_METRICS_ALLOWLIST}] - -# Node metrics allowlist -# node_metrics_allowlist = [${NODE_METRICS_ALLOWLIST}] - -# XDR metrics allowlist (only for Aerospike versions 5.0 and above) -# xdr_metrics_allowlist = [${XDR_METRICS_ALLOWLIST}] - -# Job (scans/queries) metrics allowlist -# job_metrics_allowlist = [${JOB_METRICS_ALLOWLIST}] +# Metrics Blocklist - If specified, these metrics will be NOT be scraped. An empty list will include all metrics. +# Commenting out the below blocklist configs will disable metrics filtering (i.e. no metrics will be blocked/filtered). -# Secondary index metrics allowlist -# sindex_metrics_allowlist = [${SINDEX_METRICS_ALLOWLIST}] +# globbing pattern (wildcard) are allowd for allowlist and blocklist +# for example "batch_index_*_buffers" -# Metrics Blocklist - If specified, these metrics will be NOT be scraped. +# Namespace metrics allowlist, to control which Namespace metrics should be collected. +# namespace_metrics_allowlist = [] +# namespace_metrics_blocklist = [] -# Namespace metrics blocklist -# namespace_metrics_blocklist = [${NAMESPACE_METRICS_BLOCKLIST}] +# set_metrics_allowlist = [] +# set_metrics_blocklist = [] -# Set metrics blocklist -# set_metrics_blocklist = [${SET_METRICS_BLOCKLIST}] +# Latencies histogram allowlist, to control which Histogram-name metrics should be collected. +# Note: globbing patterns (wildcard) are not supported for this latency metric configuration. +# latencies_metrics_allowlist = [] +# latencies_metrics_blocklist = [] -# Node metrics blocklist -# node_metrics_blocklist = [${NODE_METRICS_BLOCKLIST}] +# node_metrics_allowlist = [] +# node_metrics_blocklist = [] -# XDR metrics blocklist (only for Aerospike versions 5.0 and above) -# xdr_metrics_blocklist = [${XDR_METRICS_BLOCKLIST}] +# Support only from Aerospike versions 5.0 and above +# xdr_metrics_allowlist = [] +# xdr_metrics_blocklist = [] -# Job (scans/queries) metrics blocklist -# job_metrics_blocklist = [${JOB_METRICS_BLOCKLIST}] +# User statistics are available in Aerospike 5.6+ +# Note globbing patterns (wildcard) are not supported for this User configuration. +# user_metrics_users_allowlist = [] +# user_metrics_users_blocklist = [] -# Secondary index metrics blocklist -# sindex_metrics_blocklist = [${SINDEX_METRICS_BLOCKLIST}] +# job_metrics_allowlist = [] +# job_metrics_blocklist = [] -# Users Statistics (user statistics are available in Aerospike 5.6+) -# Users Allowlist and Blocklist to control for which users their statistics should be collected. -# Note globbing patterns are not supported for this configuration. +# sindex_metrics_allowlist = [] +# sindex_metrics_blocklist = [] -# user_metrics_users_allowlist = [${USER_METRICS_USERS_ALLOWLIST}] -# user_metrics_users_blocklist = [${USER_METRICS_USERS_BLOCKLIST}] diff --git a/internal/pkg/statprocessors/tests/tests_data/watcher_mock_results.txt b/internal/pkg/statprocessors/tests/tests_data/watcher_mock_results.txt new file mode 100644 index 00000000..cdba74e0 --- /dev/null +++ b/internal/pkg/statprocessors/tests/tests_data/watcher_mock_results.txt @@ -0,0 +1,1943 @@ +# Watchers - passOneKeys + +namespace-passonekeys:[namespaces] +node-passonekeys:nil +sets-passonekeys:nil +sindex-passonekeys:[sindex] +xdr-passonekeys:[get-config:context=xdr] +latency-passonekeys:nil +users-passonekeys:nil + +# Watchers - passTwokeys + +namespace-passtwokeys:[namespace/test namespace/bar namespace/bar_pmem namespace/employees_flash] +node-passtwokeys:[get-config:context=service statistics] +sets-passtwokeys:[sets] +xdr-passtwokeys:[get-stats:context=xdr;dc=172.17.0.8:8901 get-config:context=xdr;dc=172.17.0.8:8901 get-config:context=xdr;dc=172.17.0.8:8901;namespace=test get-stats:context=xdr;dc=172.17.0.8:8901;namespace=test get-config:context=xdr;dc=172.17.0.8:8901;namespace=bar get-stats:context=xdr;dc=172.17.0.8:8901;namespace=bar get-config:context=xdr;dc=172.17.0.8:8901;namespace=bar_pmem get-stats:context=xdr;dc=172.17.0.8:8901;namespace=bar_pmem get-config:context=xdr;dc=172.17.0.8:8901;namespace=employees_flash get-stats:context=xdr;dc=172.17.0.8:8901;namespace=employees_flash get-stats:context=xdr;dc=64_asia_sng_dr_1 get-config:context=xdr;dc=64_asia_sng_dr_1 get-config:context=xdr;dc=64_asia_sng_dr_1;namespace=test get-stats:context=xdr;dc=64_asia_sng_dr_1;namespace=test get-config:context=xdr;dc=64_asia_sng_dr_1;namespace=bar get-stats:context=xdr;dc=64_asia_sng_dr_1;namespace=bar get-config:context=xdr;dc=64_asia_sng_dr_1;namespace=bar_pmem get-stats:context=xdr;dc=64_asia_sng_dr_1;namespace=bar_pmem get-config:context=xdr;dc=64_asia_sng_dr_1;namespace=employees_flash get-stats:context=xdr;dc=64_asia_sng_dr_1;namespace=employees_flash] +latency-passtwokeys:[latencies:] +users-passtwokeys:nil +sindex-passtwokeys:[sindex/test/test_sindex1 sindex/test/7x_sindex_1 sindex/bar/7x_sindex_bar_2] + +=============================================================================================================================================== +## Namespace +=============================================================================================================================================== +statprocessors.AerospikeStat{Context:"namespace", Name:"transaction-pending-limit", MType:0x47, IsAllowed:true, Value:20, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"appeals_tx_active", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"xdr_from_proxy_write_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"pi_query_udf_bg_complete", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"tomb-raider-eligible-age", MType:0x47, IsAllowed:true, Value:86400, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine.direct-files", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"migrate_rx_partitions_active", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"fail_record_too_big", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"force-long-queries", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"hwm_breached", MType:0x47, IsAllowed:true, Value:1, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"xdr_client_write_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"effective_replication_factor", MType:0x47, IsAllowed:true, Value:1, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"unreplicated_records", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"effective_is_quiesced", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_write_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"nsup-hist-period", MType:0x47, IsAllowed:true, Value:3600, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"geo2dsphere-within.max-level", MType:0x47, IsAllowed:true, Value:20, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine_stripe_defrag_q", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "stripe_index", "stripe", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "4", "stripe-4.0xad001004", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine_stripe_writes", MType:0x43, IsAllowed:true, Value:23, Labels:[]string{"cluster_name", "service", "ns", "stripe_index", "stripe", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "0", "stripe-0.0xad001000", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_read_success", MType:0x43, IsAllowed:true, Value:599751, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"migrate_record_receives", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_delete_filtered_out", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"set_index_used_bytes", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"xdr_client_delete_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"nsup-period", MType:0x47, IsAllowed:true, Value:600, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"nsup-threads", MType:0x47, IsAllowed:true, Value:1, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"smd_evict_void_time", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_tsvc_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_udf_complete", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_udf_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"pi_query_short_basic_complete", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"stop_writes", MType:0x47, IsAllowed:true, Value:1, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"si_query_long_basic_abort", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine.enable-benchmarks-storage", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine.defrag-queue-min", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine_stripe_writes", MType:0x43, IsAllowed:true, Value:23, Labels:[]string{"cluster_name", "service", "ns", "stripe_index", "stripe", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "7", "stripe-7.0xad001007", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine_stripe_defrag_writes", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "stripe_index", "stripe", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "7", "stripe-7.0xad001007", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_write_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"evict-sys-memory-pct", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"strong-consistency", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine.evict-used-pct", MType:0x47, IsAllowed:true, Value:30, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine_stripe_defrag_writes", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "stripe_index", "stripe", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "1", "stripe-1.0xad001001", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"xdr_client_delete_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"xdr_from_proxy_write_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"ops_sub_write_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"si_query_ops_bg_abort", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"migrate-sleep", MType:0x47, IsAllowed:true, Value:1, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"index_used_bytes", MType:0x47, IsAllowed:true, Value:1.15108928e+08, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine_stripe_defrag_writes", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "stripe_index", "stripe", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "0", "stripe-0.0xad001000", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_read_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_lang_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"udf_sub_udf_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"udf_sub_lang_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"retransmit_udf_sub_dup_res", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine.compression-acceleration", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_delete_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"udf_sub_udf_filtered_out", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"enable-benchmarks-ops-sub", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_write_error", MType:0x43, IsAllowed:true, Value:3.3045319e+07, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_lang_read_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_tsvc_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"retransmit_all_write_dup_res", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"sindex_gc_cleaned", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine_stripe_defrag_writes", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "stripe_index", "stripe", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "3", "stripe-3.0xad001003", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_delete_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_read_success", MType:0x43, IsAllowed:true, Value:36114, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"si_query_short_basic_complete", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_read_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_read_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"migrate_records_transmitted", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_read_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_delete_not_found", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"udf_sub_udf_complete", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_tsvc_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_lang_delete_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"si_query_aggr_complete", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_tsvc_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_read_filtered_out", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"xdr_from_proxy_delete_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"dup_res_ask", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"xdr-tomb-raider-threads", MType:0x47, IsAllowed:true, Value:1, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine.defrag-startup-minimum", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_tsvc_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine_stripe_defrag_writes", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "stripe_index", "stripe", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "2", "stripe-2.0xad001002", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine_stripe_defrag_reads", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "stripe_index", "stripe", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "5", "stripe-5.0xad001005", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine.disable-odsync", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine.max-write-cache", MType:0x47, IsAllowed:true, Value:6.7108864e+07, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine.commit-to-device", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine.stop-writes-used-pct", MType:0x47, IsAllowed:true, Value:70, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"xmem_id", MType:0x43, IsAllowed:true, Value:1, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"query_proto_compression_ratio", MType:0x47, IsAllowed:true, Value:1, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_tsvc_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"geo2dsphere-within.strict", MType:0x47, IsAllowed:true, Value:1, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine_stripe_free_wblocks", MType:0x43, IsAllowed:true, Value:39, Labels:[]string{"cluster_name", "service", "ns", "stripe_index", "stripe", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "1", "stripe-1.0xad001001", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_delete_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_delete_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_tsvc_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"si_query_ops_bg_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"re_repl_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"stop-writes-sys-memory-pct", MType:0x47, IsAllowed:true, Value:90, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine.compression-level", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"migrate_tx_partitions_lead_remaining", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"migrate_rx_partitions_remaining", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_proxy_complete", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"migrate_signals_active", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"migrate_tx_partitions_imbalance", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"si_query_aggr_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"fail_xdr_forbidden", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine_stripe_used_bytes", MType:0x43, IsAllowed:true, Value:1.9528384e+08, Labels:[]string{"cluster_name", "service", "ns", "stripe_index", "stripe", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "6", "stripe-6.0xad001006", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_read_filtered_out", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"ns_cluster_size", MType:0x47, IsAllowed:true, Value:1, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"pi_query_ops_bg_complete", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"fail_generation", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine.defrag-sleep", MType:0x47, IsAllowed:true, Value:500, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine_stripe_used_bytes", MType:0x43, IsAllowed:true, Value:1.94858304e+08, Labels:[]string{"cluster_name", "service", "ns", "stripe_index", "stripe", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "5", "stripe-5.0xad001005", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"xdr_client_delete_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_read_filtered_out", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"pi_query_ops_bg_abort", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"si_query_long_basic_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"re_repl_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"retransmit_all_write_repl_write", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_udf_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_write_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_delete_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"strong-consistency-allow-expunge", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"geo2dsphere-within.max-cells", MType:0x47, IsAllowed:true, Value:12, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_proxy_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"truncate-threads", MType:0x47, IsAllowed:true, Value:4, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine.flush-max-ms", MType:0x47, IsAllowed:true, Value:1000, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine_stripe_defrag_reads", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "stripe_index", "stripe", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "1", "stripe-1.0xad001001", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"udf_sub_lang_delete_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"enable-benchmarks-udf-sub", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"rack-id", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"pi_query_aggr_abort", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"unavailable_partitions", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine_stripe_defrag_q", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "stripe_index", "stripe", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "5", "stripe-5.0xad001005", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"migrate_records_skipped", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"enable-benchmarks-udf", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"migrate_tx_partitions_active", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"inline-short-queries", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_write_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"xdr_bin_cemeteries", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_proxy_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_read_not_found", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_read_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_udf_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"si_query_udf_bg_complete", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine_stripe_free_wblocks", MType:0x43, IsAllowed:true, Value:39, Labels:[]string{"cluster_name", "service", "ns", "stripe_index", "stripe", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "4", "stripe-4.0xad001004", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_write_success", MType:0x43, IsAllowed:true, Value:1.798577e+06, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"fail_client_lost_conflict", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"migrate_tx_instances", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_lang_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_lang_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"pi_query_long_basic_complete", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"disallow-expunge", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine_stripe_defrag_reads", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "stripe_index", "stripe", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "7", "stripe-7.0xad001007", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"xdr_client_write_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_write_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_udf_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"si_query_udf_bg_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"truncating", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_delete_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"dup_res_respond_no_read", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine_stripe_defrag_q", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "stripe_index", "stripe", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "2", "stripe-2.0xad001002", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_udf_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"pi_query_ops_bg_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_lang_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_delete_not_found", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_lang_write_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"enable-benchmarks-write", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine_stripe_used_bytes", MType:0x43, IsAllowed:true, Value:1.9556112e+08, Labels:[]string{"cluster_name", "service", "ns", "stripe_index", "stripe", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "2", "stripe-2.0xad001002", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine_stripe_defrag_q", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "stripe_index", "stripe", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "1", "stripe-1.0xad001001", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"migrate_record_retransmits", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"partition-tree-sprigs", MType:0x47, IsAllowed:true, Value:256, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine_stripe_used_bytes", MType:0x43, IsAllowed:true, Value:1.95060464e+08, Labels:[]string{"cluster_name", "service", "ns", "stripe_index", "stripe", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "4", "stripe-4.0xad001004", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine_stripe_defrag_writes", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "stripe_index", "stripe", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "4", "stripe-4.0xad001004", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_udf_filtered_out", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_delete_not_found", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"si_query_udf_bg_abort", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"enable-benchmarks-batch-sub", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"record_proto_uncompressed_pct", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"max-record-size", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"non_expirable_objects", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_write_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"single-query-threads", MType:0x47, IsAllowed:true, Value:4, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"tombstones", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine_stripe_writes", MType:0x43, IsAllowed:true, Value:23, Labels:[]string{"cluster_name", "service", "ns", "stripe_index", "stripe", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "4", "stripe-4.0xad001004", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_read_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"retransmit_all_udf_dup_res", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"replication-factor", MType:0x47, IsAllowed:true, Value:2, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine.data-size", MType:0x47, IsAllowed:true, Value:4.294967296e+09, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"effective_prefer_uniform_balance", MType:0x47, IsAllowed:true, Value:1, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_delete_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine.tomb-raider-sleep", MType:0x47, IsAllowed:true, Value:1000, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_delete_filtered_out", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"pi_query_short_basic_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine.filesize", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"nsup_cycle_duration", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_write_filtered_out", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"ops_sub_write_filtered_out", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"migrate-order", MType:0x47, IsAllowed:true, Value:5, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"dup_res_respond_read", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"evicted_objects", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"data_avail_pct", MType:0x47, IsAllowed:true, Value:60, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine_stripe_defrag_reads", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "stripe_index", "stripe", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "4", "stripe-4.0xad001004", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine_stripe_free_wblocks", MType:0x43, IsAllowed:true, Value:39, Labels:[]string{"cluster_name", "service", "ns", "stripe_index", "stripe", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "6", "stripe-6.0xad001006", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"migrate_signals_remaining", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_read_filtered_out", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine_stripe_defrag_reads", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "stripe_index", "stripe", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "3", "stripe-3.0xad001003", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_udf_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"udf_sub_udf_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"conflict-resolve-writes", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"migrate-retransmit-ms", MType:0x47, IsAllowed:true, Value:5000, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"migrate_rx_partitions_initial", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_lang_write_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"index-stage-size", MType:0x47, IsAllowed:true, Value:1.073741824e+09, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine_stripe_used_bytes", MType:0x43, IsAllowed:true, Value:1.94993824e+08, Labels:[]string{"cluster_name", "service", "ns", "stripe_index", "stripe", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "0", "stripe-0.0xad001000", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_lang_delete_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_udf_complete", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"geo2dsphere-within.level-mod", MType:0x47, IsAllowed:true, Value:1, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"migrate_tx_partitions_remaining", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_udf_filtered_out", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"udf_sub_lang_write_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"prole_tombstones", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_udf_complete", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_udf_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"retransmit_udf_sub_repl_write", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_delete_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"re_repl_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"objects", MType:0x47, IsAllowed:true, Value:1.798577e+06, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine_stripe_defrag_reads", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "stripe_index", "stripe", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "6", "stripe-6.0xad001006", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"record_proto_compression_ratio", MType:0x47, IsAllowed:true, Value:1, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"appeals_tx_remaining", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_write_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"reject-xdr-writes", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine_stripe_defrag_q", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "stripe_index", "stripe", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "0", "stripe-0.0xad001000", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"xdr_client_write_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_write_filtered_out", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"current_time", MType:0x43, IsAllowed:true, Value:4.37564269e+08, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"pi_query_long_basic_abort", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"si_query_short_basic_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"data_compression_ratio", MType:0x47, IsAllowed:true, Value:1, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_proxy_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"retransmit_all_batch_sub_dup_res", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"si_query_ops_bg_complete", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine_stripe_writes", MType:0x43, IsAllowed:true, Value:23, Labels:[]string{"cluster_name", "service", "ns", "stripe_index", "stripe", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "5", "stripe-5.0xad001005", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"appeals_rx_active", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine_stripe_used_bytes", MType:0x43, IsAllowed:true, Value:1.94781904e+08, Labels:[]string{"cluster_name", "service", "ns", "stripe_index", "stripe", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "3", "stripe-3.0xad001003", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"retransmit_all_udf_repl_write", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"enable-hist-proxy", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"sindex-stage-size", MType:0x47, IsAllowed:true, Value:1.073741824e+09, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_lang_read_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"master_objects", MType:0x47, IsAllowed:true, Value:1.798577e+06, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine_stripe_free_wblocks", MType:0x43, IsAllowed:true, Value:39, Labels:[]string{"cluster_name", "service", "ns", "stripe_index", "stripe", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "7", "stripe-7.0xad001007", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_delete_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"ops_sub_write_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"sindex_used_bytes", MType:0x47, IsAllowed:true, Value:3.3554432e+07, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_lang_write_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"retransmit_ops_sub_dup_res", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"pi_query_udf_bg_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"disable-write-dup-res", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"xdr_tombstones", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_read_not_found", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"ops_sub_write_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"re_repl_tsvc_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"pending_quiesce", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"xdr_from_proxy_write_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_lang_write_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"background-query-max-rps", MType:0x47, IsAllowed:true, Value:10000, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine_stripe_writes", MType:0x43, IsAllowed:true, Value:23, Labels:[]string{"cluster_name", "service", "ns", "stripe_index", "stripe", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "3", "stripe-3.0xad001003", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"udf_sub_tsvc_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"deleted_last_bin", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine_stripe_writes", MType:0x43, IsAllowed:true, Value:23, Labels:[]string{"cluster_name", "service", "ns", "stripe_index", "stripe", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "2", "stripe-2.0xad001002", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"xdr_from_proxy_delete_not_found", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"ops_sub_tsvc_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine_stripe_writes", MType:0x43, IsAllowed:true, Value:23, Labels:[]string{"cluster_name", "service", "ns", "stripe_index", "stripe", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "6", "stripe-6.0xad001006", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"migrate_tx_partitions_initial", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_delete_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"pi_query_short_basic_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine_stripe_defrag_q", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "stripe_index", "stripe", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "3", "stripe-3.0xad001003", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine_stripe_defrag_writes", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "stripe_index", "stripe", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "5", "stripe-5.0xad001005", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"truncate_lut", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine_stripe_free_wblocks", MType:0x43, IsAllowed:true, Value:39, Labels:[]string{"cluster_name", "service", "ns", "stripe_index", "stripe", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "3", "stripe-3.0xad001003", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"appeals_records_exonerated", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"pi_query_udf_bg_abort", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"geo_region_query_cells", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"reject-non-xdr-writes", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"non_replica_objects", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"xdr_client_delete_not_found", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_lang_read_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"data_used_pct", MType:0x47, IsAllowed:true, Value:36, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_read_not_found", MType:0x43, IsAllowed:true, Value:84966, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"retransmit_all_delete_dup_res", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine_stripe_free_wblocks", MType:0x43, IsAllowed:true, Value:39, Labels:[]string{"cluster_name", "service", "ns", "stripe_index", "stripe", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "2", "stripe-2.0xad001002", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_read_not_found", MType:0x43, IsAllowed:true, Value:1.937893e+06, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"si_query_aggr_abort", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"re_repl_tsvc_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"disallow-null-setname", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"xdr_from_proxy_delete_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_proxy_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"tomb-raider-period", MType:0x47, IsAllowed:true, Value:86400, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"pi_query_long_basic_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"disable-cold-start-eviction", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine.defrag-lwm-pct", MType:0x47, IsAllowed:true, Value:50, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_write_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_read_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine_stripe_free_wblocks", MType:0x43, IsAllowed:true, Value:39, Labels:[]string{"cluster_name", "service", "ns", "stripe_index", "stripe", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "0", "stripe-0.0xad001000", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine_stripe_defrag_q", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "stripe_index", "stripe", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "6", "stripe-6.0xad001006", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_tsvc_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"evict-hist-buckets", MType:0x47, IsAllowed:true, Value:10000, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"ignore-migrate-fill-delay", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"ops_sub_tsvc_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"allow-ttl-without-nsup", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_lang_delete_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_delete_filtered_out", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"geo_region_query_falsepos", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine_stripe_writes", MType:0x43, IsAllowed:true, Value:23, Labels:[]string{"cluster_name", "service", "ns", "stripe_index", "stripe", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "1", "stripe-1.0xad001001", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_delete_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_udf_filtered_out", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"xdr-tomb-raider-period", MType:0x47, IsAllowed:true, Value:120, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine_stripe_free_wblocks", MType:0x43, IsAllowed:true, Value:39, Labels:[]string{"cluster_name", "service", "ns", "stripe_index", "stripe", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "5", "stripe-5.0xad001005", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_proxy_complete", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"evict_ttl", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_delete_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_udf_filtered_out", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"si_query_long_basic_complete", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"default-ttl", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"evict-tenths-pct", MType:0x47, IsAllowed:true, Value:5, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"nsup_cycle_deleted_pct", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine_stripe_used_bytes", MType:0x43, IsAllowed:true, Value:1.95180192e+08, Labels:[]string{"cluster_name", "service", "ns", "stripe_index", "stripe", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "7", "stripe-7.0xad001007", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_lang_read_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"clock_skew_stop_writes", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"retransmit_all_delete_repl_write", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"geo_region_query_points", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"xdr-bin-tombstone-ttl", MType:0x47, IsAllowed:true, Value:86400, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"prole_objects", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"data_total_bytes", MType:0x47, IsAllowed:true, Value:4.294967296e+09, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"migrate_rx_instances", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_udf_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"udf_sub_tsvc_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"retransmit_ops_sub_repl_write", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"fail_key_busy", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_write_filtered_out", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"udf_sub_lang_read_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"prefer-uniform-balance", MType:0x47, IsAllowed:true, Value:1, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"geo2dsphere-within.min-level", MType:0x47, IsAllowed:true, Value:1, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine_stripe_used_bytes", MType:0x43, IsAllowed:true, Value:1.9499816e+08, Labels:[]string{"cluster_name", "service", "ns", "stripe_index", "stripe", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "1", "stripe-1.0xad001001", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_read_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_write_filtered_out", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"master_tombstones", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine_stripe_defrag_writes", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "stripe_index", "stripe", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "6", "stripe-6.0xad001006", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"nodes_quiesced", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"expired_objects", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine_stripe_defrag_reads", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "stripe_index", "stripe", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "0", "stripe-0.0xad001000", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_lang_delete_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"non_replica_tombstones", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_read_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_udf_complete", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"enable-benchmarks-read", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_delete_filtered_out", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"dead_partitions", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"geo_region_query_reqs", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"geo2dsphere-within.earth-radius-meters", MType:0x47, IsAllowed:true, Value:6.371e+06, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"data_used_bytes", MType:0x47, IsAllowed:true, Value:1.560717808e+09, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_read_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"pi_query_aggr_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"si_query_short_basic_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine_stripe_defrag_q", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "stripe_index", "stripe", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "7", "stripe-7.0xad001007", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"query_proto_uncompressed_pct", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_write_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_delete_not_found", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"retransmit_all_read_dup_res", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine.stop-writes-avail-pct", MType:0x47, IsAllowed:true, Value:5, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine_stripe_defrag_reads", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "stripe_index", "stripe", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "2", "stripe-2.0xad001002", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"evict_void_time", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"xdr_from_proxy_delete_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_write_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"pi_query_aggr_complete", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"fail_xdr_lost_conflict", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "memory"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"data_avail_pct", MType:0x47, IsAllowed:true, Value:99, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_read_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_delete_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"fail_client_lost_conflict", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_lang_read_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_delete_filtered_out", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_udf_complete", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"ops_sub_write_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"pi_query_ops_bg_complete", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine.filesize", MType:0x43, IsAllowed:true, Value:4.294967296e+09, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"objects", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"xdr_client_write_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"evict-hist-buckets", MType:0x47, IsAllowed:true, Value:10000, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"migrate-retransmit-ms", MType:0x47, IsAllowed:true, Value:5000, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"nsup-period", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"re_repl_tsvc_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"evicted_objects", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"smd_evict_void_time", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"migrate_tx_partitions_imbalance", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_read_filtered_out", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_delete_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"udf_sub_lang_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"enable-hist-proxy", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine.cold-start-empty", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"effective_replication_factor", MType:0x47, IsAllowed:true, Value:1, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"xdr_bin_cemeteries", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"nsup_cycle_duration", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine_file_defrag_writes", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "file_index", "file", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "0", "/opt/aerospike/data/bar.dat", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"migrate_rx_partitions_initial", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"appeals_records_exonerated", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"migrate_record_receives", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine.stop-writes-used-pct", MType:0x47, IsAllowed:true, Value:70, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"migrate_tx_partitions_lead_remaining", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_delete_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_delete_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"enable-benchmarks-batch-sub", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"inline-short-queries", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"enable-benchmarks-ops-sub", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"prefer-uniform-balance", MType:0x47, IsAllowed:true, Value:1, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine_file_writes", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "file_index", "file", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "0", "/opt/aerospike/data/bar.dat", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_read_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_delete_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_udf_complete", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_read_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_udf_filtered_out", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"truncate-threads", MType:0x47, IsAllowed:true, Value:4, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine.evict-used-pct", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_read_filtered_out", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_write_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"retransmit_all_read_dup_res", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"si_query_ops_bg_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine.serialize-tomb-raider", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"master_objects", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_lang_delete_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_lang_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_delete_filtered_out", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"pi_query_short_basic_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"pi_query_long_basic_abort", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"migrate_records_transmitted", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_lang_read_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"pi_query_short_basic_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine.stop-writes-avail-pct", MType:0x47, IsAllowed:true, Value:5, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"sindex-stage-size", MType:0x47, IsAllowed:true, Value:1.073741824e+09, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"clock_skew_stop_writes", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_tsvc_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_udf_complete", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"retransmit_all_batch_sub_dup_res", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"evict-sys-memory-pct", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"replication-factor", MType:0x47, IsAllowed:true, Value:2, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine.commit-to-device", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine.compression-level", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"pending_quiesce", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"appeals_tx_active", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_write_filtered_out", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_read_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"si_query_udf_bg_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"geo2dsphere-within.min-level", MType:0x47, IsAllowed:true, Value:1, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"retransmit_all_write_dup_res", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"fail_xdr_forbidden", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine.defrag-queue-min", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_delete_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"dup_res_respond_no_read", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"ns_cluster_size", MType:0x47, IsAllowed:true, Value:1, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"prole_tombstones", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_read_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_delete_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_delete_filtered_out", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_udf_filtered_out", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"current_time", MType:0x43, IsAllowed:true, Value:4.37564269e+08, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"si_query_long_basic_abort", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"strong-consistency", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine.read-page-cache", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"migrate-order", MType:0x47, IsAllowed:true, Value:5, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"migrate-sleep", MType:0x47, IsAllowed:true, Value:1, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"stop_writes", MType:0x47, IsAllowed:true, Value:1, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"migrate_record_retransmits", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_write_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_read_not_found", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"geo_region_query_points", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"default-ttl", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"unreplicated_records", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"truncating", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"record_proto_compression_ratio", MType:0x47, IsAllowed:true, Value:1, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"pi_query_ops_bg_abort", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"si_query_aggr_abort", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_read_not_found", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_read_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"pi_query_udf_bg_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"si_query_short_basic_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"transaction-pending-limit", MType:0x47, IsAllowed:true, Value:20, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"non_expirable_objects", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"evict_void_time", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"sindex_gc_cleaned", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine_file_defrag_reads", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "file_index", "file", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "0", "/opt/aerospike/data/bar.dat", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_udf_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_udf_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_proxy_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_udf_filtered_out", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_write_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"si_query_aggr_complete", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"deleted_last_bin", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"xdr_tombstones", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"record_proto_uncompressed_pct", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_udf_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine.write-block-size", MType:0x47, IsAllowed:true, Value:8.388608e+06, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"effective_is_quiesced", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"si_query_short_basic_complete", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"allow-ttl-without-nsup", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"evict-tenths-pct", MType:0x47, IsAllowed:true, Value:5, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"index-stage-size", MType:0x47, IsAllowed:true, Value:1.073741824e+09, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine.sindex-startup-device-scan", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"xdr_client_delete_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_tsvc_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_proxy_complete", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"retransmit_all_write_repl_write", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_read_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_udf_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"si_query_aggr_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"re_repl_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_udf_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_write_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_lang_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"nsup-threads", MType:0x47, IsAllowed:true, Value:1, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"tomb-raider-eligible-age", MType:0x47, IsAllowed:true, Value:86400, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_read_filtered_out", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"udf_sub_lang_delete_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"nsup_cycle_deleted_pct", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"migrate_rx_partitions_active", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"xdr_client_write_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_delete_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_lang_write_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_lang_write_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"pi_query_aggr_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"disable-cold-start-eviction", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"query_proto_compression_ratio", MType:0x47, IsAllowed:true, Value:1, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"migrate_tx_partitions_remaining", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_proxy_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_delete_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"pi_query_short_basic_complete", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"geo2dsphere-within.max-level", MType:0x47, IsAllowed:true, Value:20, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine_file_used_bytes", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "file_index", "file", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "0", "/opt/aerospike/data/bar.dat", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_read_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"conflict-resolve-writes", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"geo2dsphere-within.earth-radius-meters", MType:0x47, IsAllowed:true, Value:6.371e+06, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_write_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"max-record-size", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"evict_ttl", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"xdr_client_delete_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_read_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"xdr_from_proxy_delete_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"ops_sub_write_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"si_query_ops_bg_abort", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_delete_not_found", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_tsvc_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"udf_sub_udf_filtered_out", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"strong-consistency-allow-expunge", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine.cache-replica-writes", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine.defrag-startup-minimum", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"migrate_rx_instances", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_write_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"xdr_from_proxy_write_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_write_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine_file_age", MType:0x43, IsAllowed:true, Value:-1, Labels:[]string{"cluster_name", "service", "ns", "file_index", "file", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "0", "/opt/aerospike/data/bar.dat", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"nodes_quiesced", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_read_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"pi_query_long_basic_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"re_repl_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine.max-write-cache", MType:0x47, IsAllowed:true, Value:6.7108864e+07, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"migrate_tx_partitions_active", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_tsvc_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_lang_delete_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"retransmit_all_udf_dup_res", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"stop-writes-sys-memory-pct", MType:0x47, IsAllowed:true, Value:90, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"xmem_id", MType:0x43, IsAllowed:true, Value:2, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"si_query_long_basic_complete", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"migrate_records_skipped", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_udf_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_read_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_delete_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_read_not_found", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"enable-benchmarks-udf", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"index_used_bytes", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"data_used_pct", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"migrate_tx_instances", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"appeals_rx_active", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"appeals_tx_remaining", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"xdr_client_delete_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"xdr-tomb-raider-period", MType:0x47, IsAllowed:true, Value:120, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"pi_query_udf_bg_abort", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"geo_region_query_reqs", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"data_compression_ratio", MType:0x47, IsAllowed:true, Value:1, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine_file_defrag_q", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "file_index", "file", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "0", "/opt/aerospike/data/bar.dat", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"effective_prefer_uniform_balance", MType:0x47, IsAllowed:true, Value:1, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_proxy_complete", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_write_filtered_out", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"udf_sub_lang_read_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine.compression-acceleration", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine.defrag-lwm-pct", MType:0x47, IsAllowed:true, Value:50, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"hwm_breached", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_udf_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_tsvc_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"fail_record_too_big", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"data_total_bytes", MType:0x47, IsAllowed:true, Value:4.294967296e+09, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"data_used_bytes", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"retransmit_ops_sub_repl_write", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"pi_query_udf_bg_complete", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"re_repl_tsvc_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine.direct-files", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_delete_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"si_query_ops_bg_complete", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"force-long-queries", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine.defrag-sleep", MType:0x47, IsAllowed:true, Value:1000, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_delete_not_found", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_proxy_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"udf_sub_lang_write_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"ops_sub_write_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"geo2dsphere-within.max-cells", MType:0x47, IsAllowed:true, Value:12, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"non_replica_objects", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine_file_free_wblocks", MType:0x43, IsAllowed:true, Value:511, Labels:[]string{"cluster_name", "service", "ns", "file_index", "file", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "0", "/opt/aerospike/data/bar.dat", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_lang_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"pi_query_aggr_abort", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"geo2dsphere-within.level-mod", MType:0x47, IsAllowed:true, Value:1, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine.tomb-raider-sleep", MType:0x47, IsAllowed:true, Value:1000, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_write_filtered_out", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_delete_not_found", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"xdr_from_proxy_delete_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"fail_key_busy", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"disallow-expunge", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"xdr-bin-tombstone-ttl", MType:0x47, IsAllowed:true, Value:86400, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"non_replica_tombstones", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"migrate_signals_remaining", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"xdr_client_write_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"ops_sub_tsvc_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"geo_region_query_cells", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"geo_region_query_falsepos", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_write_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"xdr_from_proxy_write_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"xdr_from_proxy_delete_not_found", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_write_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"background-query-max-rps", MType:0x47, IsAllowed:true, Value:10000, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine.disable-odsync", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"migrate_rx_partitions_remaining", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_read_filtered_out", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"si_query_udf_bg_abort", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine.enable-benchmarks-storage", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine.flush-max-ms", MType:0x47, IsAllowed:true, Value:1000, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_tsvc_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"re_repl_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"nsup-hist-period", MType:0x47, IsAllowed:true, Value:3600, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"partition-tree-sprigs", MType:0x47, IsAllowed:true, Value:256, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"tomb-raider-period", MType:0x47, IsAllowed:true, Value:86400, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"sindex_used_bytes", MType:0x47, IsAllowed:true, Value:1.6777216e+07, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"cache_read_pct", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_lang_write_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"retransmit_all_delete_repl_write", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"fail_generation", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"enable-benchmarks-read", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"migrate_tx_partitions_initial", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_read_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_read_not_found", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_tsvc_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"dup_res_ask", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"si_query_udf_bg_complete", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"rack-id", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"xdr-tomb-raider-threads", MType:0x47, IsAllowed:true, Value:1, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"retransmit_ops_sub_dup_res", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"reject-xdr-writes", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"set_index_used_bytes", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_write_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_delete_filtered_out", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_lang_write_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"retransmit_all_delete_dup_res", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"retransmit_udf_sub_dup_res", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"single-query-threads", MType:0x47, IsAllowed:true, Value:4, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"tombstones", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"expired_objects", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_write_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"ignore-migrate-fill-delay", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_lang_read_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"pi_query_aggr_complete", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"si_query_long_basic_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"fail_xdr_lost_conflict", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"master_tombstones", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_udf_complete", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"xdr_from_proxy_delete_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"udf_sub_udf_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"dup_res_respond_read", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"pi_query_ops_bg_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"enable-benchmarks-write", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"reject-non-xdr-writes", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_lang_read_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"si_query_short_basic_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"unavailable_partitions", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine_file_write_q", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "file_index", "file", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "0", "/opt/aerospike/data/bar.dat", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"retransmit_all_udf_repl_write", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_proxy_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_udf_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_write_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"udf_sub_udf_complete", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"enable-benchmarks-udf-sub", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"prole_objects", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"migrate_signals_active", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"ops_sub_write_filtered_out", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"pi_query_long_basic_complete", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_lang_delete_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"udf_sub_tsvc_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"truncate_lut", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"xdr_client_delete_not_found", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_udf_filtered_out", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_write_filtered_out", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_delete_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_delete_not_found", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"retransmit_udf_sub_repl_write", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"disable-write-dup-res", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"query_proto_uncompressed_pct", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"xdr_from_proxy_write_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"udf_sub_tsvc_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"disallow-null-setname", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"geo2dsphere-within.strict", MType:0x47, IsAllowed:true, Value:1, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"dead_partitions", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_tsvc_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_lang_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine.post-write-queue", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_lang_delete_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"udf_sub_udf_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"ops_sub_tsvc_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"nsup-hist-period", MType:0x47, IsAllowed:true, Value:3600, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"clock_skew_stop_writes", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_delete_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_lang_read_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"dup_res_respond_read", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"migrate_record_retransmits", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_udf_filtered_out", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"ops_sub_tsvc_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine_file_write_q", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "file_index", "file", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "0", "/opt/aerospike/data/bar_pmem.dat", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_lang_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_write_filtered_out", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"strong-consistency-allow-expunge", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"geo2dsphere-within.max-cells", MType:0x47, IsAllowed:true, Value:12, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"set_index_used_bytes", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_lang_read_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"force-long-queries", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_delete_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_read_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"pi_query_short_basic_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"pi_query_ops_bg_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"index-stage-size", MType:0x47, IsAllowed:true, Value:1.073741824e+09, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"xdr_from_proxy_write_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_write_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_proxy_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_tsvc_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"disable-cold-start-eviction", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"migrate_records_transmitted", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"migrate_record_receives", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"conflict-resolve-writes", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"enable-benchmarks-udf-sub", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"partition-tree-sprigs", MType:0x47, IsAllowed:true, Value:256, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_udf_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"si_query_short_basic_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"udf_sub_lang_write_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"master_objects", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"migrate_rx_instances", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"appeals_tx_active", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_delete_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"pi_query_short_basic_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"enable-benchmarks-ops-sub", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"reject-non-xdr-writes", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"unavailable_partitions", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"nodes_quiesced", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"retransmit_all_udf_dup_res", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"si_query_long_basic_abort", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"si_query_aggr_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"default-ttl", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine.flush-max-ms", MType:0x47, IsAllowed:true, Value:1000, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine_file_used_bytes", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "file_index", "file", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "0", "/opt/aerospike/data/bar_pmem.dat", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"ops_sub_write_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_read_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_delete_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_proxy_complete", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_udf_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"xdr_bin_cemeteries", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"migrate_signals_active", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine.compression-acceleration", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_read_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"geo2dsphere-within.strict", MType:0x47, IsAllowed:true, Value:1, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"fail_xdr_forbidden", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"non_replica_objects", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_lang_write_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_tsvc_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"pi_query_aggr_complete", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"si_query_long_basic_complete", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"geo_region_query_cells", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"inline-short-queries", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine.filesize", MType:0x43, IsAllowed:true, Value:4.294967296e+09, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"migrate_tx_partitions_remaining", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"xdr_from_proxy_delete_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_delete_filtered_out", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"ignore-migrate-fill-delay", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"xdr-tomb-raider-period", MType:0x47, IsAllowed:true, Value:120, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine_file_defrag_q", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "file_index", "file", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "0", "/opt/aerospike/data/bar_pmem.dat", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_delete_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_write_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"xdr_from_proxy_delete_not_found", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_lang_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_udf_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"re_repl_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"nsup-threads", MType:0x47, IsAllowed:true, Value:1, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"migrate_rx_partitions_initial", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_read_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"single-query-threads", MType:0x47, IsAllowed:true, Value:4, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine.defrag-startup-minimum", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_udf_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_read_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_udf_complete", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"udf_sub_lang_delete_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"retransmit_all_read_dup_res", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"stop-writes-sys-memory-pct", MType:0x47, IsAllowed:true, Value:90, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine.direct-files", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine.tomb-raider-sleep", MType:0x47, IsAllowed:true, Value:1000, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"data_total_bytes", MType:0x47, IsAllowed:true, Value:4.294967296e+09, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_write_filtered_out", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"geo_region_query_points", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_read_not_found", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"dup_res_ask", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"migrate_tx_partitions_active", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"udf_sub_lang_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"replication-factor", MType:0x47, IsAllowed:true, Value:2, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"geo2dsphere-within.earth-radius-meters", MType:0x47, IsAllowed:true, Value:6.371e+06, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_udf_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_write_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine.commit-to-device", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_lang_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_write_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_tsvc_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_read_filtered_out", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_delete_filtered_out", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_lang_delete_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"udf_sub_tsvc_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"si_query_ops_bg_complete", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine_file_defrag_reads", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "file_index", "file", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "0", "/opt/aerospike/data/bar_pmem.dat", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"appeals_records_exonerated", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"geo2dsphere-within.min-level", MType:0x47, IsAllowed:true, Value:1, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine.compression-level", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"disable-write-dup-res", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"transaction-pending-limit", MType:0x47, IsAllowed:true, Value:20, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"dup_res_respond_no_read", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"enable-benchmarks-batch-sub", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"enable-benchmarks-read", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine.defrag-queue-min", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_delete_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"xdr_from_proxy_write_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"si_query_ops_bg_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"geo2dsphere-within.max-level", MType:0x47, IsAllowed:true, Value:20, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine.defrag-lwm-pct", MType:0x47, IsAllowed:true, Value:50, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"master_tombstones", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_read_filtered_out", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"retransmit_ops_sub_repl_write", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"truncate-threads", MType:0x47, IsAllowed:true, Value:4, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_read_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_read_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"si_query_long_basic_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"record_proto_compression_ratio", MType:0x47, IsAllowed:true, Value:1, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"xdr_client_delete_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_write_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"geo2dsphere-within.level-mod", MType:0x47, IsAllowed:true, Value:1, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"evict_void_time", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"nsup_cycle_duration", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"migrate_tx_instances", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_lang_delete_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_proxy_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_write_filtered_out", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_delete_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"retransmit_all_write_dup_res", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"sindex_gc_cleaned", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"data_used_pct", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"si_query_aggr_complete", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"xdr_client_write_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_write_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_udf_filtered_out", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"index_used_bytes", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_read_not_found", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"data_avail_pct", MType:0x47, IsAllowed:true, Value:99, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"pi_query_ops_bg_complete", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"re_repl_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"migrate-order", MType:0x47, IsAllowed:true, Value:5, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"tomb-raider-period", MType:0x47, IsAllowed:true, Value:86400, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"current_time", MType:0x43, IsAllowed:true, Value:4.37564269e+08, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"truncate_lut", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_udf_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"pi_query_long_basic_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"enable-benchmarks-write", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"nsup_cycle_deleted_pct", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_delete_not_found", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"fail_xdr_lost_conflict", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"background-query-max-rps", MType:0x47, IsAllowed:true, Value:10000, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"ns_cluster_size", MType:0x47, IsAllowed:true, Value:1, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_lang_delete_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"migrate_records_skipped", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_lang_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"udf_sub_udf_complete", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"pi_query_short_basic_complete", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"si_query_short_basic_complete", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"si_query_udf_bg_complete", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"unreplicated_records", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"pending_quiesce", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine.stop-writes-used-pct", MType:0x47, IsAllowed:true, Value:70, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"deleted_last_bin", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"xdr-tomb-raider-threads", MType:0x47, IsAllowed:true, Value:1, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"fail_key_busy", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"evict-sys-memory-pct", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"objects", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"pi_query_ops_bg_abort", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"ops_sub_write_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"tomb-raider-eligible-age", MType:0x47, IsAllowed:true, Value:86400, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine_file_free_wblocks", MType:0x43, IsAllowed:true, Value:511, Labels:[]string{"cluster_name", "service", "ns", "file_index", "file", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "0", "/opt/aerospike/data/bar_pmem.dat", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_lang_read_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"pi_query_long_basic_complete", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"sindex-stage-size", MType:0x47, IsAllowed:true, Value:1.073741824e+09, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"prole_tombstones", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"evicted_objects", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_udf_filtered_out", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"retransmit_all_delete_repl_write", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"effective_is_quiesced", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"effective_prefer_uniform_balance", MType:0x47, IsAllowed:true, Value:1, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine_file_defrag_writes", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "file_index", "file", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "0", "/opt/aerospike/data/bar_pmem.dat", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"migrate_signals_remaining", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_delete_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_delete_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"fail_generation", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine.defrag-sleep", MType:0x47, IsAllowed:true, Value:1000, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"effective_replication_factor", MType:0x47, IsAllowed:true, Value:1, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"sindex_used_bytes", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_delete_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"retransmit_udf_sub_repl_write", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"geo_region_query_falsepos", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"evict-tenths-pct", MType:0x47, IsAllowed:true, Value:5, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine.enable-benchmarks-storage", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine.stop-writes-avail-pct", MType:0x47, IsAllowed:true, Value:5, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"xdr_tombstones", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_read_not_found", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"appeals_tx_remaining", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"pi_query_aggr_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_delete_not_found", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"re_repl_tsvc_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"re_repl_tsvc_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"allow-ttl-without-nsup", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"disallow-expunge", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"smd_evict_void_time", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_tsvc_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"xdr_from_proxy_write_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"xmem_id", MType:0x43, IsAllowed:true, Value:3, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"appeals_rx_active", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_write_filtered_out", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"udf_sub_udf_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"retransmit_all_write_repl_write", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"reject-xdr-writes", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"strong-consistency", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_read_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_delete_not_found", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"udf_sub_tsvc_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"udf_sub_udf_filtered_out", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"udf_sub_lang_read_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"migrate-sleep", MType:0x47, IsAllowed:true, Value:1, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"tombstones", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine_file_age", MType:0x43, IsAllowed:true, Value:-1, Labels:[]string{"cluster_name", "service", "ns", "file_index", "file", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "0", "/opt/aerospike/data/bar_pmem.dat", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_delete_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"ops_sub_tsvc_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"retransmit_all_delete_dup_res", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"si_query_udf_bg_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"migrate-retransmit-ms", MType:0x47, IsAllowed:true, Value:5000, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"xdr_client_delete_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"xdr_client_delete_not_found", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"retransmit_all_udf_repl_write", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"retransmit_all_batch_sub_dup_res", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_write_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_read_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_udf_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_read_filtered_out", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"ops_sub_write_filtered_out", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"fail_client_lost_conflict", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"stop_writes", MType:0x47, IsAllowed:true, Value:1, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_proxy_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"enable-hist-proxy", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_udf_complete", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_read_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_write_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_lang_write_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_read_not_found", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_lang_read_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"dead_partitions", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"data_used_bytes", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"pi_query_udf_bg_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"prefer-uniform-balance", MType:0x47, IsAllowed:true, Value:1, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"evict-hist-buckets", MType:0x47, IsAllowed:true, Value:10000, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine.evict-used-pct", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine.max-write-cache", MType:0x47, IsAllowed:true, Value:6.7108864e+07, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_delete_filtered_out", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"pi_query_long_basic_abort", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_tsvc_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"udf_sub_udf_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"rack-id", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"evict_ttl", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_udf_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_udf_complete", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_write_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"ops_sub_write_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"si_query_short_basic_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"re_repl_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"fail_record_too_big", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"non_replica_tombstones", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_delete_filtered_out", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"pi_query_aggr_abort", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"nsup-period", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_read_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_lang_delete_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"pi_query_udf_bg_complete", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"si_query_aggr_abort", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"si_query_ops_bg_abort", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"xdr-bin-tombstone-ttl", MType:0x47, IsAllowed:true, Value:86400, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine.disable-odsync", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"non_expirable_objects", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine_file_writes", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "file_index", "file", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "0", "/opt/aerospike/data/bar_pmem.dat", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"pi_query_udf_bg_abort", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"query_proto_uncompressed_pct", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_delete_not_found", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"xdr_from_proxy_delete_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"si_query_udf_bg_abort", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"migrate_rx_partitions_remaining", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_write_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_udf_filtered_out", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_tsvc_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_proxy_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_read_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"migrate_tx_partitions_initial", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_delete_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"retransmit_ops_sub_dup_res", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"max-record-size", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"prole_objects", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"migrate_tx_partitions_lead_remaining", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_proxy_complete", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_lang_write_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"migrate_rx_partitions_active", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_tsvc_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"record_proto_uncompressed_pct", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"query_proto_compression_ratio", MType:0x47, IsAllowed:true, Value:1, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"xdr_client_delete_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_read_filtered_out", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"xdr_from_proxy_delete_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_udf_complete", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"hwm_breached", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"expired_objects", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"retransmit_udf_sub_dup_res", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_write_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"xdr_client_write_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"geo_region_query_reqs", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"disallow-null-setname", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"enable-benchmarks-udf", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"truncating", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"migrate_tx_partitions_imbalance", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_write_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_lang_write_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_tsvc_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"data_compression_ratio", MType:0x47, IsAllowed:true, Value:1, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"xdr_client_write_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar_pmem", "pmem"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"sindex-type.mounts-budget", MType:0x47, IsAllowed:true, Value:4.294967296e+09, Labels:[]string{"cluster_name", "service", "ns", "sindex"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "flash"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_udf_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"migrate_tx_instances", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_delete_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"tomb-raider-eligible-age", MType:0x47, IsAllowed:true, Value:86400, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine.stop-writes-used-pct", MType:0x47, IsAllowed:true, Value:70, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"record_proto_uncompressed_pct", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"migrate_tx_partitions_initial", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"migrate_records_transmitted", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_read_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"retransmit_all_read_dup_res", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"sindex-type.evict-mounts-pct", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "sindex"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "flash"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"xmem_id", MType:0x43, IsAllowed:true, Value:4, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_read_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_delete_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"retransmit_udf_sub_repl_write", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"pi_query_udf_bg_complete", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"geo_region_query_points", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"enable-benchmarks-udf", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"clock_skew_stop_writes", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"migrate_rx_partitions_remaining", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_read_not_found", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"xdr_client_write_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_lang_delete_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_lang_delete_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"re_repl_tsvc_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"index-type_mount_age", MType:0x47, IsAllowed:true, Value:-1, Labels:[]string{"cluster_name", "service", "ns", "mount_index", "mount", "index"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "0", "/opt/aerospike/data/emp_flash_index", "flash"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine.compression-acceleration", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_tsvc_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"udf_sub_tsvc_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"dup_res_ask", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"retransmit_ops_sub_repl_write", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine.defrag-sleep", MType:0x47, IsAllowed:true, Value:1000, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"appeals_records_exonerated", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_delete_filtered_out", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_read_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"default-ttl", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"inline-short-queries", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"geo2dsphere-within.max-cells", MType:0x47, IsAllowed:true, Value:12, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_delete_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"non_replica_tombstones", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"query_proto_compression_ratio", MType:0x47, IsAllowed:true, Value:1, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_udf_filtered_out", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_proxy_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_read_filtered_out", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_delete_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine.evict-used-pct", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"prole_objects", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_lang_write_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"si_query_udf_bg_abort", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"tomb-raider-period", MType:0x47, IsAllowed:true, Value:86400, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_proxy_complete", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_lang_write_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"ops_sub_write_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"dup_res_respond_no_read", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"si_query_long_basic_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine.read-page-cache", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_tsvc_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"migrate_signals_active", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_read_not_found", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_write_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"migrate_records_skipped", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"pi_query_short_basic_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"geo_region_query_falsepos", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"deleted_last_bin", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_delete_not_found", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_udf_filtered_out", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_lang_delete_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_write_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"retransmit_all_udf_dup_res", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"retransmit_all_udf_repl_write", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"re_repl_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"nsup-hist-period", MType:0x47, IsAllowed:true, Value:3600, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine_file_defrag_writes", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "file_index", "file", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "0", "/opt/aerospike/data/emp_flash.dat", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"set_index_used_bytes", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_delete_not_found", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"retransmit_all_write_dup_res", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"dead_partitions", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_delete_filtered_out", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_read_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"ops_sub_write_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"fail_key_busy", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"reject-xdr-writes", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"prole_tombstones", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_proxy_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_delete_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"geo2dsphere-within.min-level", MType:0x47, IsAllowed:true, Value:1, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"geo2dsphere-within.max-level", MType:0x47, IsAllowed:true, Value:20, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_proxy_complete", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"truncate_lut", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_delete_filtered_out", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_delete_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"retransmit_all_delete_dup_res", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"max-record-size", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"smd_evict_void_time", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_udf_complete", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_lang_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_delete_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"geo_region_query_reqs", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"xdr-bin-tombstone-ttl", MType:0x47, IsAllowed:true, Value:86400, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"xdr_tombstones", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"data_used_pct", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_delete_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_read_not_found", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"si_query_ops_bg_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"reject-non-xdr-writes", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"sindex-type_mount_age", MType:0x47, IsAllowed:true, Value:-1, Labels:[]string{"cluster_name", "service", "ns", "mount_index", "mount", "sindex"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "0", "/opt/aerospike/data/emp_flash_sindex", "flash"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"ops_sub_tsvc_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"transaction-pending-limit", MType:0x47, IsAllowed:true, Value:20, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_write_filtered_out", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_udf_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_lang_read_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"fail_record_too_big", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"allow-ttl-without-nsup", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_udf_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"appeals_tx_remaining", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"xdr_client_write_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"udf_sub_udf_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"pi_query_udf_bg_abort", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"index-stage-size", MType:0x47, IsAllowed:true, Value:1.073741824e+09, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"prefer-uniform-balance", MType:0x47, IsAllowed:true, Value:1, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"nsup_cycle_duration", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_read_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"pi_query_aggr_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"si_query_long_basic_complete", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"evict-sys-memory-pct", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine.tomb-raider-sleep", MType:0x47, IsAllowed:true, Value:1000, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"sindex_used_bytes", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"migrate_signals_remaining", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"pi_query_ops_bg_complete", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine.filesize", MType:0x43, IsAllowed:true, Value:4.294967296e+09, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"data_total_bytes", MType:0x47, IsAllowed:true, Value:4.294967296e+09, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"evicted_objects", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"migrate_rx_partitions_active", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_tsvc_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_write_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_udf_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"udf_sub_udf_complete", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"partition-tree-sprigs", MType:0x47, IsAllowed:true, Value:256, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"expired_objects", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"record_proto_compression_ratio", MType:0x47, IsAllowed:true, Value:1, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_lang_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"fail_xdr_lost_conflict", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine.flush-max-ms", MType:0x47, IsAllowed:true, Value:1000, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"evict_void_time", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"hwm_breached", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_read_not_found", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"udf_sub_udf_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"master_tombstones", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_udf_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_lang_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_tsvc_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_read_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_read_filtered_out", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_tsvc_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_lang_read_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_write_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"pending_quiesce", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"migrate_tx_partitions_active", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"appeals_tx_active", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_write_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"xdr_from_proxy_delete_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"xdr_from_proxy_delete_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"retransmit_all_write_repl_write", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine_file_writes", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "file_index", "file", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "0", "/opt/aerospike/data/emp_flash.dat", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"pi_query_ops_bg_abort", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"re_repl_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"background-query-max-rps", MType:0x47, IsAllowed:true, Value:10000, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine.defrag-queue-min", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"pi_query_long_basic_abort", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"evict_ttl", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine_file_defrag_reads", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "file_index", "file", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "0", "/opt/aerospike/data/emp_flash.dat", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"nodes_quiesced", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_read_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_read_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine.direct-files", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"stop_writes", MType:0x47, IsAllowed:true, Value:1, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_write_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_delete_not_found", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_udf_filtered_out", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"ops_sub_tsvc_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"strong-consistency-allow-expunge", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_write_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_proxy_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"xdr_client_delete_not_found", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"pi_query_long_basic_complete", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"ignore-migrate-fill-delay", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"stop-writes-sys-memory-pct", MType:0x47, IsAllowed:true, Value:90, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"strong-consistency", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine.defrag-startup-minimum", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"truncating", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine.sindex-startup-device-scan", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_delete_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_write_filtered_out", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_delete_filtered_out", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"udf_sub_lang_write_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_read_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_udf_complete", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"ops_sub_write_filtered_out", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"migrate-order", MType:0x47, IsAllowed:true, Value:5, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine.serialize-tomb-raider", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_delete_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"xdr_from_proxy_delete_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_udf_complete", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_write_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"udf_sub_lang_read_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"si_query_aggr_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine.post-write-queue", MType:0x47, IsAllowed:true, Value:256, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine.write-block-size", MType:0x47, IsAllowed:true, Value:1.048576e+06, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"migrate_tx_partitions_remaining", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"disable-cold-start-eviction", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"enable-benchmarks-udf-sub", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"fail_generation", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"xdr_client_write_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_delete_not_found", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_tsvc_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_delete_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"xdr_bin_cemeteries", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_lang_delete_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"xdr_from_proxy_write_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"disable-write-dup-res", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine.enable-benchmarks-storage", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_delete_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"udf_sub_lang_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"sindex_mounts_used_pct", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine_file_used_bytes", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "file_index", "file", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "0", "/opt/aerospike/data/emp_flash.dat", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"retransmit_ops_sub_dup_res", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"si_query_aggr_abort", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"enable-hist-proxy", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"geo2dsphere-within.level-mod", MType:0x47, IsAllowed:true, Value:1, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"ns_cluster_size", MType:0x47, IsAllowed:true, Value:1, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"effective_is_quiesced", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_lang_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"si_query_ops_bg_complete", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine.stop-writes-avail-pct", MType:0x47, IsAllowed:true, Value:5, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"index_flash_alloc_pct", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_udf_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_lang_write_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_udf_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"pi_query_long_basic_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"fail_xdr_forbidden", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"enable-benchmarks-ops-sub", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"migrate-retransmit-ms", MType:0x47, IsAllowed:true, Value:5000, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_write_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine_file_write_q", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "file_index", "file", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "0", "/opt/aerospike/data/emp_flash.dat", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_tsvc_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_write_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"enable-benchmarks-batch-sub", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"index_used_bytes", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"truncate-threads", MType:0x47, IsAllowed:true, Value:4, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"index-type.evict-mounts-pct", MType:0x47, IsAllowed:true, Value:30, Labels:[]string{"cluster_name", "service", "ns", "index"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "flash"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine.disable-odsync", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"nsup-period", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_read_filtered_out", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"xdr_from_proxy_write_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"si_query_udf_bg_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"evict-tenths-pct", MType:0x47, IsAllowed:true, Value:5, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"migrate_rx_instances", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_tsvc_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"xdr_from_proxy_write_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"si_query_udf_bg_complete", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"re_repl_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"rack-id", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"objects", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"xdr_client_delete_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"xdr_client_delete_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_udf_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"re_repl_tsvc_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"enable-benchmarks-write", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"xdr-tomb-raider-period", MType:0x47, IsAllowed:true, Value:120, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"migrate_record_receives", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"migrate_record_retransmits", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_write_filtered_out", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"pi_query_short_basic_complete", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"pi_query_aggr_abort", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"pi_query_udf_bg_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine.compression-level", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine_file_defrag_q", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "file_index", "file", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "0", "/opt/aerospike/data/emp_flash.dat", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"cache_read_pct", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine_file_age", MType:0x43, IsAllowed:true, Value:-1, Labels:[]string{"cluster_name", "service", "ns", "file_index", "file", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "0", "/opt/aerospike/data/emp_flash.dat", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"udf_sub_udf_filtered_out", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"pi_query_aggr_complete", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"enable-benchmarks-read", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine.cold-start-empty", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"non_expirable_objects", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"conflict-resolve-writes", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine.commit-to-device", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine_file_free_wblocks", MType:0x43, IsAllowed:true, Value:4088, Labels:[]string{"cluster_name", "service", "ns", "file_index", "file", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "0", "/opt/aerospike/data/emp_flash.dat", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"data_used_bytes", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"data_avail_pct", MType:0x47, IsAllowed:true, Value:99, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"migrate_tx_partitions_lead_remaining", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine.cache-replica-writes", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"sindex_gc_cleaned", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"appeals_rx_active", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_write_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_read_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"udf_sub_lang_delete_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"retransmit_all_batch_sub_dup_res", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"xdr-tomb-raider-threads", MType:0x47, IsAllowed:true, Value:1, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"geo2dsphere-within.strict", MType:0x47, IsAllowed:true, Value:1, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"migrate_rx_partitions_initial", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"data_compression_ratio", MType:0x47, IsAllowed:true, Value:1, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"ops_sub_write_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"si_query_ops_bg_abort", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"migrate-sleep", MType:0x47, IsAllowed:true, Value:1, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"index_flash_alloc_bytes", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"udf_sub_tsvc_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"pi_query_short_basic_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"disallow-expunge", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine.max-write-cache", MType:0x47, IsAllowed:true, Value:6.7108864e+07, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_lang_read_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"retransmit_udf_sub_dup_res", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"si_query_aggr_complete", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"xdr_from_proxy_delete_not_found", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"effective_prefer_uniform_balance", MType:0x47, IsAllowed:true, Value:1, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"xdr_client_delete_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_udf_complete", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_read_filtered_out", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"evict-hist-buckets", MType:0x47, IsAllowed:true, Value:10000, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"geo2dsphere-within.earth-radius-meters", MType:0x47, IsAllowed:true, Value:6.371e+06, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"non_replica_objects", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"migrate_tx_partitions_imbalance", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_lang_read_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_read_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"disallow-null-setname", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"replication-factor", MType:0x47, IsAllowed:true, Value:2, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"sindex-stage-size", MType:0x47, IsAllowed:true, Value:1.073741824e+09, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"effective_replication_factor", MType:0x47, IsAllowed:true, Value:1, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"unreplicated_records", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_udf_filtered_out", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_proxy_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_read_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"pi_query_ops_bg_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"single-query-threads", MType:0x47, IsAllowed:true, Value:4, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"tombstones", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"dup_res_respond_read", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"force-long-queries", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"nsup-threads", MType:0x47, IsAllowed:true, Value:1, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"query_proto_uncompressed_pct", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"batch_sub_write_filtered_out", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"si_query_short_basic_complete", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"geo_region_query_cells", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"index-type.mounts-budget", MType:0x47, IsAllowed:true, Value:4.294967296e+09, Labels:[]string{"cluster_name", "service", "ns", "index"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "flash"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"master_objects", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"client_lang_write_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"from_proxy_batch_sub_write_success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"si_query_short_basic_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"index_mounts_used_pct", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"si_query_short_basic_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"si_query_long_basic_abort", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"fail_client_lost_conflict", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"storage-engine.defrag-lwm-pct", MType:0x47, IsAllowed:true, Value:50, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"retransmit_all_delete_repl_write", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"current_time", MType:0x43, IsAllowed:true, Value:4.37564269e+08, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"nsup_cycle_deleted_pct", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} +statprocessors.AerospikeStat{Context:"namespace", Name:"unavailable_partitions", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "storage_engine"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "employees_flash", "device"}} + + +=============================================================================================================================================== +## Node Stats +=============================================================================================================================================== +statprocessors.AerospikeStat{Context:"node_stats", Name:"batch-index-threads", MType:0x47, IsAllowed:true, Value:10, Labels:[]string{"cluster_name", "service"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000"}} +statprocessors.AerospikeStat{Context:"node_stats", Name:"batch-max-unused-buffers", MType:0x47, IsAllowed:true, Value:256, Labels:[]string{"cluster_name", "service"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000"}} +statprocessors.AerospikeStat{Context:"node_stats", Name:"enable-health-check", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000"}} +statprocessors.AerospikeStat{Context:"node_stats", Name:"enforce-best-practices", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000"}} +statprocessors.AerospikeStat{Context:"node_stats", Name:"debug-allocations", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000"}} +statprocessors.AerospikeStat{Context:"node_stats", Name:"enable-benchmarks-fabric", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000"}} +statprocessors.AerospikeStat{Context:"node_stats", Name:"enable-hist-info", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000"}} +statprocessors.AerospikeStat{Context:"node_stats", Name:"advertise-ipv6", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000"}} +statprocessors.AerospikeStat{Context:"node_stats", Name:"batch-max-buffers-per-queue", MType:0x47, IsAllowed:true, Value:255, Labels:[]string{"cluster_name", "service"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000"}} +statprocessors.AerospikeStat{Context:"node_stats", Name:"disable-udf-execution", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000"}} +statprocessors.AerospikeStat{Context:"node_stats", Name:"system_total_cpu_pct", MType:0x47, IsAllowed:true, Value:739, Labels:[]string{"cluster_name", "service"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000"}} +statprocessors.AerospikeStat{Context:"node_stats", Name:"threads_joinable", MType:0x47, IsAllowed:true, Value:11, Labels:[]string{"cluster_name", "service"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000"}} +statprocessors.AerospikeStat{Context:"node_stats", Name:"heap_mapped_kbytes", MType:0x47, IsAllowed:true, Value:1.473536e+06, Labels:[]string{"cluster_name", "service"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000"}} +statprocessors.AerospikeStat{Context:"node_stats", Name:"proxy_in_progress", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000"}} +statprocessors.AerospikeStat{Context:"node_stats", Name:"fabric_connections_opened", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000"}} +statprocessors.AerospikeStat{Context:"node_stats", Name:"long_queries_active", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000"}} +statprocessors.AerospikeStat{Context:"node_stats", Name:"cluster_clock_skew_stop_writes_sec", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000"}} +statprocessors.AerospikeStat{Context:"node_stats", Name:"heap_efficiency_pct", MType:0x47, IsAllowed:true, Value:95, Labels:[]string{"cluster_name", "service"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000"}} +statprocessors.AerospikeStat{Context:"node_stats", Name:"rw_in_progress", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000"}} +statprocessors.AerospikeStat{Context:"node_stats", Name:"heartbeat_connections_opened", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000"}} +statprocessors.AerospikeStat{Context:"node_stats", Name:"cluster_clock_skew_ms", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000"}} +statprocessors.AerospikeStat{Context:"node_stats", Name:"fabric_connections", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000"}} +statprocessors.AerospikeStat{Context:"node_stats", Name:"failed_best_practices", MType:0x47, IsAllowed:true, Value:1, Labels:[]string{"cluster_name", "service"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000"}} +statprocessors.AerospikeStat{Context:"node_stats", Name:"cluster_generation", MType:0x43, IsAllowed:true, Value:1, Labels:[]string{"cluster_name", "service"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000"}} +statprocessors.AerospikeStat{Context:"node_stats", Name:"system_free_mem_pct", MType:0x47, IsAllowed:true, Value:9, Labels:[]string{"cluster_name", "service"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000"}} +statprocessors.AerospikeStat{Context:"node_stats", Name:"threads_pool_total", MType:0x47, IsAllowed:true, Value:79, Labels:[]string{"cluster_name", "service"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000"}} +statprocessors.AerospikeStat{Context:"node_stats", Name:"client_connections_closed", MType:0x43, IsAllowed:true, Value:7694, Labels:[]string{"cluster_name", "service"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000"}} +statprocessors.AerospikeStat{Context:"node_stats", Name:"early_tsvc_batch_sub_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000"}} +statprocessors.AerospikeStat{Context:"node_stats", Name:"objects", MType:0x47, IsAllowed:true, Value:1.798577e+06, Labels:[]string{"cluster_name", "service"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000"}} +statprocessors.AerospikeStat{Context:"node_stats", Name:"fabric_connections_closed", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000"}} +statprocessors.AerospikeStat{Context:"node_stats", Name:"info_timeout", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000"}} +statprocessors.AerospikeStat{Context:"node_stats", Name:"heartbeat_connections_closed", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000"}} +statprocessors.AerospikeStat{Context:"node_stats", Name:"heartbeat_received_foreign", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000"}} +statprocessors.AerospikeStat{Context:"node_stats", Name:"early_tsvc_client_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000"}} +statprocessors.AerospikeStat{Context:"node_stats", Name:"cluster_integrity", MType:0x47, IsAllowed:true, Value:1, Labels:[]string{"cluster_name", "service"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000"}} +statprocessors.AerospikeStat{Context:"node_stats", Name:"system_kernel_cpu_pct", MType:0x47, IsAllowed:true, Value:272, Labels:[]string{"cluster_name", "service"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000"}} +statprocessors.AerospikeStat{Context:"node_stats", Name:"cluster_size", MType:0x47, IsAllowed:true, Value:1, Labels:[]string{"cluster_name", "service"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000"}} +statprocessors.AerospikeStat{Context:"node_stats", Name:"cluster_max_compatibility_id", MType:0x47, IsAllowed:true, Value:11, Labels:[]string{"cluster_name", "service"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000"}} +statprocessors.AerospikeStat{Context:"node_stats", Name:"heap_active_kbytes", MType:0x47, IsAllowed:true, Value:1.359456e+06, Labels:[]string{"cluster_name", "service"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000"}} +statprocessors.AerospikeStat{Context:"node_stats", Name:"info_queue", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000"}} +statprocessors.AerospikeStat{Context:"node_stats", Name:"info_complete", MType:0x43, IsAllowed:true, Value:1198, Labels:[]string{"cluster_name", "service"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000"}} +statprocessors.AerospikeStat{Context:"node_stats", Name:"early_tsvc_ops_sub_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000"}} +statprocessors.AerospikeStat{Context:"node_stats", Name:"batch_index_queue", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000"}} +statprocessors.AerospikeStat{Context:"node_stats", Name:"heap_site_count", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000"}} +statprocessors.AerospikeStat{Context:"node_stats", Name:"heartbeat_received_self", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000"}} +statprocessors.AerospikeStat{Context:"node_stats", Name:"cluster_is_member", MType:0x47, IsAllowed:true, Value:1, Labels:[]string{"cluster_name", "service"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000"}} +statprocessors.AerospikeStat{Context:"node_stats", Name:"system_user_cpu_pct", MType:0x47, IsAllowed:true, Value:467, Labels:[]string{"cluster_name", "service"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000"}} +statprocessors.AerospikeStat{Context:"node_stats", Name:"early_tsvc_from_proxy_batch_sub_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000"}} +statprocessors.AerospikeStat{Context:"node_stats", Name:"early_tsvc_udf_sub_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000"}} +statprocessors.AerospikeStat{Context:"node_stats", Name:"threads_pool_active", MType:0x47, IsAllowed:true, Value:79, Labels:[]string{"cluster_name", "service"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000"}} +statprocessors.AerospikeStat{Context:"node_stats", Name:"early_tsvc_from_proxy_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000"}} +statprocessors.AerospikeStat{Context:"node_stats", Name:"cluster_min_compatibility_id", MType:0x47, IsAllowed:true, Value:11, Labels:[]string{"cluster_name", "service"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000"}} +statprocessors.AerospikeStat{Context:"node_stats", Name:"process_cpu_pct", MType:0x47, IsAllowed:true, Value:322, Labels:[]string{"cluster_name", "service"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000"}} +statprocessors.AerospikeStat{Context:"node_stats", Name:"heap_allocated_kbytes", MType:0x47, IsAllowed:true, Value:1.288914e+06, Labels:[]string{"cluster_name", "service"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000"}} +statprocessors.AerospikeStat{Context:"node_stats", Name:"client_connections", MType:0x47, IsAllowed:true, Value:1, Labels:[]string{"cluster_name", "service"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000"}} +statprocessors.AerospikeStat{Context:"node_stats", Name:"heartbeat_connections", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000"}} +statprocessors.AerospikeStat{Context:"node_stats", Name:"uptime", MType:0x43, IsAllowed:true, Value:971, Labels:[]string{"cluster_name", "service"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000"}} +statprocessors.AerospikeStat{Context:"node_stats", Name:"system_thp_mem_kbytes", MType:0x43, IsAllowed:true, Value:2.230272e+06, Labels:[]string{"cluster_name", "service"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000"}} +statprocessors.AerospikeStat{Context:"node_stats", Name:"tombstones", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000"}} +statprocessors.AerospikeStat{Context:"node_stats", Name:"reaped_fds", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000"}} +statprocessors.AerospikeStat{Context:"node_stats", Name:"system_free_mem_kbytes", MType:0x43, IsAllowed:true, Value:1.166076e+06, Labels:[]string{"cluster_name", "service"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000"}} +statprocessors.AerospikeStat{Context:"node_stats", Name:"threads_detached", MType:0x47, IsAllowed:true, Value:105, Labels:[]string{"cluster_name", "service"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000"}} +statprocessors.AerospikeStat{Context:"node_stats", Name:"tree_gc_queue", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000"}} +statprocessors.AerospikeStat{Context:"node_stats", Name:"client_connections_opened", MType:0x43, IsAllowed:true, Value:7695, Labels:[]string{"cluster_name", "service"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000"}} +statprocessors.AerospikeStat{Context:"node_stats", Name:"demarshal_error", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000"}} +statprocessors.AerospikeStat{Context:"node_stats", Name:"batch_index_initiate", MType:0x43, IsAllowed:true, Value:646887, Labels:[]string{"cluster_name", "service"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000"}} + +=============================================================================================================================================== +## Xdr +=============================================================================================================================================== +statprocessors.AerospikeStat{Context:"xdr", Name:"hot_keys", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"uncompressed_pct", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"compression_ratio", MType:0x47, IsAllowed:true, Value:1, Labels:[]string{"cluster_name", "service", "dc"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"nodes", MType:0x47, IsAllowed:true, Value:1, Labels:[]string{"cluster_name", "service", "dc"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"in_progress", MType:0x47, IsAllowed:true, Value:35380, Labels:[]string{"cluster_name", "service", "dc"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"not_found", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"retry_conn_reset", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"recoveries", MType:0x43, IsAllowed:true, Value:4096, Labels:[]string{"cluster_name", "service", "dc"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"lag", MType:0x47, IsAllowed:true, Value:934, Labels:[]string{"cluster_name", "service", "dc"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"retry_dest", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"recoveries_pending", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"abandoned", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"lap_us", MType:0x47, IsAllowed:true, Value:4979, Labels:[]string{"cluster_name", "service", "dc"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"throughput", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"latency_ms", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"in_queue", MType:0x47, IsAllowed:true, Value:1.763197e+06, Labels:[]string{"cluster_name", "service", "dc"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"filtered_out", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"retry_no_node", MType:0x43, IsAllowed:true, Value:3.7922227e+07, Labels:[]string{"cluster_name", "service", "dc"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"bytes_shipped", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"dc_src-id", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"dc_trace-sample", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"dc_src-id", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901", "test"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"dc_trace-sample", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901", "test"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"in_progress", MType:0x47, IsAllowed:true, Value:35380, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901", "test"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"recoveries", MType:0x43, IsAllowed:true, Value:4096, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901", "test"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"lag", MType:0x47, IsAllowed:true, Value:934, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901", "test"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901", "test"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"abandoned", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901", "test"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"not_found", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901", "test"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"retry_no_node", MType:0x43, IsAllowed:true, Value:3.7922227e+07, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901", "test"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"retry_conn_reset", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901", "test"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"in_queue", MType:0x47, IsAllowed:true, Value:1.763197e+06, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901", "test"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"filtered_out", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901", "test"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"retry_dest", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901", "test"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"hot_keys", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901", "test"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"uncompressed_pct", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901", "test"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"throughput", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901", "test"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"recoveries_pending", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901", "test"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"bytes_shipped", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901", "test"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"compression_ratio", MType:0x47, IsAllowed:true, Value:1, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901", "test"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"dc_src-id", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901", "bar"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"dc_trace-sample", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901", "bar"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901", "bar"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"recoveries_pending", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901", "bar"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"compression_ratio", MType:0x47, IsAllowed:true, Value:1, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901", "bar"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"retry_dest", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901", "bar"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"bytes_shipped", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901", "bar"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"throughput", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901", "bar"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"in_queue", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901", "bar"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"in_progress", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901", "bar"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"abandoned", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901", "bar"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"retry_no_node", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901", "bar"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"not_found", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901", "bar"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"hot_keys", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901", "bar"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"uncompressed_pct", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901", "bar"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"lag", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901", "bar"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"filtered_out", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901", "bar"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"retry_conn_reset", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901", "bar"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"recoveries", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901", "bar"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"dc_src-id", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901", "bar_pmem"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"dc_trace-sample", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901", "bar_pmem"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"uncompressed_pct", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901", "bar_pmem"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"compression_ratio", MType:0x47, IsAllowed:true, Value:1, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901", "bar_pmem"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"retry_conn_reset", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901", "bar_pmem"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"recoveries_pending", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901", "bar_pmem"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"hot_keys", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901", "bar_pmem"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"in_queue", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901", "bar_pmem"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"in_progress", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901", "bar_pmem"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"retry_no_node", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901", "bar_pmem"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"not_found", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901", "bar_pmem"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"bytes_shipped", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901", "bar_pmem"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"filtered_out", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901", "bar_pmem"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"retry_dest", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901", "bar_pmem"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"recoveries", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901", "bar_pmem"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"throughput", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901", "bar_pmem"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"lag", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901", "bar_pmem"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901", "bar_pmem"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"abandoned", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901", "bar_pmem"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"dc_src-id", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901", "employees_flash"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"dc_trace-sample", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901", "employees_flash"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"filtered_out", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901", "employees_flash"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"recoveries_pending", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901", "employees_flash"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"hot_keys", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901", "employees_flash"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"uncompressed_pct", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901", "employees_flash"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"compression_ratio", MType:0x47, IsAllowed:true, Value:1, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901", "employees_flash"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"lag", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901", "employees_flash"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"retry_no_node", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901", "employees_flash"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"retry_conn_reset", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901", "employees_flash"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"retry_dest", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901", "employees_flash"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"bytes_shipped", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901", "employees_flash"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"abandoned", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901", "employees_flash"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"in_progress", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901", "employees_flash"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901", "employees_flash"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"not_found", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901", "employees_flash"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"recoveries", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901", "employees_flash"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"throughput", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901", "employees_flash"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"in_queue", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "172.17.0.8:8901", "employees_flash"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"throughput", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"lag", MType:0x47, IsAllowed:true, Value:552, Labels:[]string{"cluster_name", "service", "dc"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"in_queue", MType:0x47, IsAllowed:true, Value:206939, Labels:[]string{"cluster_name", "service", "dc"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"not_found", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"retry_no_node", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"compression_ratio", MType:0x47, IsAllowed:true, Value:1, Labels:[]string{"cluster_name", "service", "dc"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"latency_ms", MType:0x47, IsAllowed:true, Value:20, Labels:[]string{"cluster_name", "service", "dc"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"abandoned", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"recoveries", MType:0x43, IsAllowed:true, Value:4096, Labels:[]string{"cluster_name", "service", "dc"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"hot_keys", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"uncompressed_pct", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"nodes", MType:0x47, IsAllowed:true, Value:1, Labels:[]string{"cluster_name", "service", "dc"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"lap_us", MType:0x47, IsAllowed:true, Value:9505, Labels:[]string{"cluster_name", "service", "dc"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"in_progress", MType:0x47, IsAllowed:true, Value:38723, Labels:[]string{"cluster_name", "service", "dc"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"success", MType:0x43, IsAllowed:true, Value:1.552915e+06, Labels:[]string{"cluster_name", "service", "dc"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"retry_conn_reset", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"retry_dest", MType:0x43, IsAllowed:true, Value:2.363624e+06, Labels:[]string{"cluster_name", "service", "dc"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"bytes_shipped", MType:0x43, IsAllowed:true, Value:3.492030107e+09, Labels:[]string{"cluster_name", "service", "dc"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"filtered_out", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"recoveries_pending", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"dc_src-id", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"dc_trace-sample", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"dc_src-id", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1", "test"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"dc_trace-sample", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1", "test"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"retry_conn_reset", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1", "test"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"hot_keys", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1", "test"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"filtered_out", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1", "test"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"recoveries", MType:0x43, IsAllowed:true, Value:4096, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1", "test"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"uncompressed_pct", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1", "test"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"not_found", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1", "test"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"success", MType:0x43, IsAllowed:true, Value:1.552915e+06, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1", "test"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"bytes_shipped", MType:0x43, IsAllowed:true, Value:3.492030107e+09, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1", "test"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"throughput", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1", "test"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"in_progress", MType:0x47, IsAllowed:true, Value:38723, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1", "test"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"in_queue", MType:0x47, IsAllowed:true, Value:206939, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1", "test"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"abandoned", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1", "test"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"retry_no_node", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1", "test"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"retry_dest", MType:0x43, IsAllowed:true, Value:2.363624e+06, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1", "test"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"recoveries_pending", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1", "test"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"compression_ratio", MType:0x47, IsAllowed:true, Value:1, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1", "test"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"lag", MType:0x47, IsAllowed:true, Value:552, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1", "test"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"dc_trace-sample", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1", "bar"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"dc_src-id", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1", "bar"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"bytes_shipped", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1", "bar"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"uncompressed_pct", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1", "bar"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"recoveries", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1", "bar"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"in_queue", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1", "bar"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1", "bar"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"not_found", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1", "bar"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"retry_dest", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1", "bar"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"hot_keys", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1", "bar"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"lag", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1", "bar"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"filtered_out", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1", "bar"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"retry_conn_reset", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1", "bar"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"compression_ratio", MType:0x47, IsAllowed:true, Value:1, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1", "bar"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"in_progress", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1", "bar"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"retry_no_node", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1", "bar"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"recoveries_pending", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1", "bar"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"throughput", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1", "bar"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"abandoned", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1", "bar"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"dc_src-id", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1", "bar_pmem"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"dc_trace-sample", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1", "bar_pmem"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"lag", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1", "bar_pmem"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1", "bar_pmem"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"abandoned", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1", "bar_pmem"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"not_found", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1", "bar_pmem"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"retry_no_node", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1", "bar_pmem"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"hot_keys", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1", "bar_pmem"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"compression_ratio", MType:0x47, IsAllowed:true, Value:1, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1", "bar_pmem"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"in_progress", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1", "bar_pmem"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"recoveries_pending", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1", "bar_pmem"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"bytes_shipped", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1", "bar_pmem"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"in_queue", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1", "bar_pmem"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"filtered_out", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1", "bar_pmem"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"retry_conn_reset", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1", "bar_pmem"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"recoveries", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1", "bar_pmem"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"retry_dest", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1", "bar_pmem"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"uncompressed_pct", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1", "bar_pmem"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"throughput", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1", "bar_pmem"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"dc_src-id", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1", "employees_flash"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"dc_trace-sample", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1", "employees_flash"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"retry_dest", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1", "employees_flash"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"recoveries_pending", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1", "employees_flash"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"hot_keys", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1", "employees_flash"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"bytes_shipped", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1", "employees_flash"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"lag", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1", "employees_flash"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"retry_no_node", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1", "employees_flash"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"compression_ratio", MType:0x47, IsAllowed:true, Value:1, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1", "employees_flash"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"in_queue", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1", "employees_flash"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"in_progress", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1", "employees_flash"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"abandoned", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1", "employees_flash"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"not_found", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1", "employees_flash"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"retry_conn_reset", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1", "employees_flash"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"recoveries", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1", "employees_flash"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"uncompressed_pct", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1", "employees_flash"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"success", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1", "employees_flash"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"filtered_out", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1", "employees_flash"}} +statprocessors.AerospikeStat{Context:"xdr", Name:"throughput", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "dc", "ns"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "64_asia_sng_dr_1", "employees_flash"}} + +=============================================================================================================================================== +## Sets +=============================================================================================================================================== +statprocessors.AerospikeStat{Context:"sets", Name:"truncate_lut", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "set"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "from_branch_2"}} +statprocessors.AerospikeStat{Context:"sets", Name:"disable-eviction", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "set"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "from_branch_2"}} +statprocessors.AerospikeStat{Context:"sets", Name:"index_populating", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "set"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "from_branch_2"}} +statprocessors.AerospikeStat{Context:"sets", Name:"objects", MType:0x47, IsAllowed:true, Value:1.768645e+06, Labels:[]string{"cluster_name", "service", "ns", "set"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "from_branch_2"}} +statprocessors.AerospikeStat{Context:"sets", Name:"data_used_bytes", MType:0x47, IsAllowed:true, Value:1.5564076e+09, Labels:[]string{"cluster_name", "service", "ns", "set"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "from_branch_2"}} +statprocessors.AerospikeStat{Context:"sets", Name:"sindexes", MType:0x47, IsAllowed:true, Value:1, Labels:[]string{"cluster_name", "service", "ns", "set"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "from_branch_2"}} +statprocessors.AerospikeStat{Context:"sets", Name:"enable-index", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "set"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "from_branch_2"}} +statprocessors.AerospikeStat{Context:"sets", Name:"stop-writes-count", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "set"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "from_branch_2"}} +statprocessors.AerospikeStat{Context:"sets", Name:"stop-writes-size", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "set"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "from_branch_2"}} +statprocessors.AerospikeStat{Context:"sets", Name:"tombstones", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "set"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "from_branch_2"}} +statprocessors.AerospikeStat{Context:"sets", Name:"truncating", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "set"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "from_branch_2"}} +statprocessors.AerospikeStat{Context:"sets", Name:"default-ttl", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "set"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "from_branch_2"}} +statprocessors.AerospikeStat{Context:"sets", Name:"tombstones", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "set"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "test_branch_set_1"}} +statprocessors.AerospikeStat{Context:"sets", Name:"stop-writes-size", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "set"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "test_branch_set_1"}} +statprocessors.AerospikeStat{Context:"sets", Name:"objects", MType:0x47, IsAllowed:true, Value:9980, Labels:[]string{"cluster_name", "service", "ns", "set"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "test_branch_set_1"}} +statprocessors.AerospikeStat{Context:"sets", Name:"index_populating", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "set"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "test_branch_set_1"}} +statprocessors.AerospikeStat{Context:"sets", Name:"default-ttl", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "set"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "test_branch_set_1"}} +statprocessors.AerospikeStat{Context:"sets", Name:"disable-eviction", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "set"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "test_branch_set_1"}} +statprocessors.AerospikeStat{Context:"sets", Name:"enable-index", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "set"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "test_branch_set_1"}} +statprocessors.AerospikeStat{Context:"sets", Name:"stop-writes-count", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "set"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "test_branch_set_1"}} +statprocessors.AerospikeStat{Context:"sets", Name:"data_used_bytes", MType:0x47, IsAllowed:true, Value:1.43712e+06, Labels:[]string{"cluster_name", "service", "ns", "set"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "test_branch_set_1"}} +statprocessors.AerospikeStat{Context:"sets", Name:"truncate_lut", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "set"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "test_branch_set_1"}} +statprocessors.AerospikeStat{Context:"sets", Name:"sindexes", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "set"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "test_branch_set_1"}} +statprocessors.AerospikeStat{Context:"sets", Name:"truncating", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "set"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "test_branch_set_1"}} +statprocessors.AerospikeStat{Context:"sets", Name:"objects", MType:0x47, IsAllowed:true, Value:9971, Labels:[]string{"cluster_name", "service", "ns", "set"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "test_branch_set_2"}} +statprocessors.AerospikeStat{Context:"sets", Name:"data_used_bytes", MType:0x47, IsAllowed:true, Value:1.435824e+06, Labels:[]string{"cluster_name", "service", "ns", "set"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "test_branch_set_2"}} +statprocessors.AerospikeStat{Context:"sets", Name:"truncate_lut", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "set"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "test_branch_set_2"}} +statprocessors.AerospikeStat{Context:"sets", Name:"sindexes", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "set"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "test_branch_set_2"}} +statprocessors.AerospikeStat{Context:"sets", Name:"truncating", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "set"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "test_branch_set_2"}} +statprocessors.AerospikeStat{Context:"sets", Name:"default-ttl", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "set"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "test_branch_set_2"}} +statprocessors.AerospikeStat{Context:"sets", Name:"stop-writes-count", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "set"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "test_branch_set_2"}} +statprocessors.AerospikeStat{Context:"sets", Name:"stop-writes-size", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "set"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "test_branch_set_2"}} +statprocessors.AerospikeStat{Context:"sets", Name:"tombstones", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "set"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "test_branch_set_2"}} +statprocessors.AerospikeStat{Context:"sets", Name:"index_populating", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "set"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "test_branch_set_2"}} +statprocessors.AerospikeStat{Context:"sets", Name:"disable-eviction", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "set"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "test_branch_set_2"}} +statprocessors.AerospikeStat{Context:"sets", Name:"enable-index", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "set"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "test_branch_set_2"}} +statprocessors.AerospikeStat{Context:"sets", Name:"data_used_bytes", MType:0x47, IsAllowed:true, Value:1.437264e+06, Labels:[]string{"cluster_name", "service", "ns", "set"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "test_branch_set_3"}} +statprocessors.AerospikeStat{Context:"sets", Name:"truncating", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "set"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "test_branch_set_3"}} +statprocessors.AerospikeStat{Context:"sets", Name:"default-ttl", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "set"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "test_branch_set_3"}} +statprocessors.AerospikeStat{Context:"sets", Name:"enable-index", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "set"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "test_branch_set_3"}} +statprocessors.AerospikeStat{Context:"sets", Name:"index_populating", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "set"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "test_branch_set_3"}} +statprocessors.AerospikeStat{Context:"sets", Name:"stop-writes-count", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "set"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "test_branch_set_3"}} +statprocessors.AerospikeStat{Context:"sets", Name:"tombstones", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "set"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "test_branch_set_3"}} +statprocessors.AerospikeStat{Context:"sets", Name:"stop-writes-size", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "set"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "test_branch_set_3"}} +statprocessors.AerospikeStat{Context:"sets", Name:"objects", MType:0x47, IsAllowed:true, Value:9981, Labels:[]string{"cluster_name", "service", "ns", "set"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "test_branch_set_3"}} +statprocessors.AerospikeStat{Context:"sets", Name:"truncate_lut", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "set"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "test_branch_set_3"}} +statprocessors.AerospikeStat{Context:"sets", Name:"sindexes", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "set"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "test_branch_set_3"}} +statprocessors.AerospikeStat{Context:"sets", Name:"disable-eviction", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "set"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "test_branch_set_3"}} +statprocessors.AerospikeStat{Context:"sets", Name:"sindexes", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "set"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "test_from_branch_1"}} +statprocessors.AerospikeStat{Context:"sets", Name:"default-ttl", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "set"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "test_from_branch_1"}} +statprocessors.AerospikeStat{Context:"sets", Name:"enable-index", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "set"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "test_from_branch_1"}} +statprocessors.AerospikeStat{Context:"sets", Name:"stop-writes-count", MType:0x47, IsAllowed:true, Value:8e+07, Labels:[]string{"cluster_name", "service", "ns", "set"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "test_from_branch_1"}} +statprocessors.AerospikeStat{Context:"sets", Name:"stop-writes-size", MType:0x47, IsAllowed:true, Value:1000, Labels:[]string{"cluster_name", "service", "ns", "set"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "test_from_branch_1"}} +statprocessors.AerospikeStat{Context:"sets", Name:"truncate_lut", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "set"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "test_from_branch_1"}} +statprocessors.AerospikeStat{Context:"sets", Name:"data_used_bytes", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "set"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "test_from_branch_1"}} +statprocessors.AerospikeStat{Context:"sets", Name:"disable-eviction", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "set"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "test_from_branch_1"}} +statprocessors.AerospikeStat{Context:"sets", Name:"index_populating", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "set"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "test_from_branch_1"}} +statprocessors.AerospikeStat{Context:"sets", Name:"objects", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "set"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "test_from_branch_1"}} +statprocessors.AerospikeStat{Context:"sets", Name:"tombstones", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "set"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "test_from_branch_1"}} +statprocessors.AerospikeStat{Context:"sets", Name:"truncating", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "set"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "test_from_branch_1"}} +statprocessors.AerospikeStat{Context:"sets", Name:"objects", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "set"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "from_branch_1"}} +statprocessors.AerospikeStat{Context:"sets", Name:"truncate_lut", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "set"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "from_branch_1"}} +statprocessors.AerospikeStat{Context:"sets", Name:"sindexes", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "set"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "from_branch_1"}} +statprocessors.AerospikeStat{Context:"sets", Name:"disable-eviction", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "set"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "from_branch_1"}} +statprocessors.AerospikeStat{Context:"sets", Name:"enable-index", MType:0x47, IsAllowed:true, Value:1, Labels:[]string{"cluster_name", "service", "ns", "set"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "from_branch_1"}} +statprocessors.AerospikeStat{Context:"sets", Name:"index_populating", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "set"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "from_branch_1"}} +statprocessors.AerospikeStat{Context:"sets", Name:"tombstones", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "set"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "from_branch_1"}} +statprocessors.AerospikeStat{Context:"sets", Name:"truncating", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "set"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "from_branch_1"}} +statprocessors.AerospikeStat{Context:"sets", Name:"default-ttl", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "set"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "from_branch_1"}} +statprocessors.AerospikeStat{Context:"sets", Name:"stop-writes-count", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "set"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "from_branch_1"}} +statprocessors.AerospikeStat{Context:"sets", Name:"stop-writes-size", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "set"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "from_branch_1"}} +statprocessors.AerospikeStat{Context:"sets", Name:"data_used_bytes", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "set"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "from_branch_1"}} + +=============================================================================================================================================== +## Sindex +=============================================================================================================================================== +statprocessors.AerospikeStat{Context:"sindex", Name:"entries", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "sindex"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "test_sindex1"}} +statprocessors.AerospikeStat{Context:"sindex", Name:"used_bytes", MType:0x47, IsAllowed:true, Value:1.6777216e+07, Labels:[]string{"cluster_name", "service", "ns", "sindex"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "test_sindex1"}} +statprocessors.AerospikeStat{Context:"sindex", Name:"entries_per_bval", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "sindex"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "test_sindex1"}} +statprocessors.AerospikeStat{Context:"sindex", Name:"entries_per_rec", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "sindex"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "test_sindex1"}} +statprocessors.AerospikeStat{Context:"sindex", Name:"load_pct", MType:0x47, IsAllowed:true, Value:100, Labels:[]string{"cluster_name", "service", "ns", "sindex"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "test_sindex1"}} +statprocessors.AerospikeStat{Context:"sindex", Name:"load_time", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "sindex"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "test_sindex1"}} +statprocessors.AerospikeStat{Context:"sindex", Name:"stat_gc_recs", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "sindex"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "test_sindex1"}} +statprocessors.AerospikeStat{Context:"sindex", Name:"load_time", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "sindex"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "7x_sindex_1"}} +statprocessors.AerospikeStat{Context:"sindex", Name:"stat_gc_recs", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "sindex"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "7x_sindex_1"}} +statprocessors.AerospikeStat{Context:"sindex", Name:"entries", MType:0x47, IsAllowed:true, Value:29932, Labels:[]string{"cluster_name", "service", "ns", "sindex"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "7x_sindex_1"}} +statprocessors.AerospikeStat{Context:"sindex", Name:"used_bytes", MType:0x47, IsAllowed:true, Value:1.6777216e+07, Labels:[]string{"cluster_name", "service", "ns", "sindex"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "7x_sindex_1"}} +statprocessors.AerospikeStat{Context:"sindex", Name:"entries_per_bval", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "sindex"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "7x_sindex_1"}} +statprocessors.AerospikeStat{Context:"sindex", Name:"entries_per_rec", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "sindex"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "7x_sindex_1"}} +statprocessors.AerospikeStat{Context:"sindex", Name:"load_pct", MType:0x47, IsAllowed:true, Value:100, Labels:[]string{"cluster_name", "service", "ns", "sindex"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test", "7x_sindex_1"}} +statprocessors.AerospikeStat{Context:"sindex", Name:"entries", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "sindex"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "7x_sindex_bar_2"}} +statprocessors.AerospikeStat{Context:"sindex", Name:"used_bytes", MType:0x47, IsAllowed:true, Value:1.6777216e+07, Labels:[]string{"cluster_name", "service", "ns", "sindex"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "7x_sindex_bar_2"}} +statprocessors.AerospikeStat{Context:"sindex", Name:"entries_per_bval", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "sindex"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "7x_sindex_bar_2"}} +statprocessors.AerospikeStat{Context:"sindex", Name:"entries_per_rec", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "sindex"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "7x_sindex_bar_2"}} +statprocessors.AerospikeStat{Context:"sindex", Name:"load_pct", MType:0x47, IsAllowed:true, Value:100, Labels:[]string{"cluster_name", "service", "ns", "sindex"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "7x_sindex_bar_2"}} +statprocessors.AerospikeStat{Context:"sindex", Name:"load_time", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "sindex"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "7x_sindex_bar_2"}} +statprocessors.AerospikeStat{Context:"sindex", Name:"stat_gc_recs", MType:0x43, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "ns", "sindex"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "bar", "7x_sindex_bar_2"}} + +=============================================================================================================================================== +## Latencies +=============================================================================================================================================== +statprocessors.AerospikeStat{Context:"latencies", Name:"read_ms_bucket", MType:0x47, IsAllowed:true, Value:1012.1, Labels:[]string{"cluster_name", "service", "ns", "le"}, LabelValues:[]string{"", "", "test", "+Inf"}} +statprocessors.AerospikeStat{Context:"latencies", Name:"read_ms_count", MType:0x47, IsAllowed:true, Value:1012.1, Labels:[]string{"cluster_name", "service", "ns"}, LabelValues:[]string{"", "", "test"}} +statprocessors.AerospikeStat{Context:"latencies", Name:"read_ms_bucket", MType:0x47, IsAllowed:true, Value:1008.15281, Labels:[]string{"cluster_name", "service", "ns", "le"}, LabelValues:[]string{"", "", "test", "1"}} +statprocessors.AerospikeStat{Context:"latencies", Name:"read_ms_bucket", MType:0x47, IsAllowed:true, Value:1010.6830600000001, Labels:[]string{"cluster_name", "service", "ns", "le"}, LabelValues:[]string{"", "", "test", "2"}} +statprocessors.AerospikeStat{Context:"latencies", Name:"read_ms_bucket", MType:0x47, IsAllowed:true, Value:1012.1, Labels:[]string{"cluster_name", "service", "ns", "le"}, LabelValues:[]string{"", "", "test", "4"}} +statprocessors.AerospikeStat{Context:"latencies", Name:"read_ms_bucket", MType:0x47, IsAllowed:true, Value:1012.1, Labels:[]string{"cluster_name", "service", "ns", "le"}, LabelValues:[]string{"", "", "test", "8"}} +statprocessors.AerospikeStat{Context:"latencies", Name:"read_ms_bucket", MType:0x47, IsAllowed:true, Value:1012.1, Labels:[]string{"cluster_name", "service", "ns", "le"}, LabelValues:[]string{"", "", "test", "16"}} +statprocessors.AerospikeStat{Context:"latencies", Name:"read_ms_bucket", MType:0x47, IsAllowed:true, Value:1012.1, Labels:[]string{"cluster_name", "service", "ns", "le"}, LabelValues:[]string{"", "", "test", "32"}} +statprocessors.AerospikeStat{Context:"latencies", Name:"read_ms_bucket", MType:0x47, IsAllowed:true, Value:1012.1, Labels:[]string{"cluster_name", "service", "ns", "le"}, LabelValues:[]string{"", "", "test", "64"}} +statprocessors.AerospikeStat{Context:"latencies", Name:"read_ms_bucket", MType:0x47, IsAllowed:true, Value:1012.1, Labels:[]string{"cluster_name", "service", "ns", "le"}, LabelValues:[]string{"", "", "test", "128"}} +statprocessors.AerospikeStat{Context:"latencies", Name:"read_ms_bucket", MType:0x47, IsAllowed:true, Value:1012.1, Labels:[]string{"cluster_name", "service", "ns", "le"}, LabelValues:[]string{"", "", "test", "256"}} +statprocessors.AerospikeStat{Context:"latencies", Name:"read_ms_bucket", MType:0x47, IsAllowed:true, Value:1012.1, Labels:[]string{"cluster_name", "service", "ns", "le"}, LabelValues:[]string{"", "", "test", "512"}} +statprocessors.AerospikeStat{Context:"latencies", Name:"read_ms_bucket", MType:0x47, IsAllowed:true, Value:1012.1, Labels:[]string{"cluster_name", "service", "ns", "le"}, LabelValues:[]string{"", "", "test", "1024"}} +statprocessors.AerospikeStat{Context:"latencies", Name:"read_ms_bucket", MType:0x47, IsAllowed:true, Value:1012.1, Labels:[]string{"cluster_name", "service", "ns", "le"}, LabelValues:[]string{"", "", "test", "2048"}} +statprocessors.AerospikeStat{Context:"latencies", Name:"read_ms_bucket", MType:0x47, IsAllowed:true, Value:1012.1, Labels:[]string{"cluster_name", "service", "ns", "le"}, LabelValues:[]string{"", "", "test", "4096"}} +statprocessors.AerospikeStat{Context:"latencies", Name:"read_ms_bucket", MType:0x47, IsAllowed:true, Value:1012.1, Labels:[]string{"cluster_name", "service", "ns", "le"}, LabelValues:[]string{"", "", "test", "8192"}} +statprocessors.AerospikeStat{Context:"latencies", Name:"read_ms_bucket", MType:0x47, IsAllowed:true, Value:1012.1, Labels:[]string{"cluster_name", "service", "ns", "le"}, LabelValues:[]string{"", "", "test", "16384"}} +statprocessors.AerospikeStat{Context:"latencies", Name:"read_ms_bucket", MType:0x47, IsAllowed:true, Value:1012.1, Labels:[]string{"cluster_name", "service", "ns", "le"}, LabelValues:[]string{"", "", "test", "32768"}} +statprocessors.AerospikeStat{Context:"latencies", Name:"read_ms_bucket", MType:0x47, IsAllowed:true, Value:1012.1, Labels:[]string{"cluster_name", "service", "ns", "le"}, LabelValues:[]string{"", "", "test", "65536"}} +statprocessors.AerospikeStat{Context:"latencies", Name:"write_ms_bucket", MType:0x47, IsAllowed:true, Value:116454.9, Labels:[]string{"cluster_name", "service", "ns", "le"}, LabelValues:[]string{"", "", "test", "+Inf"}} +statprocessors.AerospikeStat{Context:"latencies", Name:"write_ms_count", MType:0x47, IsAllowed:true, Value:116454.9, Labels:[]string{"cluster_name", "service", "ns"}, LabelValues:[]string{"", "", "test"}} +statprocessors.AerospikeStat{Context:"latencies", Name:"write_ms_bucket", MType:0x47, IsAllowed:true, Value:116291.86314, Labels:[]string{"cluster_name", "service", "ns", "le"}, LabelValues:[]string{"", "", "test", "1"}} +statprocessors.AerospikeStat{Context:"latencies", Name:"write_ms_bucket", MType:0x47, IsAllowed:true, Value:116373.38157, Labels:[]string{"cluster_name", "service", "ns", "le"}, LabelValues:[]string{"", "", "test", "2"}} +statprocessors.AerospikeStat{Context:"latencies", Name:"write_ms_bucket", MType:0x47, IsAllowed:true, Value:116419.96353, Labels:[]string{"cluster_name", "service", "ns", "le"}, LabelValues:[]string{"", "", "test", "4"}} +statprocessors.AerospikeStat{Context:"latencies", Name:"write_ms_bucket", MType:0x47, IsAllowed:true, Value:116443.25451, Labels:[]string{"cluster_name", "service", "ns", "le"}, LabelValues:[]string{"", "", "test", "8"}} +statprocessors.AerospikeStat{Context:"latencies", Name:"write_ms_bucket", MType:0x47, IsAllowed:true, Value:116454.9, Labels:[]string{"cluster_name", "service", "ns", "le"}, LabelValues:[]string{"", "", "test", "16"}} +statprocessors.AerospikeStat{Context:"latencies", Name:"write_ms_bucket", MType:0x47, IsAllowed:true, Value:116454.9, Labels:[]string{"cluster_name", "service", "ns", "le"}, LabelValues:[]string{"", "", "test", "32"}} +statprocessors.AerospikeStat{Context:"latencies", Name:"write_ms_bucket", MType:0x47, IsAllowed:true, Value:116454.9, Labels:[]string{"cluster_name", "service", "ns", "le"}, LabelValues:[]string{"", "", "test", "64"}} +statprocessors.AerospikeStat{Context:"latencies", Name:"write_ms_bucket", MType:0x47, IsAllowed:true, Value:116454.9, Labels:[]string{"cluster_name", "service", "ns", "le"}, LabelValues:[]string{"", "", "test", "128"}} +statprocessors.AerospikeStat{Context:"latencies", Name:"write_ms_bucket", MType:0x47, IsAllowed:true, Value:116454.9, Labels:[]string{"cluster_name", "service", "ns", "le"}, LabelValues:[]string{"", "", "test", "256"}} +statprocessors.AerospikeStat{Context:"latencies", Name:"write_ms_bucket", MType:0x47, IsAllowed:true, Value:116454.9, Labels:[]string{"cluster_name", "service", "ns", "le"}, LabelValues:[]string{"", "", "test", "512"}} +statprocessors.AerospikeStat{Context:"latencies", Name:"write_ms_bucket", MType:0x47, IsAllowed:true, Value:116454.9, Labels:[]string{"cluster_name", "service", "ns", "le"}, LabelValues:[]string{"", "", "test", "1024"}} +statprocessors.AerospikeStat{Context:"latencies", Name:"write_ms_bucket", MType:0x47, IsAllowed:true, Value:116454.9, Labels:[]string{"cluster_name", "service", "ns", "le"}, LabelValues:[]string{"", "", "test", "2048"}} +statprocessors.AerospikeStat{Context:"latencies", Name:"write_ms_bucket", MType:0x47, IsAllowed:true, Value:116454.9, Labels:[]string{"cluster_name", "service", "ns", "le"}, LabelValues:[]string{"", "", "test", "4096"}} +statprocessors.AerospikeStat{Context:"latencies", Name:"write_ms_bucket", MType:0x47, IsAllowed:true, Value:116454.9, Labels:[]string{"cluster_name", "service", "ns", "le"}, LabelValues:[]string{"", "", "test", "8192"}} +statprocessors.AerospikeStat{Context:"latencies", Name:"write_ms_bucket", MType:0x47, IsAllowed:true, Value:116454.9, Labels:[]string{"cluster_name", "service", "ns", "le"}, LabelValues:[]string{"", "", "test", "16384"}} +statprocessors.AerospikeStat{Context:"latencies", Name:"write_ms_bucket", MType:0x47, IsAllowed:true, Value:116454.9, Labels:[]string{"cluster_name", "service", "ns", "le"}, LabelValues:[]string{"", "", "test", "32768"}} +statprocessors.AerospikeStat{Context:"latencies", Name:"write_ms_bucket", MType:0x47, IsAllowed:true, Value:116454.9, Labels:[]string{"cluster_name", "service", "ns", "le"}, LabelValues:[]string{"", "", "test", "65536"}} +statprocessors.AerospikeStat{Context:"latencies", Name:"batch-sub-read_ms_bucket", MType:0x47, IsAllowed:true, Value:3095.7, Labels:[]string{"cluster_name", "service", "ns", "le"}, LabelValues:[]string{"", "", "test", "+Inf"}} +statprocessors.AerospikeStat{Context:"latencies", Name:"batch-sub-read_ms_count", MType:0x47, IsAllowed:true, Value:3095.7, Labels:[]string{"cluster_name", "service", "ns"}, LabelValues:[]string{"", "", "test"}} +statprocessors.AerospikeStat{Context:"latencies", Name:"batch-sub-read_ms_bucket", MType:0x47, IsAllowed:true, Value:-27321.100349999997, Labels:[]string{"cluster_name", "service", "ns", "le"}, LabelValues:[]string{"", "", "test", "1"}} +statprocessors.AerospikeStat{Context:"latencies", Name:"batch-sub-read_ms_bucket", MType:0x47, IsAllowed:true, Value:3095.7, Labels:[]string{"cluster_name", "service", "ns", "le"}, LabelValues:[]string{"", "", "test", "2"}} +statprocessors.AerospikeStat{Context:"latencies", Name:"batch-sub-read_ms_bucket", MType:0x47, IsAllowed:true, Value:3095.7, Labels:[]string{"cluster_name", "service", "ns", "le"}, LabelValues:[]string{"", "", "test", "4"}} +statprocessors.AerospikeStat{Context:"latencies", Name:"batch-sub-read_ms_bucket", MType:0x47, IsAllowed:true, Value:3095.7, Labels:[]string{"cluster_name", "service", "ns", "le"}, LabelValues:[]string{"", "", "test", "8"}} +statprocessors.AerospikeStat{Context:"latencies", Name:"batch-sub-read_ms_bucket", MType:0x47, IsAllowed:true, Value:3095.7, Labels:[]string{"cluster_name", "service", "ns", "le"}, LabelValues:[]string{"", "", "test", "16"}} +statprocessors.AerospikeStat{Context:"latencies", Name:"batch-sub-read_ms_bucket", MType:0x47, IsAllowed:true, Value:3095.7, Labels:[]string{"cluster_name", "service", "ns", "le"}, LabelValues:[]string{"", "", "test", "32"}} +statprocessors.AerospikeStat{Context:"latencies", Name:"batch-sub-read_ms_bucket", MType:0x47, IsAllowed:true, Value:3095.7, Labels:[]string{"cluster_name", "service", "ns", "le"}, LabelValues:[]string{"", "", "test", "64"}} +statprocessors.AerospikeStat{Context:"latencies", Name:"batch-sub-read_ms_bucket", MType:0x47, IsAllowed:true, Value:3095.7, Labels:[]string{"cluster_name", "service", "ns", "le"}, LabelValues:[]string{"", "", "test", "128"}} +statprocessors.AerospikeStat{Context:"latencies", Name:"batch-sub-read_ms_bucket", MType:0x47, IsAllowed:true, Value:3095.7, Labels:[]string{"cluster_name", "service", "ns", "le"}, LabelValues:[]string{"", "", "test", "256"}} +statprocessors.AerospikeStat{Context:"latencies", Name:"batch-sub-read_ms_bucket", MType:0x47, IsAllowed:true, Value:3095.7, Labels:[]string{"cluster_name", "service", "ns", "le"}, LabelValues:[]string{"", "", "test", "512"}} +statprocessors.AerospikeStat{Context:"latencies", Name:"batch-sub-read_ms_bucket", MType:0x47, IsAllowed:true, Value:3095.7, Labels:[]string{"cluster_name", "service", "ns", "le"}, LabelValues:[]string{"", "", "test", "1024"}} +statprocessors.AerospikeStat{Context:"latencies", Name:"batch-sub-read_ms_bucket", MType:0x47, IsAllowed:true, Value:3095.7, Labels:[]string{"cluster_name", "service", "ns", "le"}, LabelValues:[]string{"", "", "test", "2048"}} +statprocessors.AerospikeStat{Context:"latencies", Name:"batch-sub-read_ms_bucket", MType:0x47, IsAllowed:true, Value:3095.7, Labels:[]string{"cluster_name", "service", "ns", "le"}, LabelValues:[]string{"", "", "test", "4096"}} +statprocessors.AerospikeStat{Context:"latencies", Name:"batch-sub-read_ms_bucket", MType:0x47, IsAllowed:true, Value:3095.7, Labels:[]string{"cluster_name", "service", "ns", "le"}, LabelValues:[]string{"", "", "test", "8192"}} +statprocessors.AerospikeStat{Context:"latencies", Name:"batch-sub-read_ms_bucket", MType:0x47, IsAllowed:true, Value:3095.7, Labels:[]string{"cluster_name", "service", "ns", "le"}, LabelValues:[]string{"", "", "test", "16384"}} +statprocessors.AerospikeStat{Context:"latencies", Name:"batch-sub-read_ms_bucket", MType:0x47, IsAllowed:true, Value:3095.7, Labels:[]string{"cluster_name", "service", "ns", "le"}, LabelValues:[]string{"", "", "test", "32768"}} +statprocessors.AerospikeStat{Context:"latencies", Name:"batch-sub-read_ms_bucket", MType:0x47, IsAllowed:true, Value:3095.7, Labels:[]string{"cluster_name", "service", "ns", "le"}, LabelValues:[]string{"", "", "test", "65536"}} +statprocessors.AerospikeStat{Context:"latencies", Name:"batch-index_ms_bucket", MType:0x47, IsAllowed:true, Value:4014.2, Labels:[]string{"cluster_name", "service", "ns", "le"}, LabelValues:[]string{"", "", "", "+Inf"}} +statprocessors.AerospikeStat{Context:"latencies", Name:"batch-index_ms_count", MType:0x47, IsAllowed:true, Value:4014.2, Labels:[]string{"cluster_name", "service", "ns"}, LabelValues:[]string{"", "", ""}} +statprocessors.AerospikeStat{Context:"latencies", Name:"batch-index_ms_bucket", MType:0x47, IsAllowed:true, Value:3999.7488799999996, Labels:[]string{"cluster_name", "service", "ns", "le"}, LabelValues:[]string{"", "", "", "1"}} +statprocessors.AerospikeStat{Context:"latencies", Name:"batch-index_ms_bucket", MType:0x47, IsAllowed:true, Value:4014.2, Labels:[]string{"cluster_name", "service", "ns", "le"}, LabelValues:[]string{"", "", "", "2"}} +statprocessors.AerospikeStat{Context:"latencies", Name:"batch-index_ms_bucket", MType:0x47, IsAllowed:true, Value:4014.2, Labels:[]string{"cluster_name", "service", "ns", "le"}, LabelValues:[]string{"", "", "", "4"}} +statprocessors.AerospikeStat{Context:"latencies", Name:"batch-index_ms_bucket", MType:0x47, IsAllowed:true, Value:4014.2, Labels:[]string{"cluster_name", "service", "ns", "le"}, LabelValues:[]string{"", "", "", "8"}} +statprocessors.AerospikeStat{Context:"latencies", Name:"batch-index_ms_bucket", MType:0x47, IsAllowed:true, Value:4014.2, Labels:[]string{"cluster_name", "service", "ns", "le"}, LabelValues:[]string{"", "", "", "16"}} +statprocessors.AerospikeStat{Context:"latencies", Name:"batch-index_ms_bucket", MType:0x47, IsAllowed:true, Value:4014.2, Labels:[]string{"cluster_name", "service", "ns", "le"}, LabelValues:[]string{"", "", "", "32"}} +statprocessors.AerospikeStat{Context:"latencies", Name:"batch-index_ms_bucket", MType:0x47, IsAllowed:true, Value:4014.2, Labels:[]string{"cluster_name", "service", "ns", "le"}, LabelValues:[]string{"", "", "", "64"}} +statprocessors.AerospikeStat{Context:"latencies", Name:"batch-index_ms_bucket", MType:0x47, IsAllowed:true, Value:4014.2, Labels:[]string{"cluster_name", "service", "ns", "le"}, LabelValues:[]string{"", "", "", "128"}} +statprocessors.AerospikeStat{Context:"latencies", Name:"batch-index_ms_bucket", MType:0x47, IsAllowed:true, Value:4014.2, Labels:[]string{"cluster_name", "service", "ns", "le"}, LabelValues:[]string{"", "", "", "256"}} +statprocessors.AerospikeStat{Context:"latencies", Name:"batch-index_ms_bucket", MType:0x47, IsAllowed:true, Value:4014.2, Labels:[]string{"cluster_name", "service", "ns", "le"}, LabelValues:[]string{"", "", "", "512"}} +statprocessors.AerospikeStat{Context:"latencies", Name:"batch-index_ms_bucket", MType:0x47, IsAllowed:true, Value:4014.2, Labels:[]string{"cluster_name", "service", "ns", "le"}, LabelValues:[]string{"", "", "", "1024"}} +statprocessors.AerospikeStat{Context:"latencies", Name:"batch-index_ms_bucket", MType:0x47, IsAllowed:true, Value:4014.2, Labels:[]string{"cluster_name", "service", "ns", "le"}, LabelValues:[]string{"", "", "", "2048"}} +statprocessors.AerospikeStat{Context:"latencies", Name:"batch-index_ms_bucket", MType:0x47, IsAllowed:true, Value:4014.2, Labels:[]string{"cluster_name", "service", "ns", "le"}, LabelValues:[]string{"", "", "", "4096"}} +statprocessors.AerospikeStat{Context:"latencies", Name:"batch-index_ms_bucket", MType:0x47, IsAllowed:true, Value:4014.2, Labels:[]string{"cluster_name", "service", "ns", "le"}, LabelValues:[]string{"", "", "", "8192"}} +statprocessors.AerospikeStat{Context:"latencies", Name:"batch-index_ms_bucket", MType:0x47, IsAllowed:true, Value:4014.2, Labels:[]string{"cluster_name", "service", "ns", "le"}, LabelValues:[]string{"", "", "", "16384"}} +statprocessors.AerospikeStat{Context:"latencies", Name:"batch-index_ms_bucket", MType:0x47, IsAllowed:true, Value:4014.2, Labels:[]string{"cluster_name", "service", "ns", "le"}, LabelValues:[]string{"", "", "", "32768"}} +statprocessors.AerospikeStat{Context:"latencies", Name:"batch-index_ms_bucket", MType:0x47, IsAllowed:true, Value:4014.2, Labels:[]string{"cluster_name", "service", "ns", "le"}, LabelValues:[]string{"", "", "", "65536"}} + +=============================================================================================================================================== +## Users +=============================================================================================================================================== +statprocessors.AerospikeStat{Context:"users", Name:"conns_in_use", MType:0x47, IsAllowed:true, Value:1, Labels:[]string{"cluster_name", "service", "user"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "admin"}} +statprocessors.AerospikeStat{Context:"users", Name:"read_quota", MType:0x47, IsAllowed:true, Value:1, Labels:[]string{"cluster_name", "service", "user"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "admin"}} +statprocessors.AerospikeStat{Context:"users", Name:"read_single_record_tps", MType:0x47, IsAllowed:true, Value:2, Labels:[]string{"cluster_name", "service", "user"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "admin"}} +statprocessors.AerospikeStat{Context:"users", Name:"read_scan_query_rps", MType:0x47, IsAllowed:true, Value:3, Labels:[]string{"cluster_name", "service", "user"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "admin"}} +statprocessors.AerospikeStat{Context:"users", Name:"limitless_read_scan_query", MType:0x47, IsAllowed:true, Value:4, Labels:[]string{"cluster_name", "service", "user"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "admin"}} +statprocessors.AerospikeStat{Context:"users", Name:"write_quota", MType:0x47, IsAllowed:true, Value:11, Labels:[]string{"cluster_name", "service", "user"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "admin"}} +statprocessors.AerospikeStat{Context:"users", Name:"write_single_record_tps", MType:0x47, IsAllowed:true, Value:12, Labels:[]string{"cluster_name", "service", "user"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "admin"}} +statprocessors.AerospikeStat{Context:"users", Name:"write_scan_query_rps", MType:0x47, IsAllowed:true, Value:13, Labels:[]string{"cluster_name", "service", "user"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "admin"}} +statprocessors.AerospikeStat{Context:"users", Name:"limitless_write_scan_query", MType:0x47, IsAllowed:true, Value:14, Labels:[]string{"cluster_name", "service", "user"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "admin"}} +statprocessors.AerospikeStat{Context:"users", Name:"conns_in_use", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "user"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "phani"}} +statprocessors.AerospikeStat{Context:"users", Name:"read_quota", MType:0x47, IsAllowed:true, Value:6, Labels:[]string{"cluster_name", "service", "user"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "phani"}} +statprocessors.AerospikeStat{Context:"users", Name:"read_single_record_tps", MType:0x47, IsAllowed:true, Value:7, Labels:[]string{"cluster_name", "service", "user"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "phani"}} +statprocessors.AerospikeStat{Context:"users", Name:"read_scan_query_rps", MType:0x47, IsAllowed:true, Value:8, Labels:[]string{"cluster_name", "service", "user"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "phani"}} +statprocessors.AerospikeStat{Context:"users", Name:"limitless_read_scan_query", MType:0x47, IsAllowed:true, Value:9, Labels:[]string{"cluster_name", "service", "user"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "phani"}} +statprocessors.AerospikeStat{Context:"users", Name:"write_quota", MType:0x47, IsAllowed:true, Value:16, Labels:[]string{"cluster_name", "service", "user"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "phani"}} +statprocessors.AerospikeStat{Context:"users", Name:"write_single_record_tps", MType:0x47, IsAllowed:true, Value:17, Labels:[]string{"cluster_name", "service", "user"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "phani"}} +statprocessors.AerospikeStat{Context:"users", Name:"write_scan_query_rps", MType:0x47, IsAllowed:true, Value:18, Labels:[]string{"cluster_name", "service", "user"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "phani"}} +statprocessors.AerospikeStat{Context:"users", Name:"limitless_write_scan_query", MType:0x47, IsAllowed:true, Value:19, Labels:[]string{"cluster_name", "service", "user"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "phani"}} +statprocessors.AerospikeStat{Context:"users", Name:"conns_in_use", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "user"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test"}} +statprocessors.AerospikeStat{Context:"users", Name:"read_quota", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "user"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test"}} +statprocessors.AerospikeStat{Context:"users", Name:"read_single_record_tps", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "user"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test"}} +statprocessors.AerospikeStat{Context:"users", Name:"read_scan_query_rps", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "user"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test"}} +statprocessors.AerospikeStat{Context:"users", Name:"limitless_read_scan_query", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "user"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test"}} +statprocessors.AerospikeStat{Context:"users", Name:"write_quota", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "user"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test"}} +statprocessors.AerospikeStat{Context:"users", Name:"write_single_record_tps", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "user"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test"}} +statprocessors.AerospikeStat{Context:"users", Name:"write_scan_query_rps", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "user"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test"}} +statprocessors.AerospikeStat{Context:"users", Name:"limitless_write_scan_query", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "user"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "test"}} +statprocessors.AerospikeStat{Context:"users", Name:"conns_in_use", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "user"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "u1phani"}} +statprocessors.AerospikeStat{Context:"users", Name:"read_quota", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "user"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "u1phani"}} +statprocessors.AerospikeStat{Context:"users", Name:"read_single_record_tps", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "user"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "u1phani"}} +statprocessors.AerospikeStat{Context:"users", Name:"read_scan_query_rps", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "user"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "u1phani"}} +statprocessors.AerospikeStat{Context:"users", Name:"limitless_read_scan_query", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "user"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "u1phani"}} +statprocessors.AerospikeStat{Context:"users", Name:"write_quota", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "user"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "u1phani"}} +statprocessors.AerospikeStat{Context:"users", Name:"write_single_record_tps", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "user"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "u1phani"}} +statprocessors.AerospikeStat{Context:"users", Name:"write_scan_query_rps", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "user"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "u1phani"}} +statprocessors.AerospikeStat{Context:"users", Name:"limitless_write_scan_query", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "user"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "u1phani"}} +statprocessors.AerospikeStat{Context:"users", Name:"conns_in_use", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "user"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "u2phani"}} +statprocessors.AerospikeStat{Context:"users", Name:"read_quota", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "user"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "u2phani"}} +statprocessors.AerospikeStat{Context:"users", Name:"read_single_record_tps", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "user"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "u2phani"}} +statprocessors.AerospikeStat{Context:"users", Name:"read_scan_query_rps", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "user"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "u2phani"}} +statprocessors.AerospikeStat{Context:"users", Name:"limitless_read_scan_query", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "user"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "u2phani"}} +statprocessors.AerospikeStat{Context:"users", Name:"write_quota", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "user"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "u2phani"}} +statprocessors.AerospikeStat{Context:"users", Name:"write_single_record_tps", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "user"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "u2phani"}} +statprocessors.AerospikeStat{Context:"users", Name:"write_scan_query_rps", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "user"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "u2phani"}} +statprocessors.AerospikeStat{Context:"users", Name:"limitless_write_scan_query", MType:0x47, IsAllowed:true, Value:0, Labels:[]string{"cluster_name", "service", "user"}, LabelValues:[]string{"70_aus_perth_1", "172.17.0.6:3000", "u2phani"}} diff --git a/internal/pkg/statprocessors/utils.go b/internal/pkg/statprocessors/utils.go new file mode 100644 index 00000000..114aced6 --- /dev/null +++ b/internal/pkg/statprocessors/utils.go @@ -0,0 +1,252 @@ +package statprocessors + +import ( + "fmt" + "regexp" + "strings" + + "github.com/aerospike/aerospike-prometheus-exporter/internal/pkg/commons" + "github.com/aerospike/aerospike-prometheus-exporter/internal/pkg/config" + "github.com/gobwas/glob" + + goversion "github.com/hashicorp/go-version" +) + +const ( + INFOKEY_SERVICE_CLEAR_STD = "service-clear-std" + INFOKEY_SERVICE_TLS_STD = "service-tls-std" +) + +// Default info commands +var ( + Infokey_ClusterName = "cluster-name" + Infokey_Service = INFOKEY_SERVICE_CLEAR_STD + Infokey_Build = "build" +) + +var ( + // Regex for indentifying globbing patterns (or standard wildcards) in the metrics allowlist and blocklist. + GlobbingPattern = regexp.MustCompile(`\[|\]|\*|\?|\{|\}|\\|!`) +) + +/** + * this function check is a given stat is allowed or blocked against given patterns + * these patterns are defined within ape.toml + * + * NOTE: when a stat falls within intersection of allow-list & block-list, we block that stat + * + * | empty | no-pattern-match-found | pattern-match-found + * allow-list | allowed/true | not-allowed/ false | allowed/true + * block-list | blocked/false | not-blocked/ false | blocked/true + * + * by checking the blocklist first, + * we avoid processing the allow-list for some of the metrics + * + */ + +func isMetricAllowed(pContextType commons.ContextType, pRawStatName string) bool { + + pAllowlist := []string{} + pBlocklist := []string{} + + switch pContextType { + case commons.CTX_NAMESPACE: + pAllowlist = config.Cfg.Aerospike.NamespaceMetricsAllowlist + pBlocklist = config.Cfg.Aerospike.NamespaceMetricsBlocklist + case commons.CTX_NODE_STATS: + pAllowlist = config.Cfg.Aerospike.NodeMetricsAllowlist + pBlocklist = config.Cfg.Aerospike.NodeMetricsBlocklist + case commons.CTX_SETS: + pAllowlist = config.Cfg.Aerospike.SetMetricsAllowlist + pBlocklist = config.Cfg.Aerospike.SetMetricsBlocklist + case commons.CTX_SINDEX: + pAllowlist = config.Cfg.Aerospike.SindexMetricsAllowlist + pBlocklist = config.Cfg.Aerospike.SindexMetricsBlocklist + case commons.CTX_XDR: + pAllowlist = config.Cfg.Aerospike.XdrMetricsAllowlist + pBlocklist = config.Cfg.Aerospike.XdrMetricsBlocklist + + } + + /** + * is this stat is in blocked list + * if is-block-list array not-defined or is-empty, then false (i.e. STAT-IS-NOT-BLOCKED) + * else + * match stat with "all-block-list-patterns", + * if-any-pattern-match-found, + * return true (i.e. STAT-IS-BLOCKED) + * if stat-is-not-blocked + * if is-allow-list array not-defined or is-empty, then true (i.e. STAT-IS-ALLOWED) + * else + * match stat with "all-allow-list-patterns" + * if-any-pattern-match-found, + * return true (i.e. STAT-IS-ALLOWED) + */ + if len(pBlocklist) > 0 { + isBlocked := loopPatterns(pRawStatName, pBlocklist) + if isBlocked { + return false + } + } + + // as it is already blocked, we dont need to check in allow-list, + // i.e. when a stat falls within intersection of allow-list & block-list, we block that stat + // + + if len(pAllowlist) == 0 { + return true + } + + return loopPatterns(pRawStatName, pAllowlist) +} + +/** + * this function is used to loop thru any given regex-pattern-list, [ master_objects or *master* ] + * + * | empty | no-pattern-match-found | pattern-match-found + * allow-list | allowed/true | not-allowed/ false | allowed/true + * block-list | blocked/false | not-blocked/ false | blocked/true + * + * + */ + +func loopPatterns(pRawStatName string, pPatternList []string) bool { + + for _, statPattern := range pPatternList { + if len(statPattern) > 0 { + + ge := glob.MustCompile(statPattern) + if ge.Match(pRawStatName) { + return true + } + } + } + + return false +} + +/** + * Check if given stat is a Gauge in a given context like Node, Namespace etc., + */ +func isGauge(pContextType commons.ContextType, pStat string) bool { + + switch pContextType { + case commons.CTX_NAMESPACE: + return config.GaugeStatHandler.NamespaceStats[pStat] + case commons.CTX_NODE_STATS: + return config.GaugeStatHandler.NodeStats[pStat] + case commons.CTX_SETS: + return config.GaugeStatHandler.SetsStats[pStat] + case commons.CTX_SINDEX: + return config.GaugeStatHandler.SindexStats[pStat] + case commons.CTX_XDR: + return config.GaugeStatHandler.XdrStats[pStat] + } + + return false +} + +/* +Validates if given stat is having - or defined in gauge-stat list, if not, return default metric-type (i.e. Counter) +*/ +func GetMetricType(pContext commons.ContextType, pRawMetricName string) commons.MetricType { + + // condition#1 : Config ( which has a - in the stat) is always a Gauge + // condition#2 : or - it is marked as Gauge in the configuration file + // + // If stat is storage-engine related then consider the remaining stat name during below check + // + + if pContext == commons.CTX_LATENCIES || pContext == commons.CTX_USERS { + return commons.MetricTypeGauge + } + + tmpRawMetricName := strings.ReplaceAll(pRawMetricName, commons.STORAGE_ENGINE, "") + + if strings.Contains(tmpRawMetricName, "-") || + isGauge(pContext, tmpRawMetricName) { + return commons.MetricTypeGauge + } + + return commons.MetricTypeCounter +} + +// // Filter metrics +// // Runs the raw metrics through allowlist first and the resulting metrics through blocklist +// func GetFilteredMetrics(rawMetrics map[string]commons.MetricType, allowlist []string, allowlistEnabled bool, blocklist []string) map[string]commons.MetricType { +// filteredMetrics := filterAllowedMetrics(rawMetrics, allowlist, allowlistEnabled) +// filterBlockedMetrics(filteredMetrics, blocklist) + +// return filteredMetrics +// } + +// // Filter metrics based on configured allowlist. +// func filterAllowedMetrics(rawMetrics map[string]commons.MetricType, allowlist []string, allowlistEnabled bool) map[string]commons.MetricType { +// if !allowlistEnabled { +// return rawMetrics +// } + +// filteredMetrics := make(map[string]commons.MetricType) + +// for _, stat := range allowlist { +// if GlobbingPattern.MatchString(stat) { +// ge := glob.MustCompile(stat) + +// for k, v := range rawMetrics { +// if ge.Match(k) { +// filteredMetrics[k] = v +// } +// } +// } else { +// if val, ok := rawMetrics[stat]; ok { +// filteredMetrics[stat] = val +// } +// } +// } + +// return filteredMetrics +// } + +// // Filter metrics based on configured blocklist. +// func filterBlockedMetrics(filteredMetrics map[string]commons.MetricType, blocklist []string) { +// if len(blocklist) == 0 { +// return +// } + +// for _, stat := range blocklist { +// if GlobbingPattern.MatchString(stat) { +// ge := glob.MustCompile(stat) + +// for k := range filteredMetrics { +// if ge.Match(k) { +// delete(filteredMetrics, k) +// } +// } +// } else { +// delete(filteredMetrics, stat) +// } +// } +// } + +func BuildVersionGreaterThanOrEqual(rawMetrics map[string]string, ref string) (bool, error) { + if len(rawMetrics["build"]) == 0 { + return false, fmt.Errorf("couldn't get build version") + } + + ver := rawMetrics["build"] + version, err := goversion.NewVersion(ver) + if err != nil { + return false, fmt.Errorf("error parsing build version %s: %v", ver, err) + } + + refVersion, err := goversion.NewVersion(ref) + if err != nil { + return false, fmt.Errorf("error parsing reference version %s: %v", ref, err) + } + + if version.GreaterThanOrEqual(refVersion) { + return true, nil + } + + return false, nil +} diff --git a/mock_data_generator_test.go b/mock_data_generator_test.go deleted file mode 100644 index 1410a25f..00000000 --- a/mock_data_generator_test.go +++ /dev/null @@ -1,1140 +0,0 @@ -package main - -import ( - "bufio" - "fmt" - "os" - "regexp" - "strconv" - "strings" - - aero "github.com/aerospike/aerospike-client-go/v6" -) - -/* -Dummy Raw Metrics, copied from local Aerospike Server -returns static test data copied from running an Aerospike Server with test namespaces, sets, sindex, jobs, latencies etc., -we need to update this data for each release to reflect the new metrics, contexts etc., -this data is passed to the watcher and expected output is also generated -once we have output from watcher-implementations ( like watcher_namespaces.go, watcher_node_stats.go) - - this output is compated with the expected results generated by Test-Cases -*/ - -type MockAerospikeServer struct { - namespaces_stats []string - sets_stats []string - xdr_stats []string - node_stats []string - latencies_stats []string - sindex_stats []string - build []string - cluster_name []string - service_clear_std []string - passone_output_str string - passone_outputs_map map[string]string -} - -// read mock test data from a file -func (md *MockAerospikeServer) initialize() { - - filePath := MOCK_TEST_DATA_FILE - readFile, err := os.Open(filePath) - - if err != nil { - fmt.Println(err) - } - fileScanner := bufio.NewScanner(readFile) - fileScanner.Split(bufio.ScanLines) - var fileLines []string - - for fileScanner.Scan() { - fileLines = append(fileLines, strings.TrimSpace(fileScanner.Text())) - } - - readFile.Close() - - for _, line := range fileLines { - if strings.HasPrefix(line, "#") && strings.HasPrefix(line, "//") { - // ignore, comments - } else if len(line) > 0 { - if strings.HasPrefix(line, "namespace-") { - md.namespaces_stats = append(md.namespaces_stats, line) - } else if strings.HasPrefix(line, "set-stats") { - md.sets_stats = append(md.sets_stats, line) - } else if strings.HasPrefix(line, "latency-stats") { - md.latencies_stats = append(md.latencies_stats, line) - } else if strings.HasPrefix(line, "node-") { - md.node_stats = append(md.node_stats, line) - } else if strings.HasPrefix(line, "xdr-") { - md.xdr_stats = append(md.xdr_stats, line) - } else if strings.HasPrefix(line, "sindex-") { - md.sindex_stats = append(md.sindex_stats, line) - } else if strings.HasPrefix(line, "build") { - md.build = append(md.build, line) - } else if strings.HasPrefix(line, "service-clear-std") { - md.service_clear_std = append(md.service_clear_std, line) - } else if strings.HasPrefix(line, "cluster-name") { - md.cluster_name = append(md.cluster_name, line) - } else if strings.HasPrefix(line, "passone_output") { - // passone_output:build:6.4.0.0-rc4 get-config:context=xdr:dcs=backup_dc_asdev20,backup_dc_asdev20_second;src-id=0;trace-sample=0 namespaces:test;bar_device;materials;ns_test_on_flash;test_on_shmem;bar_on_flash;pmkohl_on_device sindex:ns=test:indexname=test_sindex1:set=from_branch_2:bin=occurred:type=numeric:indextype=default:context=null:state=RW - str := strings.ReplaceAll(line, "passone_output:", "") - // store full string also - md.passone_output_str = str - elements := strings.Split(md.passone_output_str, " ") - // reinitialize internal map - md.passone_outputs_map = make(map[string]string) - for _, entry := range elements { - - colonIndex := strings.Index(entry, ":") - // parts := strings.Split(entry, ":") - key := entry[0:colonIndex] - value := entry[colonIndex+1:] - md.passone_outputs_map[key] = value - } - // md.passone_outputs = splitAndRetrieveStats(str, ";") - - } - - } - } -} - -func (md *MockAerospikeServer) fetchRawMetrics() map[string]string { - rawMetrics := make(map[string]string) - - // build, cluster-name, service-ip - rawMetrics["build"] = md.getBuild() - rawMetrics["cluster-name"] = md.getClusterName() - rawMetrics["service-clear-std"] = md.getServiceClearStd() - - // namespace - for _, entry := range md.namespaces_stats { - elements := strings.Split(entry, ":") - // format: namespace-stats:test:ns_cluster_size=1;effective_ ( 2nd element is the namespace name "test") - key := "namespace/" + elements[1] - rawMetrics[key] = elements[2] - } - - // node-stats & node-configs - for _, entry := range md.node_stats { - - // node-configs: & node-stats: - elements := strings.Split(entry, ":") - - if strings.HasPrefix(elements[0], "node-stats") { - key := "statistics" - rawMetrics[key] = elements[1] - } else if strings.HasPrefix(elements[0], "node-config") { - key := "get-config:context=service" - rawMetrics[key] = elements[1] - } - } - - // sindex-stats - for _, entry := range md.sindex_stats { - - // sindex-stats:test:test_sindex1: - elements := strings.Split(entry, ":") - - if strings.HasPrefix(elements[0], "sindex-stats") { - key := "sindex/" + elements[1] + "/" + elements[2] - rawMetrics[key] = elements[3] - } - } - - // xdr- (dc/namespace) (config/stats) - for _, entry := range md.xdr_stats { - - // sindex-stats:test:test_sindex1: - elements := strings.Split(entry, ":") - - if strings.HasPrefix(elements[0], "xdr-get-config") { - key := "get-config" + ":" + elements[1] - rawMetrics[key] = elements[2] - } else if strings.HasPrefix(elements[0], "xdr-get-stat") { - key := "get-stats" + ":" + elements[1] - rawMetrics[key] = elements[2] - } - } - - return rawMetrics -} - -func (md *MockAerospikeServer) getBuild() string { - elements := strings.Split(md.passone_output_str, " ") - - for _, entry := range elements { - - if strings.HasPrefix(entry, "build") { - colonIndex := strings.Index(entry, ":") - // parts := strings.Split(entry, ":") - value := entry[colonIndex+1:] - fmt.Println("getBuild(): ", value) - return value - } - } - - return "" -} - -func (md *MockAerospikeServer) getClusterName() string { - return md.cluster_name[0] -} - -func (md *MockAerospikeServer) getServiceClearStd() string { - return strings.Split(md.service_clear_std[0], "=")[1] -} - -func (md *MockAerospikeServer) createXdrPassOneKeys() map[string]string { - passOneOutput := make(map[string]string) - elements := strings.Split(md.passone_output_str, " ") - - for _, entry := range elements { - - if strings.HasPrefix(entry, "get-config:context=xdr") { - str := strings.ReplaceAll(entry, "get-config:context=xdr:", "") - passOneOutput["get-config:context=xdr"] = str - } else if strings.HasPrefix(entry, "get-stats:context=xdr") { - str := strings.ReplaceAll(entry, "get-stats:context=xdr:", "") - passOneOutput["get-stat:context=xdr"] = str - } - } - - passOneOutput["namespaces"] = md.passone_outputs_map["namespaces"] - - return passOneOutput - -} - -func (md *MockAerospikeServer) requestInfoNamespaces() map[string]string { - pass2Metrics := make(map[string]string) - - namespaces := "" - for _, entry := range md.namespaces_stats { - elements := strings.Split(entry, ":") - // format: namespace-stats:test:ns_cluster_size=1;effective_ ( 2nd element is the namespace name "test") - ns := strings.TrimSpace(elements[1]) - if len(namespaces) > 0 { - namespaces = namespaces + ";" + ns - } else { - namespaces = ns - } - } - - pass2Metrics["namespaces"] = strings.TrimSuffix(namespaces, ";") - - return pass2Metrics -} - -func (md *MockAerospikeServer) createNamespacePassTwoExpectedOutputs() []string { - lNamespaces := []string{} - rawMetrics := md.fetchRawMetrics() - - for metricsGrpKey := range rawMetrics { - if strings.HasPrefix(metricsGrpKey, "namespace/") { - lNamespaces = append(lNamespaces, strings.TrimSpace(metricsGrpKey)) - } - } - return lNamespaces -} - -func (md *MockAerospikeServer) createXdrPassTwoExpectedOutputs(passOneOutputs map[string]string) []string { - passTwoOutputs := []string{} - rawMetrics := md.fetchRawMetrics() - - for k := range rawMetrics { - if strings.HasPrefix(k, "get-stats:") || strings.HasPrefix(k, "get-config:") { - passTwoOutputs = append(passTwoOutputs, strings.TrimSpace(k)) - } - } - // append namespaces - - return passTwoOutputs -} - -func (sim *MockAerospikeServer) createSindexPassTwoExpectedOutputs(mas *MockAerospikeServer) []string { - lSindexNames := []string{} - // rawMetricsKeys := rawMetrics["raw_metrics_keys"] - rawMetricsKeys := mas.fetchRawMetrics() - - for k := range rawMetricsKeys { - if strings.HasPrefix(k, "sindex/") { - lSindexNames = append(lSindexNames, strings.TrimSpace(k)) - } - } - - return lSindexNames - -} - -/* -generated the output used by the Namespace-Watcher TestCases, the same output may not be suitable for other watchers, -so for each data-context we need to have a method to generate expected output -*/ -// Namespace related -type MockNamespacePromMetricGenerator struct { - // this will hold the golbal array/objects for Namespaces - lExpectedMetricNamedValues map[string][]string - lExpectedMetricLabels map[string][]string -} - -func (nsw *MockNamespacePromMetricGenerator) createNamespaceWatcherExpectedOutputs(mas *MockAerospikeServer, nsName string, addNsToKey bool) (map[string][]string, map[string][]string) { - - // regex to check if a stat is storage-engine - seDynamicExtractor := regexp.MustCompile(`storage\-engine\.(?Pfile|device|stripe)\[(?P\d+)\]\.(?P.+)`) - itDynamicExtractor := regexp.MustCompile(`index\-type\.(?Pmount)\[(?P\d+)\]\.(?P.+)`) - sintDynamicExtractor := regexp.MustCompile(`sindex\-type\.(?Pmount)\[(?P\d+)\]\.(?P.+)`) - - // - nsw.lExpectedMetricNamedValues = map[string][]string{} - nsw.lExpectedMetricLabels = map[string][]string{} - - // rawMetrics := getRawMetrics() - rawMetrics := mas.fetchRawMetrics() - - clusterName := rawMetrics["cluster-name"] - service := rawMetrics["service-clear-std"] - - for metricsGrpKey := range rawMetrics { - if strings.HasPrefix(metricsGrpKey, "namespace/") && strings.HasSuffix(metricsGrpKey, nsName) { - ns := strings.Split(metricsGrpKey, "/")[1] - grpValues := rawMetrics[metricsGrpKey] - stats := splitAndRetrieveStats(grpValues, ";") - - // process stats and create {metricname,label} and {metric,values} map of strings - for s, v := range stats { - key := strings.TrimSpace(s) - convertedValue, err := convertValue(v) - if err != nil { - fmt.Println("IGNORING, failed converting value ( key: ", key, " - value: ", v, ") = error: ", err) - continue - } - - isBlocked := isHelperBlockedMetric(s, config.Aerospike.NamespaceMetricsBlocklist) - if isBlocked { - continue - } - isAllowed := isHelperAllowedMetric(s, config.Aerospike.NamespaceMetricsAllowlist) - if !isAllowed { - continue - } - - // reconvert float back to string - value := fmt.Sprintf("%.0f", convertedValue) - - // not a storage-engine or index-type or sindex-type - isNormalStat := !isStatArrayType(key) - - if isNormalStat { - - labelsMap := copyConfigLabels() - if strings.HasPrefix(key, "index-type") { - labelsMap["index"] = stats["index-type"] - } else if strings.HasPrefix(key, "sindex-type") { - labelsMap["sindex"] = stats["sindex-type"] - } else { - labelsMap["storage_engine"] = stats["storage-engine"] - } - key = strings.ReplaceAll(key, "-", "_") - key = strings.ReplaceAll(key, ".", "_") - - metric := "aerospike_namespace_" + key - valuesArr := nsw.lExpectedMetricNamedValues[metric] - labelsArr := nsw.lExpectedMetricLabels[metric] - if valuesArr == nil { - valuesArr = []string{} - } - if labelsArr == nil { - labelsArr = []string{} - } - - // labelStr := "[" + cfgLabelsToAdd + "name:\"cluster_name\" value:\"" + clusterName + "\" name:\"ns\" value:\"" + ns + "\" name:\"service\" value:\"" + service + "\" ]" - - labelsMap["ns"] = ns - labelsMap["service"] = service - labelsMap["cluster_name"] = clusterName - - labelByNames := createLabelByNames(labelsMap) - sorted_label_str := "[" + labelByNames + " ]" - valuesArr = append(valuesArr, strings.TrimSpace(value)) - labelsArr = append(labelsArr, strings.TrimSpace(sorted_label_str)) - - labelString := stringifyLabel(labelByNames) - - // key will be like /namespace/, this we use this check during assertion - mapKeyname := makeKeyname(nsName, labelString, true) - mapKeyname = makeKeyname(mapKeyname, metric, true) - nsw.lExpectedMetricNamedValues[mapKeyname] = valuesArr - nsw.lExpectedMetricLabels[mapKeyname] = labelsArr - - } else { - - labelsMap := copyConfigLabels() - - metricType := "" - metricIndex := "" - metricName := "" - deviceOrFileName := "" - metric := "" - - if strings.HasPrefix(key, "storage-engine") { - match := seDynamicExtractor.FindStringSubmatch(key) - metricType = match[1] - metricIndex = match[2] - metricName = match[3] - deviceOrFileName = stats["storage-engine."+metricType+"["+metricIndex+"]"] - metric = "aerospike_namespace_storage_engine_" + metricType + "_" + metricName - labelsMap["storage_engine"] = stats["storage-engine"] - - } else if strings.HasPrefix(key, "index-type") { - match := itDynamicExtractor.FindStringSubmatch(key) - metricType = match[1] - metricIndex = match[2] - metricName = match[3] - deviceOrFileName = stats["index-type."+metricType+"["+metricIndex+"]"] - - metric = "aerospike_namespace_index_type_" + metricType + "_" + metricName - labelsMap["index"] = stats["index-type"] - } else if strings.HasPrefix(key, "sindex-type") { - match := sintDynamicExtractor.FindStringSubmatch(key) - metricType = match[1] - metricIndex = match[2] - metricName = match[3] - deviceOrFileName = stats["sindex-type."+metricType+"["+metricIndex+"]"] - metric = "aerospike_namespace_sindex_type_" + metricType + "_" + metricName - labelsMap["sindex"] = stats["sindex-type"] - } - - valuesArr := nsw.lExpectedMetricNamedValues[metric] - labelsArr := nsw.lExpectedMetricLabels[metric] - if valuesArr == nil { - valuesArr = []string{} - } - if labelsArr == nil { - labelsArr = []string{} - } - - // labelStr := "[" + cfgLabelsToAdd + "name:\"cluster_name\" value:\"" + clusterName + "\" name:\"file\" value:\"" + deviceOrFileName + "\" name:\"file_index\" value:\"" + metricIndex + "\" name:\"ns\" value:\"" + ns + "\" name:\"service\" value:\"" + service + "\" ]" - - labelsMap["cluster_name"] = clusterName - labelsMap[metricType] = deviceOrFileName - labelsMap["ns"] = ns - labelsMap[metricType+"_index"] = metricIndex - labelsMap["service"] = service - - labelByNames := createLabelByNames(labelsMap) - sorted_label_str := "[" + labelByNames + " ]" - valuesArr = append(valuesArr, strings.TrimSpace(value)) - labelsArr = append(labelsArr, strings.TrimSpace(sorted_label_str)) - - labelString := stringifyLabel(labelByNames) - - // key will be like /namespace/, this we use this check during assertion - mapKeyname := makeKeyname(nsName, labelString, true) - mapKeyname = makeKeyname(mapKeyname, metric, true) - - nsw.lExpectedMetricNamedValues[mapKeyname] = valuesArr - nsw.lExpectedMetricLabels[mapKeyname] = labelsArr - - } - } - } - } - - return nsw.lExpectedMetricNamedValues, nsw.lExpectedMetricLabels -} - -func isStatArrayType(statToProcess string) bool { - if strings.HasPrefix(statToProcess, INDEX_TYPE) && strings.Contains(statToProcess, "[") { - return true - } else if strings.HasPrefix(statToProcess, SINDEX_TYPE) && strings.Contains(statToProcess, "[") { - return true - } else if strings.HasPrefix(statToProcess, STORAGE_ENGINE) && strings.Contains(statToProcess, "[") { - return true - } - - return false -} - -// Node-stats related -type MockNodestatPromMetricGenerator struct { - // this will hold the golbal array/objects for Node-stats - lExpectedMetricNamedValues map[string][]string - lExpectedMetricLabels map[string][]string -} - -func (nst *MockNodestatPromMetricGenerator) createNodeStatsWatcherExpectedOutputs(mas *MockAerospikeServer, serviceIp string) (map[string][]string, map[string][]string) { - nst.lExpectedMetricNamedValues = map[string][]string{} - nst.lExpectedMetricLabels = map[string][]string{} - - // rawMetrics := getRawMetrics() - rawMetrics := mas.fetchRawMetrics() - - clusterName := rawMetrics["cluster-name"] - service := rawMetrics["service-clear-std"] - - for metricsGrpKey := range rawMetrics { - if strings.HasPrefix(metricsGrpKey, "statistics") || strings.HasPrefix(metricsGrpKey, "get-config:context=service") { - grpValues := rawMetrics[metricsGrpKey] - stats := splitAndRetrieveStats(grpValues, ";") - for s, v := range stats { - key := strings.TrimSpace(s) - convertedValue, err := convertValue(v) - if err != nil { - fmt.Println("IGNORING, failed converting value ( key: ", key, " - value: ", v, ") = error: ", err) - continue - } - - isBlocked := isHelperBlockedMetric(s, config.Aerospike.NodeMetricsBlocklist) - if isBlocked { - continue - } - isAllowed := isHelperAllowedMetric(s, config.Aerospike.NodeMetricsAllowlist) - if !isAllowed { - continue - } - - // reconvert float back to string - value := fmt.Sprintf("%.0f", convertedValue) - - key = strings.ReplaceAll(key, "-", "_") - key = strings.ReplaceAll(key, ".", "_") - metric := "aerospike_node_stats_" + key - valuesArr := nst.lExpectedMetricNamedValues[metric] - labelsArr := nst.lExpectedMetricLabels[metric] - - if valuesArr == nil { - valuesArr = []string{} - } - if labelsArr == nil { - labelsArr = []string{} - } - - // [name:"cluster_name" value:"null" name:"service" value:"172.17.0.3:3000" ] - labelsMap := copyConfigLabels() - labelsMap["service"] = service - labelsMap["cluster_name"] = clusterName - - sorted_label_str := "[" + createLabelByNames(labelsMap) + " ]" - - valuesArr = append(valuesArr, strings.TrimSpace(value)) - labelsArr = append(labelsArr, strings.TrimSpace(sorted_label_str)) - - mapKeyname := makeKeyname(serviceIp, metric, true) - nst.lExpectedMetricNamedValues[mapKeyname] = valuesArr - nst.lExpectedMetricLabels[mapKeyname] = labelsArr - - } - } - } - - return nst.lExpectedMetricNamedValues, nst.lExpectedMetricLabels -} - -// Set related -type MockSetsPromMetricGenerator struct { - // this will hold the golbal array/objects for Sets - lExpectedMetricNamedValues map[string][]string - lExpectedMetricLabels map[string][]string -} - -func (msdg *MockSetsPromMetricGenerator) createSetsWatcherExpectedOutputs(mas *MockAerospikeServer, setName string) (map[string][]string, map[string][]string) { - msdg.lExpectedMetricNamedValues = map[string][]string{} - msdg.lExpectedMetricLabels = map[string][]string{} - - // rawMetrics := getRawMetrics() - - rawMetrics := mas.fetchRawMetrics() - - clusterName := rawMetrics["cluster-name"] - service := rawMetrics["service-clear-std"] - - for metricsGrpKey := range rawMetrics { - if strings.HasPrefix(metricsGrpKey, "sets") { - grpValues := rawMetrics[metricsGrpKey] - nsWithSets := strings.Split(grpValues, ";") - for idx := range nsWithSets { - - singleSetKeyValues := nsWithSets[idx] - - stats := splitAndRetrieveStats(singleSetKeyValues, ":") - namespace := stats["ns"] - setName := stats["set"] - - for s, v := range stats { - key := strings.TrimSpace(s) - convertedValue, err := convertValue(v) - if err != nil { - fmt.Println("IGNORING, failed converting value ( key: ", key, " - value: ", v, ") = error: ", err) - continue - } - - isBlocked := isHelperBlockedMetric(s, config.Aerospike.SetMetricsBlocklist) - if isBlocked { - continue - } - isAllowed := isHelperAllowedMetric(s, config.Aerospike.SetMetricsAllowlist) - if !isAllowed { - continue - } - // reconvert float back to string - value := fmt.Sprintf("%.0f", convertedValue) - - key = strings.ReplaceAll(key, "-", "_") - key = strings.ReplaceAll(key, ".", "_") - metric := "aerospike_sets_" + key - valuesArr := msdg.lExpectedMetricNamedValues[metric] - labelsArr := msdg.lExpectedMetricLabels[metric] - - if valuesArr == nil { - valuesArr = []string{} - } - if labelsArr == nil { - labelsArr = []string{} - } - - // [name:"cluster_name" value:"null" name:"ns" value:"bar" name:"service" value:"172.17.0.3:3000" name:"set" value:"west_region" ] - mapKeyname := makeKeyname(setName, metric, true) - mapKeyname = makeKeyname(namespace, mapKeyname, true) - - // labelStr := "[" + cfgLabelsToAdd + "name:\"cluster_name\" value:\"" + clusterName + "\" name:\"ns\" value:\"" + namespace + "\" name:\"service\" value:\"" + service + "\" name:\"set\" value:\"" + setName + "\"" + " ]" - - labelsMap := copyConfigLabels() - labelsMap["ns"] = namespace - labelsMap["service"] = service - labelsMap["cluster_name"] = clusterName - labelsMap["set"] = setName - - sorted_label_str := "[" + createLabelByNames(labelsMap) + " ]" - valuesArr = append(valuesArr, strings.TrimSpace(value)) - labelsArr = append(labelsArr, strings.TrimSpace(sorted_label_str)) - - msdg.lExpectedMetricNamedValues[mapKeyname] = valuesArr - msdg.lExpectedMetricLabels[mapKeyname] = labelsArr - } - - } - } - } - - return msdg.lExpectedMetricNamedValues, msdg.lExpectedMetricLabels -} - -// Latency related -type MockLatencyPromMetricGenerator struct { - // this will hold the golbal array/objects for Latencies - lExpectedMetricNamedValues map[string][]string - lExpectedMetricLabels map[string][]string -} - -func (ltc *MockLatencyPromMetricGenerator) createLatencysWatcherExpectedOutputs(mas *MockAerospikeServer, namespaceWithSetName string) (map[string][]string, map[string][]string) { - ltc.lExpectedMetricNamedValues = map[string][]string{} - ltc.lExpectedMetricLabels = map[string][]string{} - - rawMetrics := mas.fetchRawMetrics() - - clusterName := rawMetrics["cluster-name"] - service := rawMetrics["service-clear-std"] - - latencyLabelGroups := []string{"0", "+Inf", "1", "2", "4", "8", "16", "32", "64", "128", "256", "512", "1024", "2048", "4096", "8192", "16384", "32768", "65536"} - - for metricsGrpKey := range rawMetrics { - if strings.HasPrefix(metricsGrpKey, "latencies") { - grpValues := rawMetrics[metricsGrpKey] - latencyStatsByNamespace := strings.Split(grpValues, ";") - for idx := range latencyStatsByNamespace { - - singleLatencyOperation := latencyStatsByNamespace[idx] - - allLatencyValues := splitLatencies(singleLatencyOperation) - if len(allLatencyValues) == 1 { - continue - } - namespace, operation, _ := splitLatencyDetails(allLatencyValues) - - isOperationAllowed := isLatencyOperationAllowe(operation, config.Aerospike.LatenciesMetricsAllowlist, config.Aerospike.LatenciesMetricsBlocklist) - - if isOperationAllowed { - bucket_metric := "aerospike_latencies" + "_" + operation + "_" + "ms" + "_" + "bucket" - count_metric := "aerospike_latencies" + "_" + operation + "_" + "ms" + "_" + "count" - - mapKeyname := service + "_" + namespace + "_" + operation - cntValuesArr := ltc.lExpectedMetricNamedValues[count_metric] - cntLabelsArr := ltc.lExpectedMetricLabels[count_metric] - - // Add latency-metric-COUNT - if cntValuesArr == nil { - cntValuesArr = []string{} - } - if cntLabelsArr == nil { - cntLabelsArr = []string{} - } - - labelsMap := copyConfigLabels() - labelsMap["ns"] = namespace - labelsMap["service"] = service - labelsMap["cluster_name"] = clusterName - - sorted_label_str := "[" + createLabelByNames(labelsMap) + " ]" - - cntValuesArr = append(cntValuesArr, strings.TrimSpace(allLatencyValues[1])) - cntLabelsArr = append(cntLabelsArr, strings.TrimSpace(sorted_label_str)) - - ltc.lExpectedMetricNamedValues[mapKeyname] = cntValuesArr - ltc.lExpectedMetricLabels[mapKeyname] = cntLabelsArr - - // Add latency-metric-BUCKET with le - for idx := range allLatencyValues { - if idx >= 1 { - le := latencyLabelGroups[idx] - value := allLatencyValues[idx] - - mapKeyname := service + "_" + namespace + "_" + operation + "_" + strings.ReplaceAll(le, "+", "") - bktValuesArr := ltc.lExpectedMetricNamedValues[bucket_metric] - bktLabelsArr := ltc.lExpectedMetricLabels[bucket_metric] - - // Add latency-metric-COUNT - if bktValuesArr == nil { - bktValuesArr = []string{} - } - if bktLabelsArr == nil { - bktLabelsArr = []string{} - } - - labelsMap := copyConfigLabels() - labelsMap["ns"] = namespace - labelsMap["le"] = le - labelsMap["service"] = service - labelsMap["cluster_name"] = clusterName - - sorted_label_str := "[" + createLabelByNames(labelsMap) + " ]" - - bktValuesArr = append(bktValuesArr, strings.TrimSpace(value)) - bktLabelsArr = append(bktLabelsArr, strings.TrimSpace(sorted_label_str)) - - ltc.lExpectedMetricNamedValues[mapKeyname] = bktValuesArr - ltc.lExpectedMetricLabels[mapKeyname] = bktLabelsArr - - } - - } - - } else { - fmt.Println("operation ", operation, "\t is NOT Allowed i.e. either in block-list or not-in-allow list") - } - - } - } - } - - return ltc.lExpectedMetricNamedValues, ltc.lExpectedMetricLabels -} - -// Xdr related -type MockXdrPromMetricGenerator struct { - // this will hold the golbal array/objects for Xdr - lExpectedMetricNamedValues map[string][]string - lExpectedMetricLabels map[string][]string -} - -func (xdr *MockXdrPromMetricGenerator) createXdrsWatcherExpectedOutputs(mas *MockAerospikeServer, xdrDcName string) (map[string][]string, map[string][]string) { - - // re-initialize whenever called - xdr.lExpectedMetricNamedValues = make(map[string][]string) - xdr.lExpectedMetricLabels = make(map[string][]string) - - rawMetrics := mas.fetchRawMetrics() - - clusterName := mas.getClusterName() - service := mas.getServiceClearStd() - - for metricsGrpKey := range rawMetrics { - if strings.HasPrefix(metricsGrpKey, "get-stats:context=xdr;dc=") || strings.HasPrefix(metricsGrpKey, "get-configs:context=xdr;dc=") { - grpValues := rawMetrics[metricsGrpKey] - xdrDcInfos := strings.Split(grpValues, ";") - for idx := range xdrDcInfos { - - singleXdrDcValues := xdrDcInfos[idx] - - stats := splitAndRetrieveStats(singleXdrDcValues, ":") - - // get-config:context=xdr;dc=backup_dc_asdev20_second;namespace=bar_device - // get-config:context=xdr;dc=backup_dc_asdev20_second - // get-stats:context=xdr;dc=backup_dc_asdev20_second;namespace=bar_device - // get-stats:context=xdr;dc=backup_dc_asdev20_second - // grpSplitElements := strings.Split(metricsGrpKey, ";") - // dcName := strings.Split(grpSplitElements[1], "=")[1] - - for s, v := range stats { - key := strings.TrimSpace(s) - convertedValue, err := convertValue(v) - if err != nil { - fmt.Println("IGNORING, failed converting value ( key: ", key, " - value: ", v, ") = error: ", err) - continue - } - - isBlocked := isHelperBlockedMetric(s, config.Aerospike.XdrMetricsBlocklist) - if isBlocked { - continue - } - isAllowed := isHelperAllowedMetric(s, config.Aerospike.XdrMetricsAllowlist) - if !isAllowed { - continue - } - - // reconvert float back to string - value := fmt.Sprintf("%.0f", convertedValue) - - key = strings.ReplaceAll(key, "-", "_") - key = strings.ReplaceAll(key, ".", "_") - - // metric := "aerospike_xdr" + "_" + key - // namespace := "no-namespace" // just to represent this metric is only at DC level - dcName, namespace, metric := xdr.constructXdrMetricname(metricsGrpKey, key) - - valuesArr := xdr.lExpectedMetricNamedValues[metric] - labelsArr := xdr.lExpectedMetricLabels[metric] - - if valuesArr == nil { - valuesArr = []string{} - } - if labelsArr == nil { - labelsArr = []string{} - } - - // [name:"cluster_name" value:"null" name:"dc" value:"backup_dc_asdev20" name:"service" value:"172.17.0.3:3000" ] - // labelStr := "[" + cfgLabelsToAdd + "name:\"cluster_name\" value:\"" + clusterName + "\" name:\"ns\" value:\"" + namespace + "\" name:\"service\" value:\"" + service + "\" name:\"set\" value:\"" + setName + "\"" + " ]" - - labelsMap := copyConfigLabels() - labelsMap["dc"] = dcName - labelsMap["service"] = service - labelsMap["cluster_name"] = clusterName - - if strings.Contains(metricsGrpKey, "namespace") { - grpSplitElements := strings.Split(metricsGrpKey, ";") - // get-config:context=xdr;dc=backup_dc_asdev20_second;namespace=bar_device - namespace = strings.Split(grpSplitElements[2], "=")[1] - labelsMap["ns"] = namespace - } - - sorted_label_str := "[" + createLabelByNames(labelsMap) + " ]" - valuesArr = append(valuesArr, strings.TrimSpace(value)) - labelsArr = append(labelsArr, strings.TrimSpace(sorted_label_str)) - - mapKeyname := makeKeyname(dcName, metric, true) - mapKeyname = makeKeyname(namespace, mapKeyname, true) - mapKeyname = makeKeyname(service, mapKeyname, true) - - xdr.lExpectedMetricNamedValues[mapKeyname] = valuesArr - xdr.lExpectedMetricLabels[mapKeyname] = labelsArr - } // end stats for-loop - - } // end xdrDcInfos - } - } - - return xdr.lExpectedMetricNamedValues, xdr.lExpectedMetricLabels -} - -func (xdr *MockXdrPromMetricGenerator) constructXdrMetricname(infoKeyToProcess string, stat string) (string, string, string) { - - kvInfoKeyToProcess := parseStats(infoKeyToProcess, ";") - _, cfgOk := kvInfoKeyToProcess["get-config:context"] - _, statOk := kvInfoKeyToProcess["get-stats:context"] - dcName := kvInfoKeyToProcess["dc"] - nsName, nsOk := kvInfoKeyToProcess["namespace"] - - // either this is a config key or a stat having namespace (both are new use-cases) hence handle here - - if cfgOk && nsOk { - return dcName, nsName, ("aerospike_xdr" + "_" + "dc_namespace_" + stat) - } else if statOk && nsOk { - return dcName, nsName, ("aerospike_xdr" + "_" + "dc_namespace_" + stat) - } else if cfgOk { - return dcName, nsName, ("aerospike_xdr" + "_" + "dc_" + stat) - } - - return dcName, "no-namespace", "aerospike_xdr" + "_" + stat // no-prefix/default i.e. no suffix like "dc" / "dc_namespace" - -} - -// Sindex related methods -type MockSindexPromMetricGenerator struct { - // this will hold the golbal array/objects for Sindex - lExpectedMetricNamedValues map[string][]string - lExpectedMetricLabels map[string][]string -} - -func (sim *MockSindexPromMetricGenerator) createSindexWatcherTestData(mas *MockAerospikeServer) (map[string][]string, map[string][]string) { - - // re-initialize whenever called - sim.lExpectedMetricNamedValues = make(map[string][]string) - sim.lExpectedMetricLabels = make(map[string][]string) - - // rawMetrics := getRawMetrics() - rawMetrics := mas.fetchRawMetrics() - - clusterName := rawMetrics["cluster-name"] - service := rawMetrics["service-clear-std"] - - for metricsGrpKey := range rawMetrics { - if strings.HasPrefix(metricsGrpKey, "sindex/") { - sindexInfos := rawMetrics[metricsGrpKey] - namespace, sindexName := sim.extractNamespaceSetSindexname(metricsGrpKey) - stats := splitAndRetrieveStats(sindexInfos, ";") - for stat, value := range stats { - key := strings.TrimSpace(stat) - convertedValue, err := convertValue(value) - if err != nil { - fmt.Println("IGNORING, failed converting value ( key: ", key, " - value: ", value, ") = error: ", err) - continue - } - - isBlocked := isHelperBlockedMetric(stat, config.Aerospike.SindexMetricsBlocklist) - if isBlocked { - continue - } - isAllowed := isHelperAllowedMetric(stat, config.Aerospike.SindexMetricsAllowlist) - if !isAllowed { - continue - } - - // reconvert float back to string - value := fmt.Sprintf("%.0f", convertedValue) - - key = strings.ReplaceAll(key, "-", "_") - key = strings.ReplaceAll(key, ".", "_") - metric := "aerospike_sindex" + "_" + key - valuesArr := sim.lExpectedMetricNamedValues[metric] - labelsArr := sim.lExpectedMetricLabels[metric] - - if valuesArr == nil { - valuesArr = []string{} - } - if labelsArr == nil { - labelsArr = []string{} - } - - // Label: [name:"cluster_name" value:"null" name:"ns" value:"test" name:"service" value:"172.17.0.3:3000" name:"sindex" value:"test_sindex1" ] - // service/namespace/sindexname/ - mapKeyname := makeKeyname(sindexName, metric, true) - mapKeyname = makeKeyname(namespace, mapKeyname, true) - mapKeyname = makeKeyname(service, mapKeyname, true) - - labelsMap := copyConfigLabels() - labelsMap["ns"] = namespace - labelsMap["sindex"] = sindexName - labelsMap["service"] = service - labelsMap["cluster_name"] = clusterName - - sorted_label_str := "[" + createLabelByNames(labelsMap) + " ]" - - valuesArr = append(valuesArr, strings.TrimSpace(value)) - labelsArr = append(labelsArr, strings.TrimSpace(sorted_label_str)) - - sim.lExpectedMetricNamedValues[mapKeyname] = valuesArr - sim.lExpectedMetricLabels[mapKeyname] = labelsArr - - } - } - } - - return sim.lExpectedMetricNamedValues, sim.lExpectedMetricLabels -} - -func (siMock *MockSindexPromMetricGenerator) extractNamespaceSetSindexname(sindexKey string) (string, string) { - elements := strings.Split(sindexKey, "/") - - return elements[1], elements[2] -} - -// User related utilities -type MockUsersPromMetricGenerator struct { - lExpectedMetricNamedValues map[string][]string - lExpectedMetricLabels map[string][]string -} - -func (mockUsers *MockUsersPromMetricGenerator) createDummyUserRoles() []*aero.UserRoles { - userRoles := []*aero.UserRoles{} - - MAX_USERS := 4 - MAX_READINFO := 4 - MAX_WRITEINFO := 4 - - userNames := []string{"test", "admin", "app_user_1", "app_user_read_1", "app_user_rw_all"} - - // we always give dummy data - for i := 0; i <= MAX_USERS; i++ { - - if mockUsers.isUserAllowed(userNames[i]) { - userRoles = append(userRoles, new(aero.UserRoles)) - - userRoles[i].User = userNames[i] - userRoles[i].ConnsInUse = i * 2 - - for k := 0; k <= MAX_READINFO; k++ { - userRoles[i].ReadInfo = append(userRoles[i].ReadInfo, (k+1)*5) - } - for k := 0; k <= MAX_WRITEINFO; k++ { - userRoles[i].WriteInfo = append(userRoles[i].WriteInfo, (k+1)*10) - } - } - } - - return userRoles -} - -func (mockUsers *MockUsersPromMetricGenerator) createMockUserData(mas *MockAerospikeServer) (map[string][]string, map[string][]string) { - userRoles := mockUsers.createDummyUserRoles() - - // re-initialize whenever called - mockUsers.lExpectedMetricNamedValues = make(map[string][]string) - mockUsers.lExpectedMetricLabels = make(map[string][]string) - - rawMetrics := mas.fetchRawMetrics() - - clusterName := rawMetrics["cluster-name"] - service := rawMetrics["service-clear-std"] - - readInfoStats := []string{"read_quota", "read_single_record_tps", "read_scan_query_rps", "limitless_read_scan_query"} - writeInfoStats := []string{"write_quota", "write_single_record_tps", "write_scan_query_rps", "limitless_write_scan_query"} - - for idx := range userRoles { - userRole := userRoles[idx] - - userName := userRole.User - - // conn-in-use - key := "conns_in_use" - value := strconv.Itoa(userRole.ConnsInUse) - - metric := "aerospike_users" + "_" + key - - valuesArr := mockUsers.lExpectedMetricNamedValues[metric] - labelsArr := mockUsers.lExpectedMetricLabels[metric] - - if valuesArr == nil { - valuesArr = []string{} - } - if labelsArr == nil { - labelsArr = []string{} - } - - mapKeyname := makeKeyname(userName, metric, true) - mapKeyname = makeKeyname(service, mapKeyname, true) - - labelsMap := copyConfigLabels() - labelsMap["user"] = userName - labelsMap["service"] = service - labelsMap["cluster_name"] = clusterName - - sorted_label_str := "[" + createLabelByNames(labelsMap) + " ]" - - valuesArr = append(valuesArr, strings.TrimSpace(value)) - labelsArr = append(labelsArr, strings.TrimSpace(sorted_label_str)) - - mockUsers.lExpectedMetricNamedValues[mapKeyname] = valuesArr - mockUsers.lExpectedMetricLabels[mapKeyname] = labelsArr - - // end: conn-in-use - - // Label: [name:"cluster_name" value:"null" name:"ns" value:"bar" name:"service" value:"172.17.0.3:3000" name:"set" value:"west_region" ] - for i := 0; i < len(readInfoStats); i++ { - - key := readInfoStats[i] - value := strconv.Itoa(userRole.ReadInfo[i]) - - metric := "aerospike_users" + "_" + key - - valuesArr := mockUsers.lExpectedMetricNamedValues[metric] - labelsArr := mockUsers.lExpectedMetricLabels[metric] - - if valuesArr == nil { - valuesArr = []string{} - } - if labelsArr == nil { - labelsArr = []string{} - } - - mapKeyname := makeKeyname(userName, metric, true) - mapKeyname = makeKeyname(service, mapKeyname, true) - - labelsMap := copyConfigLabels() - labelsMap["user"] = userName - labelsMap["service"] = service - labelsMap["cluster_name"] = clusterName - - sorted_label_str := "[" + createLabelByNames(labelsMap) + " ]" - - valuesArr = append(valuesArr, strings.TrimSpace(value)) - labelsArr = append(labelsArr, strings.TrimSpace(sorted_label_str)) - - mockUsers.lExpectedMetricNamedValues[mapKeyname] = valuesArr - mockUsers.lExpectedMetricLabels[mapKeyname] = labelsArr - - } - - // Label: [name:"cluster_name" value:"null" name:"ns" value:"bar" name:"service" value:"172.17.0.3:3000" name:"set" value:"west_region" ] - for i := 0; i < len(writeInfoStats); i++ { - key := writeInfoStats[i] - value := strconv.Itoa(userRole.WriteInfo[i]) - - metric := "aerospike_users" + "_" + key - - valuesArr := mockUsers.lExpectedMetricNamedValues[metric] - labelsArr := mockUsers.lExpectedMetricLabels[metric] - - if valuesArr == nil { - valuesArr = []string{} - } - if labelsArr == nil { - labelsArr = []string{} - } - - mapKeyname := makeKeyname(userName, metric, true) - mapKeyname = makeKeyname(service, mapKeyname, true) - - labelsMap := copyConfigLabels() - labelsMap["user"] = userName - labelsMap["service"] = service - labelsMap["cluster_name"] = clusterName - - sorted_label_str := "[" + createLabelByNames(labelsMap) + " ]" - - valuesArr = append(valuesArr, strings.TrimSpace(value)) - labelsArr = append(labelsArr, strings.TrimSpace(sorted_label_str)) - - mockUsers.lExpectedMetricNamedValues[mapKeyname] = valuesArr - mockUsers.lExpectedMetricLabels[mapKeyname] = labelsArr - - } - - // create mock output - } - - return mockUsers.lExpectedMetricNamedValues, mockUsers.lExpectedMetricLabels -} - -func (mockUsers *MockUsersPromMetricGenerator) isUserAllowed(username string) bool { - userAllowlist := config.Aerospike.UserMetricsUsersAllowlist - userBlocklist := config.Aerospike.UserMetricsUsersBlocklist - if len(userBlocklist) == 0 && len(userAllowlist) == 0 { - return true - } - // check blocklist - for i := 0; i < len(userBlocklist); i++ { - if strings.EqualFold(userBlocklist[i], username) { - return true - } - } - - // check allowlist - for i := 0; i < len(userAllowlist); i++ { - if strings.EqualFold(userAllowlist[i], username) { - return true - } - } - - return false -} diff --git a/observer.go b/observer.go deleted file mode 100644 index 50d8609f..00000000 --- a/observer.go +++ /dev/null @@ -1,283 +0,0 @@ -package main - -import ( - "crypto/tls" - "crypto/x509" - "errors" - "strings" - "sync" - "time" - - "github.com/prometheus/client_golang/prometheus" - - aero "github.com/aerospike/aerospike-client-go/v6" - log "github.com/sirupsen/logrus" -) - -// Observer communicates with Aerospike and helps collecting metrices -type Observer struct { - conn *aero.Connection - newConnection func() (*aero.Connection, error) - ticks prometheus.Counter - watchers []Watcher - mutex sync.Mutex -} - -var ( - // aerospike_node_up metric descriptor - nodeActiveDesc *prometheus.Desc - - // Node service endpoint, cluster name and build version - gService, gClusterName, gBuild string - - // Number of retries on info request - retryCount = 3 - - // Default info commands - ikClusterName = "cluster-name" - ikService = "service-clear-std" - ikBuild = "build" -) - -func initAerospikeTLS() *tls.Config { - if len(config.Aerospike.RootCA) == 0 && len(config.Aerospike.CertFile) == 0 && len(config.Aerospike.KeyFile) == 0 { - return nil - } - - var clientPool []tls.Certificate - var serverPool *x509.CertPool - var err error - - serverPool, err = loadCACert(config.Aerospike.RootCA) - if err != nil { - log.Fatal(err) - } - - if len(config.Aerospike.CertFile) > 0 || len(config.Aerospike.KeyFile) > 0 { - clientPool, err = loadServerCertAndKey(config.Aerospike.CertFile, config.Aerospike.KeyFile, config.Aerospike.KeyFilePassphrase) - if err != nil { - log.Fatal(err) - } - } - - tlsConfig := &tls.Config{ - Certificates: clientPool, - RootCAs: serverPool, - InsecureSkipVerify: false, - PreferServerCipherSuites: true, - NameToCertificate: nil, - } - - return tlsConfig -} - -func newObserver(server *aero.Host, user, pass string) (o *Observer, err error) { - // initialize aerospike_node_up metric descriptor - nodeActiveDesc = prometheus.NewDesc( - "aerospike_node_up", - "Aerospike node active status", - []string{"cluster_name", "service", "build"}, - config.AeroProm.MetricLabels, - ) - - // Get aerospike auth username - username, err := getSecret(user) - if err != nil { - log.Fatal(err) - } - - // Get aerospike auth password - password, err := getSecret(pass) - if err != nil { - log.Fatal(err) - } - - clientPolicy := aero.NewClientPolicy() - clientPolicy.User = string(username) - clientPolicy.Password = string(password) - - authMode := strings.ToLower(strings.TrimSpace(config.Aerospike.AuthMode)) - - switch authMode { - case "internal", "": - clientPolicy.AuthMode = aero.AuthModeInternal - case "external": - clientPolicy.AuthMode = aero.AuthModeExternal - case "pki": - if len(config.Aerospike.CertFile) == 0 || len(config.Aerospike.KeyFile) == 0 { - log.Fatalln("Invalid certificate configuration when using auth mode PKI: cert_file and key_file must be set") - } - clientPolicy.AuthMode = aero.AuthModePKI - default: - log.Fatalln("Invalid auth mode: only `internal`, `external`, `pki` values are accepted.") - } - - // allow only ONE connection - clientPolicy.ConnectionQueueSize = 1 - clientPolicy.Timeout = time.Duration(config.Aerospike.Timeout) * time.Second - - clientPolicy.TlsConfig = initAerospikeTLS() - - if clientPolicy.TlsConfig != nil { - ikService = "service-tls-std" - } - - createNewConnection := func() (*aero.Connection, error) { - conn, err := aero.NewConnection(clientPolicy, server) - if err != nil { - return nil, err - } - - if clientPolicy.RequiresAuthentication() { - if err := conn.Login(clientPolicy); err != nil { - return nil, err - } - } - - // Set no connection deadline to re-use connection, but socketTimeout will be in effect - var deadline time.Time - err = conn.SetTimeout(deadline, clientPolicy.Timeout) - if err != nil { - return nil, err - } - - return conn, nil - } - - o = &Observer{ - newConnection: createNewConnection, - ticks: prometheus.NewCounter( - prometheus.CounterOpts{ - Namespace: "aerospike", - Subsystem: "node", - Name: "ticks", - Help: "Counter that detemines how many times the Aerospike node was scraped for metrics.", - }), - watchers: []Watcher{ - &NamespaceWatcher{}, - &SetWatcher{}, - &LatencyWatcher{}, // gets the build version, used by watchers below - &StatsWatcher{}, - &XdrWatcher{}, - &UserWatcher{}, - &JobsWatcher{}, - &SindexWatcher{}}, // the order is important here - } - - return o, nil -} - -// Describe function of Prometheus' Collector interface -func (o *Observer) Describe(ch chan<- *prometheus.Desc) {} - -// Collect function of Prometheus' Collector interface -func (o *Observer) Collect(ch chan<- prometheus.Metric) { - // Protect against concurrent scrapes - o.mutex.Lock() - defer o.mutex.Unlock() - - o.ticks.Inc() - ch <- o.ticks - - stats, err := o.refresh(ch) - if err != nil { - log.Errorln(err) - ch <- prometheus.MustNewConstMetric(nodeActiveDesc, prometheus.GaugeValue, 0.0, gClusterName, gService, gBuild) - return - } - - gClusterName, gService, gBuild = stats[ikClusterName], stats[ikService], stats[ikBuild] - ch <- prometheus.MustNewConstMetric(nodeActiveDesc, prometheus.GaugeValue, 1.0, gClusterName, gService, gBuild) -} - -func (o *Observer) requestInfo(retryCount int, infoKeys []string) (map[string]string, error) { - var err error - rawMetrics := make(map[string]string) - - // Retry for connection, timeout, network errors - // including errors from RequestInfo() - for i := 0; i < retryCount; i++ { - // Validate existing connection - if o.conn == nil || !o.conn.IsConnected() { - // Create new connection - o.conn, err = o.newConnection() - if err != nil { - log.Debug(err) - continue - } - } - - // Info request - rawMetrics, err = o.conn.RequestInfo(infoKeys...) - if err != nil { - log.Debug(err) - continue - } - - break - } - - if len(rawMetrics) == 1 { - for k := range rawMetrics { - if strings.HasPrefix(strings.ToUpper(k), "ERROR:") { - return nil, errors.New(k) - } - } - } - - return rawMetrics, err -} - -func (o *Observer) refresh(ch chan<- prometheus.Metric) (map[string]string, error) { - log.Debugf("Refreshing node %s", fullHost) - - // fetch first set of info keys - var infoKeys []string - for _, c := range o.watchers { - if keys := c.passOneKeys(); len(keys) > 0 { - infoKeys = append(infoKeys, keys...) - } - } - // append infoKey "build" - this is removed from WatcherLatencies to avoid forced watcher sequence during refresh - infoKeys = append(infoKeys, "build") - - // info request for first set of info keys, this retrives configs from server - // from namespaces,server/node-stats, xdr - // if for any context (like jobs, latencies etc.,) no configs, they are not sent to server - passOneOutput, err := o.requestInfo(retryCount, infoKeys) - if err != nil { - return nil, err - } - - // fetch second second set of info keys - infoKeys = []string{ikClusterName, ikService, ikBuild} - watcherInfoKeys := make([][]string, len(o.watchers)) - for i, c := range o.watchers { - if keys := c.passTwoKeys(passOneOutput); len(keys) > 0 { - infoKeys = append(infoKeys, keys...) - watcherInfoKeys[i] = keys - } - } - - // info request for second set of info keys, this retrieves all the stats from server - rawMetrics, err := o.requestInfo(retryCount, infoKeys) - if err != nil { - return passOneOutput, err - } - - // sanitize the utf8 strings before sending them to watchers - for k, v := range rawMetrics { - rawMetrics[k] = sanitizeUTF8(v) - } - - // sanitize the utf8 strings before sending them to watchers - for i, c := range o.watchers { - if err := c.refresh(o, watcherInfoKeys[i], rawMetrics, ch); err != nil { - return rawMetrics, err - } - } - - log.Debugf("Refreshing node was successful") - - return rawMetrics, nil -} diff --git a/pkg/Makefile b/pkg/Makefile index 7be8e08c..5d20a60f 100644 --- a/pkg/Makefile +++ b/pkg/Makefile @@ -127,7 +127,7 @@ tar: prep --license $(LICENSE) \ --url $(URL) \ --vendor $(VENDOR) \ - --package $(TARGET_DIR)/$(PKG_FILENAME)_$(VERSION)$(DISTRO_SHORT)$(DISTRO_VERSION)_$(ARCH).tgz + --package $(TARGET_DIR)/$(PKG_FILENAME)_$(VERSION)$(DISTRO_SHORT)$(DISTRO_VERSION)_$(ARCH).tar .PHONY: prep prep: @@ -136,8 +136,8 @@ prep: install -d $(BUILD_DIR)/usr/bin install -d $(BUILD_DIR)/etc/aerospike-prometheus-exporter install -pm 755 $(TOP_DIR)/aerospike-prometheus-exporter $(BUILD_DIR)/usr/bin/aerospike-prometheus-exporter - install -pm 644 $(TOP_DIR)/ape.toml $(BUILD_DIR)/etc/aerospike-prometheus-exporter/ape.toml - install -pm 644 $(TOP_DIR)/gauge_stats_list.toml $(BUILD_DIR)/etc/aerospike-prometheus-exporter/gauge_stats_list.toml + install -pm 644 $(TOP_DIR)/configs/ape.toml $(BUILD_DIR)/etc/aerospike-prometheus-exporter/ape.toml + install -pm 644 $(TOP_DIR)/configs/gauge_stats_list.toml $(BUILD_DIR)/etc/aerospike-prometheus-exporter/gauge_stats_list.toml .PHONY: clean clean: diff --git a/tests/mock_test_data.txt b/tests/mock_test_data.txt deleted file mode 100644 index 5546ed5a..00000000 --- a/tests/mock_test_data.txt +++ /dev/null @@ -1,43 +0,0 @@ -build=7.0.0.0-rc4 -service-clear-std=172.17.0.6:3000 -cluster-name=70_aus_perth_1 -passone_output:build:7.0.0.0-rc4 get-config:context=xdr:dcs=172.17.0.10,64_asia_sng_dr_1;src-id=0;trace-sample=0 namespaces:test;bar;bar_pmem;employees_flash sindex:ns=test:indexname=test_sindex1:set=from_branch_2:bin=occurred:type=numeric:indextype=default:context=null:state=RW;ns=test:indexname=7x_sindex_1:set=NULL:bin=occurred:type=numeric:indextype=default:context=null:state=RW;ns=bar:indexname=7x_sindex_bar_2:set=NULL:bin=occurred:type=numeric:indextype=default:context=null:state=RW - -namespace-stats:test:ns_cluster_size=1;effective_replication_factor=1;objects=22957;tombstones=0;xdr_tombstones=0;xdr_bin_cemeteries=0;master_objects=22957;master_tombstones=0;prole_objects=0;prole_tombstones=0;non_replica_objects=0;non_replica_tombstones=0;unreplicated_records=0;dead_partitions=0;unavailable_partitions=0;clock_skew_stop_writes=false;stop_writes=false;hwm_breached=false;current_time=436694970;non_expirable_objects=22957;expired_objects=0;evicted_objects=0;evict_ttl=0;evict_void_time=0;smd_evict_void_time=0;nsup_cycle_duration=0;nsup_cycle_deleted_pct=0.00;truncate_lut=0;truncating=false;sindex_gc_cleaned=0;xmem_id=1;index_used_bytes=1469248;set_index_used_bytes=0;sindex_used_bytes=33554432;data_total_bytes=4294967296;data_used_bytes=3305808;data_used_pct=0;data_avail_pct=96;data_compression_ratio=1.000;storage-engine.stripe[0].used_bytes=419472;storage-engine.stripe[0].free_wblocks=62;storage-engine.stripe[0].writes=0;storage-engine.stripe[0].defrag_q=0;storage-engine.stripe[0].defrag_reads=0;storage-engine.stripe[0].defrag_writes=0;storage-engine.stripe[1].used_bytes=410544;storage-engine.stripe[1].free_wblocks=62;storage-engine.stripe[1].writes=0;storage-engine.stripe[1].defrag_q=0;storage-engine.stripe[1].defrag_reads=0;storage-engine.stripe[1].defrag_writes=0;storage-engine.stripe[2].used_bytes=415872;storage-engine.stripe[2].free_wblocks=62;storage-engine.stripe[2].writes=0;storage-engine.stripe[2].defrag_q=0;storage-engine.stripe[2].defrag_reads=0;storage-engine.stripe[2].defrag_writes=0;storage-engine.stripe[3].used_bytes=399456;storage-engine.stripe[3].free_wblocks=62;storage-engine.stripe[3].writes=0;storage-engine.stripe[3].defrag_q=0;storage-engine.stripe[3].defrag_reads=0;storage-engine.stripe[3].defrag_writes=0;storage-engine.stripe[4].used_bytes=423072;storage-engine.stripe[4].free_wblocks=62;storage-engine.stripe[4].writes=0;storage-engine.stripe[4].defrag_q=0;storage-engine.stripe[4].defrag_reads=0;storage-engine.stripe[4].defrag_writes=0;storage-engine.stripe[5].used_bytes=399024;storage-engine.stripe[5].free_wblocks=62;storage-engine.stripe[5].writes=0;storage-engine.stripe[5].defrag_q=0;storage-engine.stripe[5].defrag_reads=0;storage-engine.stripe[5].defrag_writes=0;storage-engine.stripe[6].used_bytes=418896;storage-engine.stripe[6].free_wblocks=62;storage-engine.stripe[6].writes=0;storage-engine.stripe[6].defrag_q=0;storage-engine.stripe[6].defrag_reads=0;storage-engine.stripe[6].defrag_writes=0;storage-engine.stripe[7].used_bytes=419472;storage-engine.stripe[7].free_wblocks=62;storage-engine.stripe[7].writes=0;storage-engine.stripe[7].defrag_q=0;storage-engine.stripe[7].defrag_reads=0;storage-engine.stripe[7].defrag_writes=0;record_proto_uncompressed_pct=0.000;record_proto_compression_ratio=1.000;query_proto_uncompressed_pct=0.000;query_proto_compression_ratio=1.000;pending_quiesce=false;effective_is_quiesced=false;nodes_quiesced=0;effective_prefer_uniform_balance=true;migrate_tx_partitions_imbalance=0;migrate_tx_instances=0;migrate_rx_instances=0;migrate_tx_partitions_active=0;migrate_rx_partitions_active=0;migrate_tx_partitions_initial=0;migrate_tx_partitions_remaining=0;migrate_tx_partitions_lead_remaining=0;migrate_rx_partitions_initial=0;migrate_rx_partitions_remaining=0;migrate_records_skipped=0;migrate_records_transmitted=0;migrate_record_retransmits=0;migrate_record_receives=0;migrate_signals_active=0;migrate_signals_remaining=0;appeals_tx_active=0;appeals_rx_active=0;appeals_tx_remaining=0;appeals_records_exonerated=0;client_tsvc_error=0;client_tsvc_timeout=0;client_proxy_complete=0;client_proxy_error=0;client_proxy_timeout=0;client_read_success=0;client_read_error=0;client_read_timeout=0;client_read_not_found=0;client_read_filtered_out=0;client_write_success=22957;client_write_error=0;client_write_timeout=0;client_write_filtered_out=0;xdr_client_write_success=0;xdr_client_write_error=0;xdr_client_write_timeout=0;client_delete_success=0;client_delete_error=0;client_delete_timeout=0;client_delete_not_found=0;client_delete_filtered_out=0;xdr_client_delete_success=0;xdr_client_delete_error=0;xdr_client_delete_timeout=0;xdr_client_delete_not_found=0;client_udf_complete=0;client_udf_error=0;client_udf_timeout=0;client_udf_filtered_out=0;client_lang_read_success=0;client_lang_write_success=0;client_lang_delete_success=0;client_lang_error=0;from_proxy_tsvc_error=0;from_proxy_tsvc_timeout=0;from_proxy_read_success=0;from_proxy_read_error=0;from_proxy_read_timeout=0;from_proxy_read_not_found=0;from_proxy_read_filtered_out=0;from_proxy_write_success=0;from_proxy_write_error=0;from_proxy_write_timeout=0;from_proxy_write_filtered_out=0;xdr_from_proxy_write_success=0;xdr_from_proxy_write_error=0;xdr_from_proxy_write_timeout=0;from_proxy_delete_success=0;from_proxy_delete_error=0;from_proxy_delete_timeout=0;from_proxy_delete_not_found=0;from_proxy_delete_filtered_out=0;xdr_from_proxy_delete_success=0;xdr_from_proxy_delete_error=0;xdr_from_proxy_delete_timeout=0;xdr_from_proxy_delete_not_found=0;from_proxy_udf_complete=0;from_proxy_udf_error=0;from_proxy_udf_timeout=0;from_proxy_udf_filtered_out=0;from_proxy_lang_read_success=0;from_proxy_lang_write_success=0;from_proxy_lang_delete_success=0;from_proxy_lang_error=0;batch_sub_tsvc_error=0;batch_sub_tsvc_timeout=0;batch_sub_proxy_complete=0;batch_sub_proxy_error=0;batch_sub_proxy_timeout=0;batch_sub_read_success=0;batch_sub_read_error=0;batch_sub_read_timeout=0;batch_sub_read_not_found=0;batch_sub_read_filtered_out=0;batch_sub_write_success=0;batch_sub_write_error=0;batch_sub_write_timeout=0;batch_sub_write_filtered_out=0;batch_sub_delete_success=0;batch_sub_delete_error=0;batch_sub_delete_timeout=0;batch_sub_delete_not_found=0;batch_sub_delete_filtered_out=0;batch_sub_udf_complete=0;batch_sub_udf_error=0;batch_sub_udf_timeout=0;batch_sub_udf_filtered_out=0;batch_sub_lang_read_success=0;batch_sub_lang_write_success=0;batch_sub_lang_delete_success=0;batch_sub_lang_error=0;from_proxy_batch_sub_tsvc_error=0;from_proxy_batch_sub_tsvc_timeout=0;from_proxy_batch_sub_read_success=0;from_proxy_batch_sub_read_error=0;from_proxy_batch_sub_read_timeout=0;from_proxy_batch_sub_read_not_found=0;from_proxy_batch_sub_read_filtered_out=0;from_proxy_batch_sub_write_success=0;from_proxy_batch_sub_write_error=0;from_proxy_batch_sub_write_timeout=0;from_proxy_batch_sub_write_filtered_out=0;from_proxy_batch_sub_delete_success=0;from_proxy_batch_sub_delete_error=0;from_proxy_batch_sub_delete_timeout=0;from_proxy_batch_sub_delete_not_found=0;from_proxy_batch_sub_delete_filtered_out=0;from_proxy_batch_sub_udf_complete=0;from_proxy_batch_sub_udf_error=0;from_proxy_batch_sub_udf_timeout=0;from_proxy_batch_sub_udf_filtered_out=0;from_proxy_batch_sub_lang_read_success=0;from_proxy_batch_sub_lang_write_success=0;from_proxy_batch_sub_lang_delete_success=0;from_proxy_batch_sub_lang_error=0;udf_sub_tsvc_error=0;udf_sub_tsvc_timeout=0;udf_sub_udf_complete=0;udf_sub_udf_error=0;udf_sub_udf_timeout=0;udf_sub_udf_filtered_out=0;udf_sub_lang_read_success=0;udf_sub_lang_write_success=0;udf_sub_lang_delete_success=0;udf_sub_lang_error=0;ops_sub_tsvc_error=0;ops_sub_tsvc_timeout=0;ops_sub_write_success=0;ops_sub_write_error=0;ops_sub_write_timeout=0;ops_sub_write_filtered_out=0;dup_res_ask=0;dup_res_respond_read=0;dup_res_respond_no_read=0;retransmit_all_read_dup_res=0;retransmit_all_write_dup_res=0;retransmit_all_write_repl_write=0;retransmit_all_delete_dup_res=0;retransmit_all_delete_repl_write=0;retransmit_all_udf_dup_res=0;retransmit_all_udf_repl_write=0;retransmit_all_batch_sub_dup_res=0;retransmit_udf_sub_dup_res=0;retransmit_udf_sub_repl_write=0;retransmit_ops_sub_dup_res=0;retransmit_ops_sub_repl_write=0;pi_query_short_basic_complete=0;pi_query_short_basic_error=0;pi_query_short_basic_timeout=0;pi_query_long_basic_complete=0;pi_query_long_basic_error=0;pi_query_long_basic_abort=0;pi_query_aggr_complete=0;pi_query_aggr_error=0;pi_query_aggr_abort=0;pi_query_udf_bg_complete=0;pi_query_udf_bg_error=0;pi_query_udf_bg_abort=0;pi_query_ops_bg_complete=0;pi_query_ops_bg_error=0;pi_query_ops_bg_abort=0;si_query_short_basic_complete=0;si_query_short_basic_error=0;si_query_short_basic_timeout=0;si_query_long_basic_complete=0;si_query_long_basic_error=0;si_query_long_basic_abort=0;si_query_aggr_complete=0;si_query_aggr_error=0;si_query_aggr_abort=0;si_query_udf_bg_complete=0;si_query_udf_bg_error=0;si_query_udf_bg_abort=0;si_query_ops_bg_complete=0;si_query_ops_bg_error=0;si_query_ops_bg_abort=0;geo_region_query_reqs=0;geo_region_query_cells=0;geo_region_query_points=0;geo_region_query_falsepos=0;re_repl_tsvc_error=0;re_repl_tsvc_timeout=0;re_repl_success=0;re_repl_error=0;re_repl_timeout=0;fail_xdr_forbidden=0;fail_key_busy=0;fail_generation=0;fail_record_too_big=0;fail_client_lost_conflict=0;fail_xdr_lost_conflict=0;deleted_last_bin=0;allow-ttl-without-nsup=false;background-query-max-rps=10000;conflict-resolution-policy=generation;conflict-resolve-writes=false;default-ttl=0;disable-cold-start-eviction=false;disable-write-dup-res=false;disallow-expunge=false;disallow-null-setname=false;enable-benchmarks-batch-sub=false;enable-benchmarks-ops-sub=false;enable-benchmarks-read=false;enable-benchmarks-udf=false;enable-benchmarks-udf-sub=false;enable-benchmarks-write=false;enable-hist-proxy=false;evict-hist-buckets=10000;evict-sys-memory-pct=0;evict-tenths-pct=5;force-long-queries=false;ignore-migrate-fill-delay=false;index-stage-size=1073741824;inline-short-queries=false;max-record-size=0;migrate-order=5;migrate-retransmit-ms=5000;migrate-sleep=1;nsup-hist-period=3600;nsup-period=100;nsup-threads=1;partition-tree-sprigs=256;prefer-uniform-balance=true;rack-id=0;read-consistency-level-override=off;reject-non-xdr-writes=false;reject-xdr-writes=false;replication-factor=2;sindex-stage-size=1073741824;single-query-threads=4;stop-writes-sys-memory-pct=90;strong-consistency=false;strong-consistency-allow-expunge=false;tomb-raider-eligible-age=86400;tomb-raider-period=86400;transaction-pending-limit=20;truncate-threads=4;write-commit-level-override=off;xdr-bin-tombstone-ttl=86400;xdr-tomb-raider-period=120;xdr-tomb-raider-threads=1;geo2dsphere-within.strict=true;geo2dsphere-within.min-level=1;geo2dsphere-within.max-level=20;geo2dsphere-within.max-cells=12;geo2dsphere-within.level-mod=1;geo2dsphere-within.earth-radius-meters=6371000;index-type=shmem;sindex-type=shmem;storage-engine=memory;storage-engine.stripe[0]=stripe-0.0xad001000;storage-engine.stripe[1]=stripe-1.0xad001001;storage-engine.stripe[2]=stripe-2.0xad001002;storage-engine.stripe[3]=stripe-3.0xad001003;storage-engine.stripe[4]=stripe-4.0xad001004;storage-engine.stripe[5]=stripe-5.0xad001005;storage-engine.stripe[6]=stripe-6.0xad001006;storage-engine.stripe[7]=stripe-7.0xad001007;storage-engine.commit-to-device=false;storage-engine.compression=none;storage-engine.compression-acceleration=0;storage-engine.compression-level=0;storage-engine.data-size=4294967296;storage-engine.defrag-lwm-pct=50;storage-engine.defrag-queue-min=0;storage-engine.defrag-sleep=1000;storage-engine.defrag-startup-minimum=0;storage-engine.direct-files=false;storage-engine.disable-odsync=false;storage-engine.enable-benchmarks-storage=false;storage-engine.encryption-key-file=null;storage-engine.encryption-old-key-file=null;storage-engine.evict-used-pct=0;storage-engine.filesize=0;storage-engine.flush-max-ms=1000;storage-engine.max-write-cache=67108864;storage-engine.stop-writes-avail-pct=5;storage-engine.stop-writes-used-pct=70;storage-engine.tomb-raider-sleep=1000 -namespace-stats:bar:ns_cluster_size=1;effective_replication_factor=1;objects=47059;tombstones=0;xdr_tombstones=0;xdr_bin_cemeteries=0;master_objects=47059;master_tombstones=0;prole_objects=0;prole_tombstones=0;non_replica_objects=0;non_replica_tombstones=0;unreplicated_records=0;dead_partitions=0;unavailable_partitions=0;clock_skew_stop_writes=false;stop_writes=false;hwm_breached=false;current_time=436694970;non_expirable_objects=0;expired_objects=0;evicted_objects=0;evict_ttl=0;evict_void_time=0;smd_evict_void_time=0;nsup_cycle_duration=0;nsup_cycle_deleted_pct=0.00;truncate_lut=0;truncating=false;sindex_gc_cleaned=0;xmem_id=2;index_used_bytes=3011776;set_index_used_bytes=0;sindex_used_bytes=16777216;data_total_bytes=4294967296;data_used_bytes=6775552;data_used_pct=0;data_avail_pct=99;data_compression_ratio=1.000;cache_read_pct=0;storage-engine.file[0].used_bytes=6775552;storage-engine.file[0].free_wblocks=509;storage-engine.file[0].write_q=0;storage-engine.file[0].writes=0;storage-engine.file[0].defrag_q=0;storage-engine.file[0].defrag_reads=2;storage-engine.file[0].defrag_writes=0;storage-engine.file[0].age=-1;record_proto_uncompressed_pct=0.000;record_proto_compression_ratio=1.000;query_proto_uncompressed_pct=0.000;query_proto_compression_ratio=1.000;pending_quiesce=false;effective_is_quiesced=false;nodes_quiesced=0;effective_prefer_uniform_balance=true;migrate_tx_partitions_imbalance=0;migrate_tx_instances=0;migrate_rx_instances=0;migrate_tx_partitions_active=0;migrate_rx_partitions_active=0;migrate_tx_partitions_initial=0;migrate_tx_partitions_remaining=0;migrate_tx_partitions_lead_remaining=0;migrate_rx_partitions_initial=0;migrate_rx_partitions_remaining=0;migrate_records_skipped=0;migrate_records_transmitted=0;migrate_record_retransmits=0;migrate_record_receives=0;migrate_signals_active=0;migrate_signals_remaining=0;appeals_tx_active=0;appeals_rx_active=0;appeals_tx_remaining=0;appeals_records_exonerated=0;client_tsvc_error=0;client_tsvc_timeout=0;client_proxy_complete=0;client_proxy_error=0;client_proxy_timeout=0;client_read_success=0;client_read_error=0;client_read_timeout=0;client_read_not_found=0;client_read_filtered_out=0;client_write_success=13132;client_write_error=0;client_write_timeout=0;client_write_filtered_out=0;xdr_client_write_success=0;xdr_client_write_error=0;xdr_client_write_timeout=0;client_delete_success=0;client_delete_error=0;client_delete_timeout=0;client_delete_not_found=0;client_delete_filtered_out=0;xdr_client_delete_success=0;xdr_client_delete_error=0;xdr_client_delete_timeout=0;xdr_client_delete_not_found=0;client_udf_complete=0;client_udf_error=0;client_udf_timeout=0;client_udf_filtered_out=0;client_lang_read_success=0;client_lang_write_success=0;client_lang_delete_success=0;client_lang_error=0;from_proxy_tsvc_error=0;from_proxy_tsvc_timeout=0;from_proxy_read_success=0;from_proxy_read_error=0;from_proxy_read_timeout=0;from_proxy_read_not_found=0;from_proxy_read_filtered_out=0;from_proxy_write_success=0;from_proxy_write_error=0;from_proxy_write_timeout=0;from_proxy_write_filtered_out=0;xdr_from_proxy_write_success=0;xdr_from_proxy_write_error=0;xdr_from_proxy_write_timeout=0;from_proxy_delete_success=0;from_proxy_delete_error=0;from_proxy_delete_timeout=0;from_proxy_delete_not_found=0;from_proxy_delete_filtered_out=0;xdr_from_proxy_delete_success=0;xdr_from_proxy_delete_error=0;xdr_from_proxy_delete_timeout=0;xdr_from_proxy_delete_not_found=0;from_proxy_udf_complete=0;from_proxy_udf_error=0;from_proxy_udf_timeout=0;from_proxy_udf_filtered_out=0;from_proxy_lang_read_success=0;from_proxy_lang_write_success=0;from_proxy_lang_delete_success=0;from_proxy_lang_error=0;batch_sub_tsvc_error=0;batch_sub_tsvc_timeout=0;batch_sub_proxy_complete=0;batch_sub_proxy_error=0;batch_sub_proxy_timeout=0;batch_sub_read_success=0;batch_sub_read_error=0;batch_sub_read_timeout=0;batch_sub_read_not_found=0;batch_sub_read_filtered_out=0;batch_sub_write_success=0;batch_sub_write_error=0;batch_sub_write_timeout=0;batch_sub_write_filtered_out=0;batch_sub_delete_success=0;batch_sub_delete_error=0;batch_sub_delete_timeout=0;batch_sub_delete_not_found=0;batch_sub_delete_filtered_out=0;batch_sub_udf_complete=0;batch_sub_udf_error=0;batch_sub_udf_timeout=0;batch_sub_udf_filtered_out=0;batch_sub_lang_read_success=0;batch_sub_lang_write_success=0;batch_sub_lang_delete_success=0;batch_sub_lang_error=0;from_proxy_batch_sub_tsvc_error=0;from_proxy_batch_sub_tsvc_timeout=0;from_proxy_batch_sub_read_success=0;from_proxy_batch_sub_read_error=0;from_proxy_batch_sub_read_timeout=0;from_proxy_batch_sub_read_not_found=0;from_proxy_batch_sub_read_filtered_out=0;from_proxy_batch_sub_write_success=0;from_proxy_batch_sub_write_error=0;from_proxy_batch_sub_write_timeout=0;from_proxy_batch_sub_write_filtered_out=0;from_proxy_batch_sub_delete_success=0;from_proxy_batch_sub_delete_error=0;from_proxy_batch_sub_delete_timeout=0;from_proxy_batch_sub_delete_not_found=0;from_proxy_batch_sub_delete_filtered_out=0;from_proxy_batch_sub_udf_complete=0;from_proxy_batch_sub_udf_error=0;from_proxy_batch_sub_udf_timeout=0;from_proxy_batch_sub_udf_filtered_out=0;from_proxy_batch_sub_lang_read_success=0;from_proxy_batch_sub_lang_write_success=0;from_proxy_batch_sub_lang_delete_success=0;from_proxy_batch_sub_lang_error=0;udf_sub_tsvc_error=0;udf_sub_tsvc_timeout=0;udf_sub_udf_complete=0;udf_sub_udf_error=0;udf_sub_udf_timeout=0;udf_sub_udf_filtered_out=0;udf_sub_lang_read_success=0;udf_sub_lang_write_success=0;udf_sub_lang_delete_success=0;udf_sub_lang_error=0;ops_sub_tsvc_error=0;ops_sub_tsvc_timeout=0;ops_sub_write_success=0;ops_sub_write_error=0;ops_sub_write_timeout=0;ops_sub_write_filtered_out=0;dup_res_ask=0;dup_res_respond_read=0;dup_res_respond_no_read=0;retransmit_all_read_dup_res=0;retransmit_all_write_dup_res=0;retransmit_all_write_repl_write=0;retransmit_all_delete_dup_res=0;retransmit_all_delete_repl_write=0;retransmit_all_udf_dup_res=0;retransmit_all_udf_repl_write=0;retransmit_all_batch_sub_dup_res=0;retransmit_udf_sub_dup_res=0;retransmit_udf_sub_repl_write=0;retransmit_ops_sub_dup_res=0;retransmit_ops_sub_repl_write=0;pi_query_short_basic_complete=0;pi_query_short_basic_error=0;pi_query_short_basic_timeout=0;pi_query_long_basic_complete=0;pi_query_long_basic_error=0;pi_query_long_basic_abort=0;pi_query_aggr_complete=0;pi_query_aggr_error=0;pi_query_aggr_abort=0;pi_query_udf_bg_complete=0;pi_query_udf_bg_error=0;pi_query_udf_bg_abort=0;pi_query_ops_bg_complete=0;pi_query_ops_bg_error=0;pi_query_ops_bg_abort=0;si_query_short_basic_complete=0;si_query_short_basic_error=0;si_query_short_basic_timeout=0;si_query_long_basic_complete=0;si_query_long_basic_error=0;si_query_long_basic_abort=0;si_query_aggr_complete=0;si_query_aggr_error=0;si_query_aggr_abort=0;si_query_udf_bg_complete=0;si_query_udf_bg_error=0;si_query_udf_bg_abort=0;si_query_ops_bg_complete=0;si_query_ops_bg_error=0;si_query_ops_bg_abort=0;geo_region_query_reqs=0;geo_region_query_cells=0;geo_region_query_points=0;geo_region_query_falsepos=0;re_repl_tsvc_error=0;re_repl_tsvc_timeout=0;re_repl_success=0;re_repl_error=0;re_repl_timeout=0;fail_xdr_forbidden=0;fail_key_busy=0;fail_generation=0;fail_record_too_big=0;fail_client_lost_conflict=0;fail_xdr_lost_conflict=0;deleted_last_bin=0;allow-ttl-without-nsup=false;background-query-max-rps=10000;conflict-resolution-policy=generation;conflict-resolve-writes=false;default-ttl=0;disable-cold-start-eviction=false;disable-write-dup-res=false;disallow-expunge=false;disallow-null-setname=false;enable-benchmarks-batch-sub=false;enable-benchmarks-ops-sub=false;enable-benchmarks-read=false;enable-benchmarks-udf=false;enable-benchmarks-udf-sub=false;enable-benchmarks-write=false;enable-hist-proxy=false;evict-hist-buckets=10000;evict-sys-memory-pct=0;evict-tenths-pct=5;force-long-queries=false;ignore-migrate-fill-delay=false;index-stage-size=1073741824;inline-short-queries=false;max-record-size=0;migrate-order=5;migrate-retransmit-ms=5000;migrate-sleep=1;nsup-hist-period=3600;nsup-period=0;nsup-threads=1;partition-tree-sprigs=256;prefer-uniform-balance=true;rack-id=0;read-consistency-level-override=off;reject-non-xdr-writes=false;reject-xdr-writes=false;replication-factor=2;sindex-stage-size=1073741824;single-query-threads=4;stop-writes-sys-memory-pct=90;strong-consistency=false;strong-consistency-allow-expunge=false;tomb-raider-eligible-age=86400;tomb-raider-period=86400;transaction-pending-limit=20;truncate-threads=4;write-commit-level-override=off;xdr-bin-tombstone-ttl=86400;xdr-tomb-raider-period=120;xdr-tomb-raider-threads=1;geo2dsphere-within.strict=true;geo2dsphere-within.min-level=1;geo2dsphere-within.max-level=20;geo2dsphere-within.max-cells=12;geo2dsphere-within.level-mod=1;geo2dsphere-within.earth-radius-meters=6371000;index-type=shmem;sindex-type=shmem;storage-engine=device;storage-engine.file[0]=/opt/aerospike/data/bar.dat;storage-engine.cache-replica-writes=false;storage-engine.cold-start-empty=false;storage-engine.commit-to-device=false;storage-engine.compression=none;storage-engine.compression-acceleration=0;storage-engine.compression-level=0;storage-engine.defrag-lwm-pct=50;storage-engine.defrag-queue-min=0;storage-engine.defrag-sleep=1000;storage-engine.defrag-startup-minimum=0;storage-engine.direct-files=false;storage-engine.disable-odsync=false;storage-engine.enable-benchmarks-storage=false;storage-engine.encryption-key-file=null;storage-engine.encryption-old-key-file=null;storage-engine.evict-used-pct=0;storage-engine.filesize=4294967296;storage-engine.flush-max-ms=1000;storage-engine.max-write-cache=67108864;storage-engine.post-write-queue=0;storage-engine.read-page-cache=false;storage-engine.serialize-tomb-raider=false;storage-engine.sindex-startup-device-scan=false;storage-engine.stop-writes-avail-pct=5;storage-engine.stop-writes-used-pct=70;storage-engine.tomb-raider-sleep=1000;storage-engine.write-block-size=8388608 -namespace-stats:bar_pmem:ns_cluster_size=1;effective_replication_factor=1;objects=0;tombstones=0;xdr_tombstones=0;xdr_bin_cemeteries=0;master_objects=0;master_tombstones=0;prole_objects=0;prole_tombstones=0;non_replica_objects=0;non_replica_tombstones=0;unreplicated_records=0;dead_partitions=0;unavailable_partitions=0;clock_skew_stop_writes=false;stop_writes=false;hwm_breached=false;current_time=436694971;non_expirable_objects=0;expired_objects=0;evicted_objects=0;evict_ttl=0;evict_void_time=0;smd_evict_void_time=0;nsup_cycle_duration=0;nsup_cycle_deleted_pct=0.00;truncate_lut=0;truncating=false;sindex_gc_cleaned=0;xmem_id=3;index_used_bytes=0;set_index_used_bytes=0;sindex_used_bytes=0;data_total_bytes=4294967296;data_used_bytes=0;data_used_pct=0;data_avail_pct=99;data_compression_ratio=1.000;storage-engine.file[0].used_bytes=0;storage-engine.file[0].free_wblocks=511;storage-engine.file[0].write_q=0;storage-engine.file[0].writes=0;storage-engine.file[0].defrag_q=0;storage-engine.file[0].defrag_reads=0;storage-engine.file[0].defrag_writes=0;storage-engine.file[0].age=-1;record_proto_uncompressed_pct=0.000;record_proto_compression_ratio=1.000;query_proto_uncompressed_pct=0.000;query_proto_compression_ratio=1.000;pending_quiesce=false;effective_is_quiesced=false;nodes_quiesced=0;effective_prefer_uniform_balance=true;migrate_tx_partitions_imbalance=0;migrate_tx_instances=0;migrate_rx_instances=0;migrate_tx_partitions_active=0;migrate_rx_partitions_active=0;migrate_tx_partitions_initial=0;migrate_tx_partitions_remaining=0;migrate_tx_partitions_lead_remaining=0;migrate_rx_partitions_initial=0;migrate_rx_partitions_remaining=0;migrate_records_skipped=0;migrate_records_transmitted=0;migrate_record_retransmits=0;migrate_record_receives=0;migrate_signals_active=0;migrate_signals_remaining=0;appeals_tx_active=0;appeals_rx_active=0;appeals_tx_remaining=0;appeals_records_exonerated=0;client_tsvc_error=0;client_tsvc_timeout=0;client_proxy_complete=0;client_proxy_error=0;client_proxy_timeout=0;client_read_success=0;client_read_error=0;client_read_timeout=0;client_read_not_found=0;client_read_filtered_out=0;client_write_success=0;client_write_error=0;client_write_timeout=0;client_write_filtered_out=0;xdr_client_write_success=0;xdr_client_write_error=0;xdr_client_write_timeout=0;client_delete_success=0;client_delete_error=0;client_delete_timeout=0;client_delete_not_found=0;client_delete_filtered_out=0;xdr_client_delete_success=0;xdr_client_delete_error=0;xdr_client_delete_timeout=0;xdr_client_delete_not_found=0;client_udf_complete=0;client_udf_error=0;client_udf_timeout=0;client_udf_filtered_out=0;client_lang_read_success=0;client_lang_write_success=0;client_lang_delete_success=0;client_lang_error=0;from_proxy_tsvc_error=0;from_proxy_tsvc_timeout=0;from_proxy_read_success=0;from_proxy_read_error=0;from_proxy_read_timeout=0;from_proxy_read_not_found=0;from_proxy_read_filtered_out=0;from_proxy_write_success=0;from_proxy_write_error=0;from_proxy_write_timeout=0;from_proxy_write_filtered_out=0;xdr_from_proxy_write_success=0;xdr_from_proxy_write_error=0;xdr_from_proxy_write_timeout=0;from_proxy_delete_success=0;from_proxy_delete_error=0;from_proxy_delete_timeout=0;from_proxy_delete_not_found=0;from_proxy_delete_filtered_out=0;xdr_from_proxy_delete_success=0;xdr_from_proxy_delete_error=0;xdr_from_proxy_delete_timeout=0;xdr_from_proxy_delete_not_found=0;from_proxy_udf_complete=0;from_proxy_udf_error=0;from_proxy_udf_timeout=0;from_proxy_udf_filtered_out=0;from_proxy_lang_read_success=0;from_proxy_lang_write_success=0;from_proxy_lang_delete_success=0;from_proxy_lang_error=0;batch_sub_tsvc_error=0;batch_sub_tsvc_timeout=0;batch_sub_proxy_complete=0;batch_sub_proxy_error=0;batch_sub_proxy_timeout=0;batch_sub_read_success=0;batch_sub_read_error=0;batch_sub_read_timeout=0;batch_sub_read_not_found=0;batch_sub_read_filtered_out=0;batch_sub_write_success=0;batch_sub_write_error=0;batch_sub_write_timeout=0;batch_sub_write_filtered_out=0;batch_sub_delete_success=0;batch_sub_delete_error=0;batch_sub_delete_timeout=0;batch_sub_delete_not_found=0;batch_sub_delete_filtered_out=0;batch_sub_udf_complete=0;batch_sub_udf_error=0;batch_sub_udf_timeout=0;batch_sub_udf_filtered_out=0;batch_sub_lang_read_success=0;batch_sub_lang_write_success=0;batch_sub_lang_delete_success=0;batch_sub_lang_error=0;from_proxy_batch_sub_tsvc_error=0;from_proxy_batch_sub_tsvc_timeout=0;from_proxy_batch_sub_read_success=0;from_proxy_batch_sub_read_error=0;from_proxy_batch_sub_read_timeout=0;from_proxy_batch_sub_read_not_found=0;from_proxy_batch_sub_read_filtered_out=0;from_proxy_batch_sub_write_success=0;from_proxy_batch_sub_write_error=0;from_proxy_batch_sub_write_timeout=0;from_proxy_batch_sub_write_filtered_out=0;from_proxy_batch_sub_delete_success=0;from_proxy_batch_sub_delete_error=0;from_proxy_batch_sub_delete_timeout=0;from_proxy_batch_sub_delete_not_found=0;from_proxy_batch_sub_delete_filtered_out=0;from_proxy_batch_sub_udf_complete=0;from_proxy_batch_sub_udf_error=0;from_proxy_batch_sub_udf_timeout=0;from_proxy_batch_sub_udf_filtered_out=0;from_proxy_batch_sub_lang_read_success=0;from_proxy_batch_sub_lang_write_success=0;from_proxy_batch_sub_lang_delete_success=0;from_proxy_batch_sub_lang_error=0;udf_sub_tsvc_error=0;udf_sub_tsvc_timeout=0;udf_sub_udf_complete=0;udf_sub_udf_error=0;udf_sub_udf_timeout=0;udf_sub_udf_filtered_out=0;udf_sub_lang_read_success=0;udf_sub_lang_write_success=0;udf_sub_lang_delete_success=0;udf_sub_lang_error=0;ops_sub_tsvc_error=0;ops_sub_tsvc_timeout=0;ops_sub_write_success=0;ops_sub_write_error=0;ops_sub_write_timeout=0;ops_sub_write_filtered_out=0;dup_res_ask=0;dup_res_respond_read=0;dup_res_respond_no_read=0;retransmit_all_read_dup_res=0;retransmit_all_write_dup_res=0;retransmit_all_write_repl_write=0;retransmit_all_delete_dup_res=0;retransmit_all_delete_repl_write=0;retransmit_all_udf_dup_res=0;retransmit_all_udf_repl_write=0;retransmit_all_batch_sub_dup_res=0;retransmit_udf_sub_dup_res=0;retransmit_udf_sub_repl_write=0;retransmit_ops_sub_dup_res=0;retransmit_ops_sub_repl_write=0;pi_query_short_basic_complete=0;pi_query_short_basic_error=0;pi_query_short_basic_timeout=0;pi_query_long_basic_complete=0;pi_query_long_basic_error=0;pi_query_long_basic_abort=0;pi_query_aggr_complete=0;pi_query_aggr_error=0;pi_query_aggr_abort=0;pi_query_udf_bg_complete=0;pi_query_udf_bg_error=0;pi_query_udf_bg_abort=0;pi_query_ops_bg_complete=0;pi_query_ops_bg_error=0;pi_query_ops_bg_abort=0;si_query_short_basic_complete=0;si_query_short_basic_error=0;si_query_short_basic_timeout=0;si_query_long_basic_complete=0;si_query_long_basic_error=0;si_query_long_basic_abort=0;si_query_aggr_complete=0;si_query_aggr_error=0;si_query_aggr_abort=0;si_query_udf_bg_complete=0;si_query_udf_bg_error=0;si_query_udf_bg_abort=0;si_query_ops_bg_complete=0;si_query_ops_bg_error=0;si_query_ops_bg_abort=0;geo_region_query_reqs=0;geo_region_query_cells=0;geo_region_query_points=0;geo_region_query_falsepos=0;re_repl_tsvc_error=0;re_repl_tsvc_timeout=0;re_repl_success=0;re_repl_error=0;re_repl_timeout=0;fail_xdr_forbidden=0;fail_key_busy=0;fail_generation=0;fail_record_too_big=0;fail_client_lost_conflict=0;fail_xdr_lost_conflict=0;deleted_last_bin=0;allow-ttl-without-nsup=false;background-query-max-rps=10000;conflict-resolution-policy=generation;conflict-resolve-writes=false;default-ttl=0;disable-cold-start-eviction=false;disable-write-dup-res=false;disallow-expunge=false;disallow-null-setname=false;enable-benchmarks-batch-sub=false;enable-benchmarks-ops-sub=false;enable-benchmarks-read=false;enable-benchmarks-udf=false;enable-benchmarks-udf-sub=false;enable-benchmarks-write=false;enable-hist-proxy=false;evict-hist-buckets=10000;evict-sys-memory-pct=0;evict-tenths-pct=5;force-long-queries=false;ignore-migrate-fill-delay=false;index-stage-size=1073741824;inline-short-queries=false;max-record-size=0;migrate-order=5;migrate-retransmit-ms=5000;migrate-sleep=1;nsup-hist-period=3600;nsup-period=0;nsup-threads=1;partition-tree-sprigs=256;prefer-uniform-balance=true;rack-id=0;read-consistency-level-override=off;reject-non-xdr-writes=false;reject-xdr-writes=false;replication-factor=2;sindex-stage-size=1073741824;single-query-threads=4;stop-writes-sys-memory-pct=90;strong-consistency=false;strong-consistency-allow-expunge=false;tomb-raider-eligible-age=86400;tomb-raider-period=86400;transaction-pending-limit=20;truncate-threads=4;write-commit-level-override=off;xdr-bin-tombstone-ttl=86400;xdr-tomb-raider-period=120;xdr-tomb-raider-threads=1;geo2dsphere-within.strict=true;geo2dsphere-within.min-level=1;geo2dsphere-within.max-level=20;geo2dsphere-within.max-cells=12;geo2dsphere-within.level-mod=1;geo2dsphere-within.earth-radius-meters=6371000;index-type=shmem;sindex-type=shmem;storage-engine=pmem;storage-engine.file[0]=/opt/aerospike/data/bar_pmem.dat;storage-engine.commit-to-device=false;storage-engine.compression=none;storage-engine.compression-acceleration=0;storage-engine.compression-level=0;storage-engine.defrag-lwm-pct=50;storage-engine.defrag-queue-min=0;storage-engine.defrag-sleep=1000;storage-engine.defrag-startup-minimum=0;storage-engine.direct-files=false;storage-engine.disable-odsync=false;storage-engine.enable-benchmarks-storage=false;storage-engine.encryption-key-file=null;storage-engine.encryption-old-key-file=null;storage-engine.evict-used-pct=0;storage-engine.filesize=4294967296;storage-engine.flush-max-ms=1000;storage-engine.max-write-cache=67108864;storage-engine.stop-writes-avail-pct=5;storage-engine.stop-writes-used-pct=70;storage-engine.tomb-raider-sleep=1000 -namespace-stats:employees_flash:ns_cluster_size=1;effective_replication_factor=1;objects=30099;tombstones=0;xdr_tombstones=0;xdr_bin_cemeteries=0;master_objects=30099;master_tombstones=0;prole_objects=0;prole_tombstones=0;non_replica_objects=0;non_replica_tombstones=0;unreplicated_records=0;dead_partitions=0;unavailable_partitions=0;clock_skew_stop_writes=false;stop_writes=false;hwm_breached=false;current_time=436694971;non_expirable_objects=0;expired_objects=0;evicted_objects=0;evict_ttl=0;evict_void_time=0;smd_evict_void_time=0;nsup_cycle_duration=0;nsup_cycle_deleted_pct=0.00;truncate_lut=0;truncating=false;sindex_gc_cleaned=0;xmem_id=4;index_used_bytes=1926336;index_mounts_used_pct=0;index_flash_alloc_bytes=121511936;index_flash_alloc_pct=2;index-type.mount[0].age=-1;set_index_used_bytes=0;sindex_used_bytes=0;sindex_mounts_used_pct=0;sindex-type.mount[0].age=-1;data_total_bytes=4294967296;data_used_bytes=4815840;data_used_pct=0;data_avail_pct=99;data_compression_ratio=1.000;cache_read_pct=0;storage-engine.file[0].used_bytes=4815840;storage-engine.file[0].free_wblocks=4082;storage-engine.file[0].write_q=0;storage-engine.file[0].writes=1;storage-engine.file[0].defrag_q=0;storage-engine.file[0].defrag_reads=2;storage-engine.file[0].defrag_writes=0;storage-engine.file[0].age=-1;record_proto_uncompressed_pct=0.000;record_proto_compression_ratio=1.000;query_proto_uncompressed_pct=0.000;query_proto_compression_ratio=1.000;pending_quiesce=false;effective_is_quiesced=false;nodes_quiesced=0;effective_prefer_uniform_balance=true;migrate_tx_partitions_imbalance=0;migrate_tx_instances=0;migrate_rx_instances=0;migrate_tx_partitions_active=0;migrate_rx_partitions_active=0;migrate_tx_partitions_initial=0;migrate_tx_partitions_remaining=0;migrate_tx_partitions_lead_remaining=0;migrate_rx_partitions_initial=0;migrate_rx_partitions_remaining=0;migrate_records_skipped=0;migrate_records_transmitted=0;migrate_record_retransmits=0;migrate_record_receives=0;migrate_signals_active=0;migrate_signals_remaining=0;appeals_tx_active=0;appeals_rx_active=0;appeals_tx_remaining=0;appeals_records_exonerated=0;client_tsvc_error=0;client_tsvc_timeout=0;client_proxy_complete=0;client_proxy_error=0;client_proxy_timeout=0;client_read_success=0;client_read_error=0;client_read_timeout=0;client_read_not_found=0;client_read_filtered_out=0;client_write_success=8070;client_write_error=0;client_write_timeout=0;client_write_filtered_out=0;xdr_client_write_success=0;xdr_client_write_error=0;xdr_client_write_timeout=0;client_delete_success=0;client_delete_error=0;client_delete_timeout=0;client_delete_not_found=0;client_delete_filtered_out=0;xdr_client_delete_success=0;xdr_client_delete_error=0;xdr_client_delete_timeout=0;xdr_client_delete_not_found=0;client_udf_complete=0;client_udf_error=0;client_udf_timeout=0;client_udf_filtered_out=0;client_lang_read_success=0;client_lang_write_success=0;client_lang_delete_success=0;client_lang_error=0;from_proxy_tsvc_error=0;from_proxy_tsvc_timeout=0;from_proxy_read_success=0;from_proxy_read_error=0;from_proxy_read_timeout=0;from_proxy_read_not_found=0;from_proxy_read_filtered_out=0;from_proxy_write_success=0;from_proxy_write_error=0;from_proxy_write_timeout=0;from_proxy_write_filtered_out=0;xdr_from_proxy_write_success=0;xdr_from_proxy_write_error=0;xdr_from_proxy_write_timeout=0;from_proxy_delete_success=0;from_proxy_delete_error=0;from_proxy_delete_timeout=0;from_proxy_delete_not_found=0;from_proxy_delete_filtered_out=0;xdr_from_proxy_delete_success=0;xdr_from_proxy_delete_error=0;xdr_from_proxy_delete_timeout=0;xdr_from_proxy_delete_not_found=0;from_proxy_udf_complete=0;from_proxy_udf_error=0;from_proxy_udf_timeout=0;from_proxy_udf_filtered_out=0;from_proxy_lang_read_success=0;from_proxy_lang_write_success=0;from_proxy_lang_delete_success=0;from_proxy_lang_error=0;batch_sub_tsvc_error=0;batch_sub_tsvc_timeout=0;batch_sub_proxy_complete=0;batch_sub_proxy_error=0;batch_sub_proxy_timeout=0;batch_sub_read_success=0;batch_sub_read_error=0;batch_sub_read_timeout=0;batch_sub_read_not_found=0;batch_sub_read_filtered_out=0;batch_sub_write_success=0;batch_sub_write_error=0;batch_sub_write_timeout=0;batch_sub_write_filtered_out=0;batch_sub_delete_success=0;batch_sub_delete_error=0;batch_sub_delete_timeout=0;batch_sub_delete_not_found=0;batch_sub_delete_filtered_out=0;batch_sub_udf_complete=0;batch_sub_udf_error=0;batch_sub_udf_timeout=0;batch_sub_udf_filtered_out=0;batch_sub_lang_read_success=0;batch_sub_lang_write_success=0;batch_sub_lang_delete_success=0;batch_sub_lang_error=0;from_proxy_batch_sub_tsvc_error=0;from_proxy_batch_sub_tsvc_timeout=0;from_proxy_batch_sub_read_success=0;from_proxy_batch_sub_read_error=0;from_proxy_batch_sub_read_timeout=0;from_proxy_batch_sub_read_not_found=0;from_proxy_batch_sub_read_filtered_out=0;from_proxy_batch_sub_write_success=0;from_proxy_batch_sub_write_error=0;from_proxy_batch_sub_write_timeout=0;from_proxy_batch_sub_write_filtered_out=0;from_proxy_batch_sub_delete_success=0;from_proxy_batch_sub_delete_error=0;from_proxy_batch_sub_delete_timeout=0;from_proxy_batch_sub_delete_not_found=0;from_proxy_batch_sub_delete_filtered_out=0;from_proxy_batch_sub_udf_complete=0;from_proxy_batch_sub_udf_error=0;from_proxy_batch_sub_udf_timeout=0;from_proxy_batch_sub_udf_filtered_out=0;from_proxy_batch_sub_lang_read_success=0;from_proxy_batch_sub_lang_write_success=0;from_proxy_batch_sub_lang_delete_success=0;from_proxy_batch_sub_lang_error=0;udf_sub_tsvc_error=0;udf_sub_tsvc_timeout=0;udf_sub_udf_complete=0;udf_sub_udf_error=0;udf_sub_udf_timeout=0;udf_sub_udf_filtered_out=0;udf_sub_lang_read_success=0;udf_sub_lang_write_success=0;udf_sub_lang_delete_success=0;udf_sub_lang_error=0;ops_sub_tsvc_error=0;ops_sub_tsvc_timeout=0;ops_sub_write_success=0;ops_sub_write_error=0;ops_sub_write_timeout=0;ops_sub_write_filtered_out=0;dup_res_ask=0;dup_res_respond_read=0;dup_res_respond_no_read=0;retransmit_all_read_dup_res=0;retransmit_all_write_dup_res=0;retransmit_all_write_repl_write=0;retransmit_all_delete_dup_res=0;retransmit_all_delete_repl_write=0;retransmit_all_udf_dup_res=0;retransmit_all_udf_repl_write=0;retransmit_all_batch_sub_dup_res=0;retransmit_udf_sub_dup_res=0;retransmit_udf_sub_repl_write=0;retransmit_ops_sub_dup_res=0;retransmit_ops_sub_repl_write=0;pi_query_short_basic_complete=0;pi_query_short_basic_error=0;pi_query_short_basic_timeout=0;pi_query_long_basic_complete=0;pi_query_long_basic_error=0;pi_query_long_basic_abort=0;pi_query_aggr_complete=0;pi_query_aggr_error=0;pi_query_aggr_abort=0;pi_query_udf_bg_complete=0;pi_query_udf_bg_error=0;pi_query_udf_bg_abort=0;pi_query_ops_bg_complete=0;pi_query_ops_bg_error=0;pi_query_ops_bg_abort=0;si_query_short_basic_complete=0;si_query_short_basic_error=0;si_query_short_basic_timeout=0;si_query_long_basic_complete=0;si_query_long_basic_error=0;si_query_long_basic_abort=0;si_query_aggr_complete=0;si_query_aggr_error=0;si_query_aggr_abort=0;si_query_udf_bg_complete=0;si_query_udf_bg_error=0;si_query_udf_bg_abort=0;si_query_ops_bg_complete=0;si_query_ops_bg_error=0;si_query_ops_bg_abort=0;geo_region_query_reqs=0;geo_region_query_cells=0;geo_region_query_points=0;geo_region_query_falsepos=0;re_repl_tsvc_error=0;re_repl_tsvc_timeout=0;re_repl_success=0;re_repl_error=0;re_repl_timeout=0;fail_xdr_forbidden=0;fail_key_busy=0;fail_generation=0;fail_record_too_big=0;fail_client_lost_conflict=0;fail_xdr_lost_conflict=0;deleted_last_bin=0;allow-ttl-without-nsup=false;background-query-max-rps=10000;conflict-resolution-policy=generation;conflict-resolve-writes=false;default-ttl=0;disable-cold-start-eviction=false;disable-write-dup-res=false;disallow-expunge=false;disallow-null-setname=false;enable-benchmarks-batch-sub=false;enable-benchmarks-ops-sub=false;enable-benchmarks-read=false;enable-benchmarks-udf=false;enable-benchmarks-udf-sub=false;enable-benchmarks-write=false;enable-hist-proxy=false;evict-hist-buckets=10000;evict-sys-memory-pct=0;evict-tenths-pct=5;force-long-queries=false;ignore-migrate-fill-delay=false;index-stage-size=1073741824;inline-short-queries=false;max-record-size=0;migrate-order=5;migrate-retransmit-ms=5000;migrate-sleep=1;nsup-hist-period=3600;nsup-period=0;nsup-threads=1;partition-tree-sprigs=256;prefer-uniform-balance=true;rack-id=0;read-consistency-level-override=off;reject-non-xdr-writes=false;reject-xdr-writes=false;replication-factor=2;sindex-stage-size=1073741824;single-query-threads=4;stop-writes-sys-memory-pct=90;strong-consistency=false;strong-consistency-allow-expunge=false;tomb-raider-eligible-age=86400;tomb-raider-period=86400;transaction-pending-limit=20;truncate-threads=4;write-commit-level-override=off;xdr-bin-tombstone-ttl=86400;xdr-tomb-raider-period=120;xdr-tomb-raider-threads=1;geo2dsphere-within.strict=true;geo2dsphere-within.min-level=1;geo2dsphere-within.max-level=20;geo2dsphere-within.max-cells=12;geo2dsphere-within.level-mod=1;geo2dsphere-within.earth-radius-meters=6371000;index-type=flash;index-type.mount[0]=/opt/aerospike/data/emp_flash_index;index-type.evict-mounts-pct=30;index-type.mounts-budget=4294967296;sindex-type=flash;sindex-type.mount[0]=/opt/aerospike/data/emp_flash_sindex;sindex-type.evict-mounts-pct=60;sindex-type.mounts-budget=4294967296;storage-engine=device;storage-engine.file[0]=/opt/aerospike/data/emp_flash.dat;storage-engine.cache-replica-writes=false;storage-engine.cold-start-empty=false;storage-engine.commit-to-device=false;storage-engine.compression=none;storage-engine.compression-acceleration=0;storage-engine.compression-level=0;storage-engine.defrag-lwm-pct=50;storage-engine.defrag-queue-min=0;storage-engine.defrag-sleep=1000;storage-engine.defrag-startup-minimum=0;storage-engine.direct-files=false;storage-engine.disable-odsync=false;storage-engine.enable-benchmarks-storage=false;storage-engine.encryption-key-file=null;storage-engine.encryption-old-key-file=null;storage-engine.evict-used-pct=0;storage-engine.filesize=4294967296;storage-engine.flush-max-ms=1000;storage-engine.max-write-cache=67108864;storage-engine.post-write-queue=256;storage-engine.read-page-cache=false;storage-engine.serialize-tomb-raider=false;storage-engine.sindex-startup-device-scan=false;storage-engine.stop-writes-avail-pct=5;storage-engine.stop-writes-used-pct=70;storage-engine.tomb-raider-sleep=1000;storage-engine.write-block-size=1048576 - -set-stats:[ns=test:set=from_branch_2:objects=0:tombstones=0:data_used_bytes=0:truncate_lut=0:sindexes=1:index_populating=false:truncating=false:default-ttl=0:disable-eviction=false:enable-index=false:stop-writes-count=0:stop-writes-size=0 ns=test:set=test_branch_set_1:objects=7651:tombstones=0:data_used_bytes=1101744:truncate_lut=0:sindexes=0:index_populating=false:truncating=false:default-ttl=0:disable-eviction=false:enable-index=false:stop-writes-count=0:stop-writes-size=800000 ns=test:set=test_branch_set_2:objects=7649:tombstones=0:data_used_bytes=1101456:truncate_lut=0:sindexes=0:index_populating=false:truncating=false:default-ttl=0:disable-eviction=false:enable-index=false:stop-writes-count=0:stop-writes-size=80000099 ns=test:set=test_branch_set_3:objects=7657:tombstones=0:data_used_bytes=1102608:truncate_lut=0:sindexes=0:index_populating=false:truncating=false:default-ttl=0:disable-eviction=false:enable-index=false:stop-writes-count=0:stop-writes-size=0 ns=test:set=test__branch_set_1:objects=0:tombstones=0:data_used_bytes=0:truncate_lut=0:sindexes=0:index_populating=false:truncating=false:default-ttl=0:disable-eviction=false:enable-index=false:stop-writes-count=0:stop-writes-size=800000 ns=bar:set=bar_branch_set_1:objects=15681:tombstones=0:data_used_bytes=2257696:truncate_lut=0:sindexes=0:index_populating=false:truncating=false:default-ttl=0:disable-eviction=false:enable-index=false:stop-writes-count=0:stop-writes-size=0 ns=bar:set=bar_branch_set_2:objects=15691:tombstones=0:data_used_bytes=2259216:truncate_lut=0:sindexes=0:index_populating=false:truncating=false:default-ttl=0:disable-eviction=false:enable-index=false:stop-writes-count=0:stop-writes-size=0 ns=bar:set=bar_branch_set_3:objects=15687:tombstones=0:data_used_bytes=2258640:truncate_lut=0:sindexes=0:index_populating=false:truncating=false:default-ttl=0:disable-eviction=false:enable-index=false:stop-writes-count=0:stop-writes-size=0 ns=employees_flash:set=employees_flash_branch_set_2:objects=10030:tombstones=0:data_used_bytes=1604800:truncate_lut=0:sindexes=0:index_populating=false:truncating=false:default-ttl=0:disable-eviction=false:enable-index=false:stop-writes-count=0:stop-writes-size=9000002 ns=employees_flash:set=employees_flash_branch_set_3:objects=10036:tombstones=0:data_used_bytes=1605760:truncate_lut=0:sindexes=0:index_populating=false:truncating=false:default-ttl=0:disable-eviction=false:enable-index=false:stop-writes-count=0:stop-writes-size=0 ns=employees_flash:set=employees_flash_branch_set_1:objects=10033:tombstones=0:data_used_bytes=1605280:truncate_lut=0:sindexes=0:index_populating=false:truncating=false:default-ttl=0:disable-eviction=false:enable-index=false:stop-writes-count=0:stop-writes-size=900000 ] - -latency-stats:map[bar:map[write:map[bucketLabels:[+Inf 1 2 4 8 16 32 64 128 256 512 1024 2048 4096 8192 16384 32768 65536] bucketValues:[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0] timeUnit:ms]] employees_flash:map[write:map[bucketLabels:[+Inf 1 2 4 8 16 32 64 128 256 512 1024 2048 4096 8192 16384 32768 65536] bucketValues:[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0] timeUnit:ms]] test:map[write:map[bucketLabels:[+Inf 1 2 4 8 16 32 64 128 256 512 1024 2048 4096 8192 16384 32768 65536] bucketValues:[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0] timeUnit:ms]]] - -sindex-stats:test:test_sindex1:entries=0;used_bytes=16777216;entries_per_bval=0;entries_per_rec=0;load_pct=100;load_time=0;stat_gc_recs=0 -sindex-stats:test:7x_sindex_1:entries=22957;used_bytes=16777216;entries_per_bval=0;entries_per_rec=0;load_pct=100;load_time=0;stat_gc_recs=0 -sindex-stats:bar:7x_sindex_bar_2:entries=47059;used_bytes=16777216;entries_per_bval=33927;entries_per_rec=1;load_pct=100;load_time=0;stat_gc_recs=0 - -node-configs:advertise-ipv6=false;auto-pin=none;batch-index-threads=10;batch-max-buffers-per-queue=255;batch-max-unused-buffers=256;cluster-name=70_aus_perth_1;debug-allocations=false;disable-udf-execution=false;enable-benchmarks-fabric=false;enable-health-check=false;enable-hist-info=false;enforce-best-practices=false;feature-key-file[0]=/etc/aerospike/features.conf;indent-allocations=false;info-max-ms=10000;info-threads=16;keep-caps-ssd-health=false;log-local-time=false;log-millis=false;microsecond-histograms=false;migrate-fill-delay=0;migrate-max-num-incoming=4;migrate-threads=1;min-cluster-size=1;node-id=BB9060011AC4202;node-id-interface=null;os-group-perms=false;pidfile=/var/run/aerospike/asd.pid;poison-allocations=false;proto-fd-idle-ms=0;proto-fd-max=15000;quarantine-allocations=0;query-max-done=100;query-threads-limit=128;run-as-daemon=true;secrets-address-port=null;secrets-tls-context=null;service-threads=50;sindex-builder-threads=4;sindex-gc-period=10;stay-quiesced=false;ticker-interval=10;transaction-max-ms=1000;transaction-retry-ms=1002;vault-ca=null;vault-namespace=null;vault-path=null;vault-token-file=null;vault-url=null;work-directory=/opt/aerospike - -node-stats:failed_best_practices=true;cluster_size=1;cluster_key=41AEFF390C1D;cluster_generation=1;cluster_principal=BB9060011AC4202;cluster_min_compatibility_id=11;cluster_max_compatibility_id=11;cluster_integrity=true;cluster_is_member=true;cluster_duplicate_nodes=null;cluster_clock_skew_stop_writes_sec=0;cluster_clock_skew_ms=0;cluster_clock_skew_outliers=null;uptime=230;system_total_cpu_pct=420;system_user_cpu_pct=273;system_kernel_cpu_pct=147;system_free_mem_kbytes=5095364;system_free_mem_pct=41;system_thp_mem_kbytes=290816;process_cpu_pct=192;threads_joinable=11;threads_detached=105;threads_pool_total=79;threads_pool_active=79;heap_allocated_kbytes=1225771;heap_active_kbytes=1293776;heap_mapped_kbytes=1459200;heap_efficiency_pct=95;heap_site_count=0;objects=100115;tombstones=0;info_queue=0;rw_in_progress=0;proxy_in_progress=0;tree_gc_queue=0;client_connections=2;client_connections_opened=419;client_connections_closed=417;heartbeat_connections=0;heartbeat_connections_opened=0;heartbeat_connections_closed=0;fabric_connections=0;fabric_connections_opened=0;fabric_connections_closed=0;heartbeat_received_self=0;heartbeat_received_foreign=0;reaped_fds=0;info_complete=275;info_timeout=0;demarshal_error=0;early_tsvc_client_error=0;early_tsvc_from_proxy_error=0;early_tsvc_batch_sub_error=0;early_tsvc_from_proxy_batch_sub_error=0;early_tsvc_udf_sub_error=0;early_tsvc_ops_sub_error=0;long_queries_active=0;batch_index_initiate=0;batch_index_queue=0:0,0:0,0:0,0:0,0:0,0:0,0:0,0:0,0:0,0:0;batch_index_complete=0;batch_index_error=0;batch_index_timeout=0;batch_index_delay=0;batch_index_unused_buffers=0;batch_index_huge_buffers=0;batch_index_created_buffers=0;batch_index_destroyed_buffers=0;batch_index_proto_uncompressed_pct=0.000;batch_index_proto_compression_ratio=1.000;paxos_principal=BB9060011AC4202;time_since_rebalance=224;migrate_allowed=true;migrate_partitions_remaining=0;fabric_bulk_send_rate=0;fabric_bulk_recv_rate=0;fabric_ctrl_send_rate=0;fabric_ctrl_recv_rate=0;fabric_meta_send_rate=0;fabric_meta_recv_rate=0;fabric_rw_send_rate=0;fabric_rw_recv_rate=0 - -xdr-get-stats:context=xdr;dc=172.17.0.10:lag=178;in_queue=857;in_progress=22100;success=0;abandoned=0;not_found=0;filtered_out=0;retry_no_node=17828171;retry_conn_reset=0;retry_dest=0;recoveries=4096;recoveries_pending=0;hot_keys=0;bytes_shipped=0;uncompressed_pct=0.000;compression_ratio=1.000;nodes=1;throughput=0;latency_ms=0;lap_us=39742 -xdr-get-stats:context=xdr;dc=172.17.0.10;namespace=test:lag=178;in_queue=857;in_progress=22100;success=0;abandoned=0;not_found=0;filtered_out=0;retry_no_node=17828171;retry_conn_reset=0;retry_dest=0;recoveries=4096;recoveries_pending=0;hot_keys=0;bytes_shipped=0;uncompressed_pct=0.000;compression_ratio=1.000;throughput=0 -xdr-get-stats:context=xdr;dc=172.17.0.10;namespace=bar:lag=0;in_queue=0;in_progress=0;success=0;abandoned=0;not_found=0;filtered_out=0;retry_no_node=0;retry_conn_reset=0;retry_dest=0;recoveries=0;recoveries_pending=0;hot_keys=0;bytes_shipped=0;uncompressed_pct=0.000;compression_ratio=1.000;throughput=0 -xdr-get-stats:context=xdr;dc=172.17.0.10;namespace=bar_pmem:lag=0;in_queue=0;in_progress=0;success=0;abandoned=0;not_found=0;filtered_out=0;retry_no_node=0;retry_conn_reset=0;retry_dest=0;recoveries=0;recoveries_pending=0;hot_keys=0;bytes_shipped=0;uncompressed_pct=0.000;compression_ratio=1.000;throughput=0 -xdr-get-stats:context=xdr;dc=172.17.0.10;namespace=employees_flash:lag=0;in_queue=0;in_progress=0;success=0;abandoned=0;not_found=0;filtered_out=0;retry_no_node=0;retry_conn_reset=0;retry_dest=0;recoveries=0;recoveries_pending=0;hot_keys=0;bytes_shipped=0;uncompressed_pct=0.000;compression_ratio=1.000;throughput=0 -xdr-get-stats:context=xdr;dc=64_asia_sng_dr_1:lag=0;in_queue=0;in_progress=0;success=22957;abandoned=0;not_found=0;filtered_out=0;retry_no_node=0;retry_conn_reset=0;retry_dest=0;recoveries=4096;recoveries_pending=0;hot_keys=0;bytes_shipped=4404433;uncompressed_pct=0.000;compression_ratio=1.000;nodes=1;throughput=0;latency_ms=1;lap_us=6985 -xdr-get-stats:context=xdr;dc=64_asia_sng_dr_1;namespace=test:lag=0;in_queue=0;in_progress=0;success=22957;abandoned=0;not_found=0;filtered_out=0;retry_no_node=0;retry_conn_reset=0;retry_dest=0;recoveries=4096;recoveries_pending=0;hot_keys=0;bytes_shipped=4404433;uncompressed_pct=0.000;compression_ratio=1.000;throughput=0 -xdr-get-stats:context=xdr;dc=64_asia_sng_dr_1;namespace=bar:lag=0;in_queue=0;in_progress=0;success=0;abandoned=0;not_found=0;filtered_out=0;retry_no_node=0;retry_conn_reset=0;retry_dest=0;recoveries=0;recoveries_pending=0;hot_keys=0;bytes_shipped=0;uncompressed_pct=0.000;compression_ratio=1.000;throughput=0 -xdr-get-stats:context=xdr;dc=64_asia_sng_dr_1;namespace=bar_pmem:lag=0;in_queue=0;in_progress=0;success=0;abandoned=0;not_found=0;filtered_out=0;retry_no_node=0;retry_conn_reset=0;retry_dest=0;recoveries=0;recoveries_pending=0;hot_keys=0;bytes_shipped=0;uncompressed_pct=0.000;compression_ratio=1.000;throughput=0 -xdr-get-stats:context=xdr;dc=64_asia_sng_dr_1;namespace=employees_flash:lag=0;in_queue=0;in_progress=0;success=0;abandoned=0;not_found=0;filtered_out=0;retry_no_node=0;retry_conn_reset=0;retry_dest=0;recoveries=0;recoveries_pending=0;hot_keys=0;bytes_shipped=0;uncompressed_pct=0.000;compression_ratio=1.000;throughput=0 - -xdr-get-config:context=xdr;dc=172.17.0.10:auth-mode=none;auth-password-file=null;auth-user=null;connector=true;max-recoveries-interleaved=0;node-address-port=172.17.0.10:8901;period-ms=100;tls-name=null;use-alternate-access-address=false;namespaces=test -xdr-get-config:context=xdr;dc=172.17.0.10;namespace=test:enabled=true;bin-policy=all;compression-level=1;compression-threshold=128;delay-ms=0;enable-compression=false;forward=false;hot-key-ms=100;ignored-bins=;ignore-expunges=false;ignored-sets=;max-throughput=100000;remote-namespace=null;sc-replication-wait-ms=100;shipped-bins=;ship-bin-luts=false;ship-nsup-deletes=false;ship-only-specified-sets=false;shipped-sets=;transaction-queue-limit=16384;write-policy=auto -xdr-get-config:context=xdr;dc=172.17.0.10;namespace=bar:enabled=false;bin-policy=all;compression-level=1;compression-threshold=128;delay-ms=0;enable-compression=false;forward=false;hot-key-ms=100;ignored-bins=;ignore-expunges=false;ignored-sets=;max-throughput=100000;remote-namespace=null;sc-replication-wait-ms=100;shipped-bins=;ship-bin-luts=false;ship-nsup-deletes=false;ship-only-specified-sets=false;shipped-sets=;transaction-queue-limit=16384;write-policy=auto -xdr-get-config:context=xdr;dc=172.17.0.10;namespace=bar_pmem:enabled=false;bin-policy=all;compression-level=1;compression-threshold=128;delay-ms=0;enable-compression=false;forward=false;hot-key-ms=100;ignored-bins=;ignore-expunges=false;ignored-sets=;max-throughput=100000;remote-namespace=null;sc-replication-wait-ms=100;shipped-bins=;ship-bin-luts=false;ship-nsup-deletes=false;ship-only-specified-sets=false;shipped-sets=;transaction-queue-limit=16384;write-policy=auto -xdr-get-config:context=xdr;dc=172.17.0.10;namespace=employees_flash:enabled=false;bin-policy=all;compression-level=1;compression-threshold=128;delay-ms=0;enable-compression=false;forward=false;hot-key-ms=100;ignored-bins=;ignore-expunges=false;ignored-sets=;max-throughput=100000;remote-namespace=null;sc-replication-wait-ms=100;shipped-bins=;ship-bin-luts=false;ship-nsup-deletes=false;ship-only-specified-sets=false;shipped-sets=;transaction-queue-limit=16384;write-policy=auto -xdr-get-config:context=xdr;dc=64_asia_sng_dr_1:auth-mode=none;auth-password-file=null;auth-user=null;connector=false;max-recoveries-interleaved=0;node-address-port=172.17.0.7:3000;period-ms=100;tls-name=null;use-alternate-access-address=false;namespaces=test -xdr-get-config:context=xdr;dc=64_asia_sng_dr_1;namespace=test:enabled=true;bin-policy=all;compression-level=1;compression-threshold=128;delay-ms=0;enable-compression=false;forward=false;hot-key-ms=100;ignored-bins=;ignore-expunges=false;ignored-sets=;max-throughput=100000;remote-namespace=null;sc-replication-wait-ms=100;shipped-bins=;ship-bin-luts=false;ship-nsup-deletes=false;ship-only-specified-sets=false;shipped-sets=;transaction-queue-limit=16384;write-policy=auto -xdr-get-config:context=xdr;dc=64_asia_sng_dr_1;namespace=bar:enabled=false;bin-policy=all;compression-level=1;compression-threshold=128;delay-ms=0;enable-compression=false;forward=false;hot-key-ms=100;ignored-bins=;ignore-expunges=false;ignored-sets=;max-throughput=100000;remote-namespace=null;sc-replication-wait-ms=100;shipped-bins=;ship-bin-luts=false;ship-nsup-deletes=false;ship-only-specified-sets=false;shipped-sets=;transaction-queue-limit=16384;write-policy=auto -xdr-get-config:context=xdr;dc=64_asia_sng_dr_1;namespace=bar_pmem:enabled=false;bin-policy=all;compression-level=1;compression-threshold=128;delay-ms=0;enable-compression=false;forward=false;hot-key-ms=100;ignored-bins=;ignore-expunges=false;ignored-sets=;max-throughput=100000;remote-namespace=null;sc-replication-wait-ms=100;shipped-bins=;ship-bin-luts=false;ship-nsup-deletes=false;ship-only-specified-sets=false;shipped-sets=;transaction-queue-limit=16384;write-policy=auto -xdr-get-config:context=xdr;dc=64_asia_sng_dr_1;namespace=employees_flash:enabled=false;bin-policy=all;compression-level=1;compression-threshold=128;delay-ms=0;enable-compression=false;forward=false;hot-key-ms=100;ignored-bins=;ignore-expunges=false;ignored-sets=;max-throughput=100000;remote-namespace=null;sc-replication-wait-ms=100;shipped-bins=;ship-bin-luts=false;ship-nsup-deletes=false;ship-only-specified-sets=false;shipped-sets=;transaction-queue-limit=16384;write-policy=auto diff --git a/types.go b/types.go deleted file mode 100644 index ce369499..00000000 --- a/types.go +++ /dev/null @@ -1,68 +0,0 @@ -package main - -import "github.com/prometheus/client_golang/prometheus" - -type MetricMap map[string]promMetric - -type metricType byte - -const ( - mtGauge metricType = 'G' - mtCounter metricType = 'C' -) - -type Watcher interface { - passOneKeys() []string - passTwoKeys(rawMetrics map[string]string) []string - refresh(o *Observer, infoKeys []string, rawMetrics map[string]string, ch chan<- prometheus.Metric) error - describe(ch chan<- *prometheus.Desc) -} - -type promMetric struct { - origDesc string - desc *prometheus.Desc - valueType prometheus.ValueType -} - -type StatsMap map[string]interface{} - -// Value should be an int64 or a convertible string; otherwise defValue is returned -// this function never panics -func (s StatsMap) TryString(name string, defValue string, aliases ...string) string { - field := s.Get(name, aliases...) - if field != nil { - if value, ok := field.(string); ok { - return value - } - } - return defValue -} - -func (s StatsMap) Get(name string, aliases ...string) interface{} { - if val, exists := s[name]; exists { - return val - } - - for _, alias := range aliases { - if val, exists := s[alias]; exists { - return val - } - } - - return nil -} - -// Value should be an float64 or a convertible string; otherwise defValue is returned -// this function never panics -func (s StatsMap) TryFloat(name string, defValue float64, aliases ...string) float64 { - field := s.Get(name, aliases...) - if field != nil { - if value, ok := field.(float64); ok { - return value - } - if value, ok := field.(int64); ok { - return float64(value) - } - } - return defValue -} diff --git a/watcher_jobs.go b/watcher_jobs.go deleted file mode 100644 index f19aab09..00000000 --- a/watcher_jobs.go +++ /dev/null @@ -1,122 +0,0 @@ -package main - -import ( - "strings" - - "github.com/prometheus/client_golang/prometheus" - - log "github.com/sirupsen/logrus" -) - -// Jobs raw metrics -var jobsRawMetrics = map[string]metricType{ - "priority": mtGauge, - "net-io-time": mtGauge, - "n-pids-requested": mtGauge, - "rps": mtGauge, - "active-threads": mtGauge, - "job-progress": mtGauge, - "run-time": mtGauge, - "time-since-done": mtGauge, - "recs-throttled": mtGauge, - "recs-filtered-meta": mtGauge, - "recs-filtered-bins": mtGauge, - "recs-succeeded": mtGauge, - "recs-failed": mtGauge, - "net-io-bytes": mtGauge, - "socket-timeout": mtGauge, - "udf-active": mtGauge, - "ops-active": mtGauge, -} - -type JobsWatcher struct { - jobMetrics map[string]metricType -} - -func (jw *JobsWatcher) describe(ch chan<- *prometheus.Desc) {} - -func (jw *JobsWatcher) passOneKeys() []string { - // "build" info key should be returned here, - // but it is also being sent by LatencyWatcher.passOneKeys(), - // hence skipping here. - return nil -} - -func (jw *JobsWatcher) passTwoKeys(rawMetrics map[string]string) (jobsCommands []string) { - if config.Aerospike.DisableJobMetrics { - // disabled - return nil - } - - jobsCommands = []string{"jobs:", "scan-show:", "query-show:"} - - ok, err := buildVersionGreaterThanOrEqual(rawMetrics, "6.0.0.0-0") - if err != nil { - log.Warn(err) - return jobsCommands - } - - if ok { - return []string{"query-show:"} - } - - ok, err = buildVersionGreaterThanOrEqual(rawMetrics, "5.7.0.0") - if err != nil { - log.Warn(err) - return jobsCommands - } - - if ok { - return []string{"scan-show:", "query-show:"} - } - - return []string{"jobs:"} -} - -// var jobMetrics map[string]metricType - -func (jw *JobsWatcher) refresh(o *Observer, infoKeys []string, rawMetrics map[string]string, ch chan<- prometheus.Metric) error { - if config.Aerospike.DisableJobMetrics { - // disabled - return nil - } - - var jobStats []string - - if rawMetrics["scan-show:"] != "" || rawMetrics["query-show:"] != "" { - jobStats = strings.Split(rawMetrics["scan-show:"], ";") - jobStats = append(jobStats, strings.Split(rawMetrics["query-show:"], ";")...) - } else { - jobStats = strings.Split(rawMetrics["jobs:"], ";") - } - log.Tracef("job-stats:%v", jobStats) - - if jw.jobMetrics == nil { - jw.jobMetrics = getFilteredMetrics(jobsRawMetrics, config.Aerospike.JobMetricsAllowlist, config.Aerospike.JobMetricsAllowlistEnabled, config.Aerospike.JobMetricsBlocklist) - } - - for i := range jobStats { - jobObserver := make(MetricMap, len(jw.jobMetrics)) - for m, t := range jw.jobMetrics { - jobObserver[m] = makeMetric("aerospike_jobs", m, t, config.AeroProm.MetricLabels, "cluster_name", "service", "ns", "set", "module", "job_type", "trid", "sindex_name") - } - - stats := parseStats(jobStats[i], ":") - for stat, pm := range jobObserver { - v, exists := stats[stat] - if !exists { - // not found - continue - } - - pv, err := tryConvert(v) - if err != nil { - continue - } - - ch <- prometheus.MustNewConstMetric(pm.desc, pm.valueType, pv, rawMetrics[ikClusterName], rawMetrics[ikService], stats["ns"], stats["set"], stats["module"], stats["job-type"], stats["trid"], stats["sindex-name"]) - } - } - - return nil -} diff --git a/watcher_latency.go b/watcher_latency.go deleted file mode 100644 index 7d0bc7ac..00000000 --- a/watcher_latency.go +++ /dev/null @@ -1,156 +0,0 @@ -package main - -import ( - "strings" - - "github.com/prometheus/client_golang/prometheus" - - log "github.com/sirupsen/logrus" -) - -type LatencyWatcher struct { -} - -var LatencyBenchmarks = make(map[string]string) - -func (lw *LatencyWatcher) describe(ch chan<- *prometheus.Desc) {} - -func (lw *LatencyWatcher) passOneKeys() []string { - // return []string{"build"} - return nil -} - -func (lw *LatencyWatcher) passTwoKeys(rawMetrics map[string]string) (latencyCommands []string) { - - // return if this feature is disabled. - if config.Aerospike.DisableLatenciesMetrics { - // disabled - return nil - } - - latencyCommands = []string{"latencies:", "latency:"} - - ok, err := buildVersionGreaterThanOrEqual(rawMetrics, "5.1.0.0") - if err != nil { - log.Warn(err) - return latencyCommands - } - - if ok { - return lw.getLatenciesCommands(rawMetrics) - } - - return []string{"latency:"} -} - -func (lw *LatencyWatcher) refresh(o *Observer, infoKeys []string, rawMetrics map[string]string, ch chan<- prometheus.Metric) error { - - allowedLatenciesList := make(map[string]struct{}) - blockedLatenciessList := make(map[string]struct{}) - - if config.Aerospike.LatenciesMetricsAllowlistEnabled { - for _, allowedLatencies := range config.Aerospike.LatenciesMetricsAllowlist { - allowedLatenciesList[allowedLatencies] = struct{}{} - } - } - - if len(config.Aerospike.LatenciesMetricsBlocklist) > 0 { - for _, blockedLatencies := range config.Aerospike.LatenciesMetricsBlocklist { - blockedLatenciessList[blockedLatencies] = struct{}{} - } - } - - // loop all the latency infokeys - for _, infoKey := range infoKeys { - err := parseSingleLatenciesKey(infoKey, rawMetrics, allowedLatenciesList, blockedLatenciessList, ch) - if err != nil { - return err - } - } - - return nil -} - -func parseSingleLatenciesKey(singleLatencyKey string, rawMetrics map[string]string, - allowedLatenciesList map[string]struct{}, - blockedLatenciessList map[string]struct{}, ch chan<- prometheus.Metric) error { - - var latencyStats map[string]StatsMap - - if rawMetrics["latencies:"] != "" { - latencyStats = parseLatencyInfo(rawMetrics[singleLatencyKey], int(config.Aerospike.LatencyBucketsCount)) - } else { - latencyStats = parseLatencyInfoLegacy(rawMetrics["latency:"], int(config.Aerospike.LatencyBucketsCount)) - } - - log.Tracef("latency-stats:%+v", latencyStats) - - for namespaceName, nsLatencyStats := range latencyStats { - for operation, opLatencyStats := range nsLatencyStats { - - // operation comes from server as histogram-names - if config.Aerospike.LatenciesMetricsAllowlistEnabled { - if _, ok := allowedLatenciesList[operation]; !ok { - continue - } - } - - if len(config.Aerospike.LatenciesMetricsBlocklist) > 0 { - if _, ok := blockedLatenciessList[operation]; ok { - continue - } - } - - for i, labelValue := range opLatencyStats.(StatsMap)["bucketLabels"].([]string) { - // aerospike_latencies___bucket metric - Less than or equal to histogram buckets - - pm := makeMetric("aerospike_latencies", operation+"_"+opLatencyStats.(StatsMap)["timeUnit"].(string)+"_bucket", mtGauge, config.AeroProm.MetricLabels, METRIC_LABEL_CLUSTER_NAME, METRIC_LABEL_SERVICE, METRIC_LABEL_NS, METRIC_LABEL_LE) - ch <- prometheus.MustNewConstMetric(pm.desc, pm.valueType, opLatencyStats.(StatsMap)["bucketValues"].([]float64)[i], rawMetrics[ikClusterName], rawMetrics[ikService], namespaceName, labelValue) - - // aerospike_latencies___count metric - if i == 0 { - pm = makeMetric("aerospike_latencies", operation+"_"+opLatencyStats.(StatsMap)["timeUnit"].(string)+"_count", mtGauge, config.AeroProm.MetricLabels, METRIC_LABEL_CLUSTER_NAME, METRIC_LABEL_SERVICE, METRIC_LABEL_NS) - ch <- prometheus.MustNewConstMetric(pm.desc, pm.valueType, opLatencyStats.(StatsMap)["bucketValues"].([]float64)[i], rawMetrics[ikClusterName], rawMetrics[ikService], namespaceName) - } - } - } - } - - return nil -} - -// Utility methods -// checks if a stat can be considered for latency stat retrieval -func isStatLatencyHistRelated(stat string) bool { - // is not enable-benchmarks-storage and (enable-benchmarks-* or enable-hist-*) - return (!strings.Contains(stat, "enable-benchmarks-storage")) && (strings.Contains(stat, "enable-benchmarks-") || - strings.Contains(stat, "enable-hist-")) // hist-proxy & hist-info - both at service level -} - -func (lw *LatencyWatcher) getLatenciesCommands(rawMetrics map[string]string) []string { - var commands = []string{"latencies:"} - - // Hashmap content format := namespace- = - for latencyHistName := range LatencyBenchmarks { - histTokens := strings.Split(latencyHistName, "-") - - histCommand := "latencies:hist=" - - // service-enable-benchmarks-fabric or ns-enable-benchmarks-ops-sub or service-enable-hist-info - if histTokens[0] != "service" { - histCommand = histCommand + "{" + histTokens[0] + "}-" - } - - if strings.Contains(latencyHistName, "enable-benchmarks-") { - histCommand = histCommand + strings.Join(histTokens[2:], "-") - } else { - histCommand = histCommand + strings.Join(histTokens[3:], "-") - } - - commands = append(commands, histCommand) - } - - log.Tracef("latency-passtwokeys:%s", commands) - - return commands -} diff --git a/watcher_latency_test.go b/watcher_latency_test.go deleted file mode 100644 index 559d2b46..00000000 --- a/watcher_latency_test.go +++ /dev/null @@ -1,225 +0,0 @@ -package main - -import ( - "fmt" - "strings" - "testing" - "time" - - "github.com/prometheus/client_golang/prometheus" - dto "github.com/prometheus/client_model/go" - "github.com/stretchr/testify/assert" -) - -func TestLatencies_PassOneKeys(t *testing.T) { - watcher := new(LatencyWatcher) - // Check passoneKeys - passOneKeys := watcher.passOneKeys() - - fmt.Println("TestLatencies_PassOneKeys: outputs: ", passOneKeys) - - // assert.Equal(t, passOneKeys, []string{"build"}) - // modified test-case as watcher-latency no more returns build, this "build" is moved to observer.go - assert.Nil(t, passOneKeys) -} - -func TestLatencies_PassTwoKeys(t *testing.T) { - fmt.Println("initializing config ... TestLatencies_PassTwoKeys") - - mas := new(MockAerospikeServer) - mas.initialize() - - // Initialize and validate config - config = new(Config) - initConfig(DEFAULT_APE_TOML, config) - config.validateAndUpdate() - - watcher := new(LatencyWatcher) - - rawMetrics := mas.fetchRawMetrics() - // simulate, as if we are sending requestInfo to AS and get the Latencies, these are coming from mock-data-generator - outputs := watcher.passTwoKeys(rawMetrics) - - fmt.Println("TestLatencies_PassTwoKeys: outputs: ", outputs) - - // output is not nil - assert.NotNil(t, outputs, "build details returns are: ", outputs) - assert.Equal(t, outputs, []string{"latencies:"}) -} - -func TestLatencies_RefreshDefault(t *testing.T) { - fmt.Println("initializing config ... TestLatencies_RefreshDefault") - // Initialize and validate config - config = new(Config) - initConfig(DEFAULT_APE_TOML, config) - config.validateAndUpdate() - - // run the test-case logic - latencies_runTestCase(t) - -} - -func TestLatencies_RefreshWithLabelsConfig(t *testing.T) { - fmt.Println("initializing config ... TestLatencies_RefreshWithLabelsConfig") - - mas := new(MockAerospikeServer) - mas.initialize() - - // Initialize and validate config - config = new(Config) - initConfig(LABELS_APE_TOML, config) - config.validateAndUpdate() - - watcher := new(LatencyWatcher) - - gaugeStatHandler = new(GaugeStats) - initGaugeStats(METRICS_CONFIG_FILE, gaugeStatHandler) - rawMetrics := mas.fetchRawMetrics() - - lObserver := &Observer{} - ch := make(chan prometheus.Metric, 1000) - latenciesInfoKeys := watcher.passTwoKeys(rawMetrics) - - err := watcher.refresh(lObserver, latenciesInfoKeys, rawMetrics, ch) - - if err != nil { - fmt.Println("watcher_latency_test : Unable to refresh Latencies") - } else { - domore := 1 - - for domore == 1 { - select { - - case nsMetric := <-ch: - description := nsMetric.Desc().String() - var protobuffer dto.Metric - err := nsMetric.Write(&protobuffer) - if err != nil { - fmt.Println(" unable to get metric ", description, " data into protobuf ", err) - } - - metricLabel := fmt.Sprintf("%s", protobuffer.Label) - - // Description: Desc{fqName: "aerospike_latencies_read_ms_bucket", help: "read ms bucket", constLabels: {}, variableLabels: [cluster_name service ns le]} - // Label: [name:"cluster_name" value:"null" name:"le" value:"+Inf" name:"ns" value:"test" name:"service" value:"172.17.0.3:3000" ] - - for eachConfigMetricLabel := range config.AeroProm.MetricLabels { - modifiedConfigMetricLabels := strings.ReplaceAll(eachConfigMetricLabel, "=", ":") - - assert.Contains(t, metricLabel, modifiedConfigMetricLabels) - } - - case <-time.After(1 * time.Second): - domore = 0 - - } // end select - } - - } // end else-refresh-failure - -} - -/** -* complete logic to call watcher, generate-mock data and asset is part of this function - */ -func latencies_runTestCase(t *testing.T) { - - // mock server - mas := new(MockAerospikeServer) - mas.initialize() - - latdg := new(MockLatencyPromMetricGenerator) - - gaugeStatHandler = new(GaugeStats) - initGaugeStats(METRICS_CONFIG_FILE, gaugeStatHandler) - rawMetrics := mas.fetchRawMetrics() - - watcher := new(LatencyWatcher) - lObserver := &Observer{} - ch := make(chan prometheus.Metric, 10000) - - latenciesInfoKeys := watcher.passTwoKeys(rawMetrics) - err := watcher.refresh(lObserver, latenciesInfoKeys, rawMetrics, ch) - - if err != nil { - fmt.Println("watcher_latency_test : Unable to refresh Latencies") - } else { - domore := 1 - - // map of string ==> map["namespace/metric-name"]["