diff --git a/spinnaker-monitoring-daemon/experimental/README.md b/spinnaker-monitoring-daemon/experimental/README.md new file mode 100644 index 0000000..ff1ddc6 --- /dev/null +++ b/spinnaker-monitoring-daemon/experimental/README.md @@ -0,0 +1,492 @@ +# Motivation + +Spectator Meter Transforms provide a mechanism to filter and transform +Spinnaker metrics into a different data model before processing them +further. There are a few reasons for wanting to do this: + +* Spinnaker produces a lot of metrics for different audiences + (e.g. operational monitoring, development insights). This can + have non-trivial storage and access costs. Only passing through + metrics of interest (or discarding those known not to be) can + reduce the persistence costs. + +* Some external monitoring systems utilize static schemas and do + not respond well to changes in metric structure, such as the addition + of new tags or changing types. A transformation layer can tolerate + evolution to instrumentation while providing a stable data model + to these backend systems. + +* When the data model for a given metrics change then customer's + existing customized dashboards and alerting rules may not work as + expected. Transformations provide a means to produce a stable data + model to preserve the integrity of these artifacts when updating + releases. + +* It is difficult to know when and how instrumentation has changed, + particularly when new metrics are added. The specification underlying + transformations outlined in this proposal provide a means to explicitly + compare the data model for a given release against a prior known one. + +* The metrics produced by Spinnaker are not always consistent in + how they are named or tagged. Transformations provide a means to + rectify this in a non-disruptive manner by allowing users to opt-in + to proposed changes at their own pace before being forced into + native changes in the codebase. + +* The transformations provide a means to provide more extensive + explicit and implicit documentation about the metrics such as + their type, tags, and purpose. + + +# Approach + +The transformation mechanism consists of a YAML file specifying each +metric produced by Spinnaker and what its desired data model should be. +The monitoring daemon contains a processing component that understands +this YAML file. The metrics response scraped from the Spinnaker service +are processed by this component to transform the response such that it +appears that Spinnaker reported metrics with the desired data model. + +## Tradeoffs + +* Maintaining a YAML file separate from the actual implementation + is not long-term ideal. However, it is short-term pragmatic because it + does not require changing the code or introducing new mechanisms. + Longer term, we can introduce new mechanisms into the codebase to + document and report metrics used, and migrate the metrics themselves to + a new data model instead of using this mechanism. This mechanism feels + [to me] like a pragmatic means to get there should be choose to. + +* The transformations incur runtime overhead for every metric. However + this cost is in the daemon, which is independent from the Spinnaker + service runtime so should not affect Spinnaker's performance. + +* The "language" and expressiveness of the proposed YAML is specialized + for this particular use case. There may be other existing or more + generalized solutions. Daemon performance is not a current concern, + but embedded in the service runtime could be. + +* The current transformation "language" is not powerful enough to invert. + In particular, it allows for surjective mappings where multiple metrics + may aggregate into the same metric but using different label values + to distinguish among them. It is not worth supporting the inverse of + this because it is not a use case of interest other than providing + backward compatability. The expectation is that if backward compatability + were needed, the community should be given sufficient time to opt-in at + their own pace (within reason). + +* Most Spinnaker metrics are internally consistent in how they are used + when they appear in multiple places (but might be inconsistent with how + other metrics are used). But not all; there are a number of metrics in + the Kubernetes provider and some Amazon provider metrics that dont quite fit + what I currently have, but am looking at interim ways to accomodate them. + These limit the robustness of some desirable transformations without wiring + some knowledge of these anomolies into the transformation mechanism or + perhaps adding weird accomodations into the specification grammar. This has + not yet been done. + + +# Language + +The YAML file uses a new entry in the existing Metric Filters to specify +transformations. The existing Metric Filters can co-exist however are no +longer relevant or needed given the transforms. + +The entry `monitoring.transforms` contains a dictionary keyed by +the Spectator meter name whose value is the transformation specification +using the following schema: + + Attribute | Description + ----------|------------ + kind | Specifies the Spectator meter type. e.g. `Timer`. + docs | Documentation for the metric. This is not part of the transformation however allows these specifications to be a vehicle for providing documentation. + unit | Documents the value units. + tags | A list of tags to pass through as is. These tags are optional. Spectator measurements do not require specific tags so entries in this list may not be present in all measurements for the given meter. Spectator tag values are always STRING. + rename | The new name for the metric, replacing the original name that was the key. + add_tags | A dictionary of tags to inject with their values. The values are strings. This is intended to aggregate multiple metrics into a common composite metric using the tag(s) to distinguish the original measurement. + discard_tag_values | A dictionary keyed by tag names whose values are regular expressions to match for that tag. If a regular expression matches, then disregard that metric instance entirely. This is intended to drop specific dimensions of spectator types using the "statistic" tag which are essentially different metrics. In particular the "percentile" dimension if not of interest, or perhaps the "totalTime" dimension if only the counter desired. + per_account | Indicates that this metric is captured per each account (i.e. it has an `account` tag). See [per tags](#per_tags) for more information. + per_application | Indicates that this metric is captured per each application (i.e. it has an `application` tag). See [per tags](#per_tags) for more information. + change_tags | A list of *TagTransformations* whereby existing tags can be modified. + + *TagTransformation* entries in the `change_tags` attribute are as follows: + + Attribute | Description + ------|------ + from | The name of the tag in the original spectator measurement. + to | The name of the target tag, or a list of target tags if the old value is to be split into multiple new tags. + type | The type of the new tag, or list of types if there are multiple target tags. The list length must be the same as `to` and each list element corresponds between the two attributes. Type can be STRING, BOOL, or INT. If not mentioned then it is INT. *Note:* It is currently looking like it might be best to leave the actual tag values as strings, some metric stores require strings (the daemon converts to strings where this is the case). + compare_value | If the type is a BOOL then this is the `True` value. If this is not present then "true" is `True`. For example if changing "success" to a BOOL then the compare_value might be "success" so that "success" becomes True and other values become False. + extract_regex | A regular expression to extract one or more substrings from the original value. By having multiple capture groups a given tag can be split into multiple tags. The number of capture groups should align with the `to` attribute. If the capture group is empty (or optional and not found) then that `to` tag will be given the `default_value`. + default_value | If present, this is the default value for non-matching regex. By default this is empty. + + + +Note that if tags are stripped from a metric then the measurement is treated as +if it never had that tag, which might involve aggregating other measurements +that only different by that dropped tag (or multiple dropped tags). + +## per_tags + +To deal with certain high cardinality tags, there are special attribute +`per_account` and `per_application`. These indicate that these tags are present, +however can be handled in a special way. The special way is not yet fully +realized. + +In the future this could be to optionally include it or not, or to associate it +in a different way. For example in Stackdriver to have monitored resources for +applications or accounts where these metrics might [also] be associated with +the monitored resource for that specific entity, essentially factoring out the +high cardinality tag from the individual instances and into the single monitored +resource for all metrics associated with it. + + +# Examples + +## Change the name and strip any tags + +Here we change the name of the metric. The new metric will not have any +tags even if tags are encountered in the original measurement +``` + front50.requests: + rename: front50/client/finished + kind: Counter + unit: requests + tags: # None +``` + + +## Aggregate mulitiple distinct metrics into a new composite one + +Here we combine distinct failure and success metrics into a common one +injecting a "success" tag to distinguish the measurements of each. + +We carry forward two tags from the original metrics. If others are +encountered then they will be dropped (but their values aggregated among +the remaining present tags). + +``` + hystrix.rollingCountFallbackFailure: + rename: hystrix/rollingCount/fallback + kind: Gauge + docs: Hystrix fallback outcomes over the current rolling window. + if "success" is true then the fallback succeeded, + otherwise it failed. + unit: requests + tags: + - metricGroup + - metricType + add_tags: + success: false + + hystrix.rollingCountFallbackSuccess: + rename: hystrix/rollingCount/fallback + kind: Gauge + docs: Hystrix fallback outcomes over the current rolling window. + if "success" is true then the fallback succeeded, + otherwise it failed. + unit: requests + tags: + - metricGroup + - metricType + add_tags: + success: true + +``` + + +## Convert some tag values from STRING to INT and BOOL + +Here we change the HTTP status code from a string to its integer value. +Likewise we change success from a string to a boolean. The tag names +are standard so were not changed. + +``` + okhttp.requests: + rename: okhttp/completions + kind: Timer + docs: Records the time spent in okhttp requests and their outcome. + unit: requests + tags: + - status + - requestHost + change_tags: + - from: statusCode + to: statusCode + type: INT + - from: success + to: success + type: BOOL +``` + + +## Change some tag values + +There are two changes here. One is that we are changing a non-standard +"error" attribute into a standard "success" one. The other is that +we are changing the "serviceEndpoint" tag to only indicate the region +that the service was in. If the endpoint has no region then we are +calling that a "global" region. + +``` + aws.request.httpRequestTime: + rename: platform/aws/api/http/completions + kind: Timer + docs: Records the time and outcome of each AWS request. + unit: requests + tags: + - requestType + - serviceName + - serviceEndpoint + - AWSErrorCode + change_tags: + - from: error + to: success + type: BOOL + compare_value: 'false' + - from: statusCode + to: statusCode + type: INT + - from: serviceEndpoint + to: region + type: STRING + extract_regex: '(?:[^\.]+\.)?([^\.]+-[^\.]+)\.amazonaws.com' + default_value: global +``` + + +## Accomodate high cardinality tags + +Here we mark the counter has being `per_account` becaues it will have an +"account" tag which we may want to handle specially as discussed elsewhere. + +``` + bakesRequested: + rename: bakery/bake/calls + kind: Counter + docs: Number of bakes initiated. + unit: bakes + tags: + - flavor + per_account: true +``` + + +## Split complex tag value into composite components + +Here the `agent` tag value is actually composite indicating many different +pieces of information. We are going to split this apart into individual tags +so they are easier to consume and reason about. + +One of the tags happens to have the same name as the original, this is +coincidence. The value will be replaced. + +``` + executionTime: + rename: clouddriver/cache/execution/successful + kind: Timer + docs: Records the time spent in successful caching agent executions. + Note that this does not include time spent in unsuccessful + executions. + unit: executions + per_account: true + change_tags: + - from: agent + to: [provider, account, region, agent] + type: [STRING, STRING, STRING, STRING] + extract_regex: '([^/]+)/(?:([^/]+)/(?:([^/\[]+)/)?)?(.+)' + +``` + +# Usage + +The following instructions assume halyard > 1.13 (as of 2018-12-05, +the current version is 1.12) or from github master and can be used +with Spinnaker release 1.11 or master. + + +## Configuration + +For the proposed schema to work, we need to add additional tags to the +metrics to identify the service coming from. This does not happen by +default so we need to configure the daemon to do this. Add the following +to a file called `spinnaker-monitoring-local.yml` and put it in the +`.hal/profiles/default/` + +``` +spectator: + inject_service_tag: true +``` + +## Location + + +Place yaml files in `~/.hal/default/profiles/monitoring-daemon/filters`. +The file `default.yml` acts as a baseline. If `.yml` files are +present, they will override values for the given service. This should not +be needed unless a metric common to multiple services would be mapped to +entirely different metrics depending on the service it originated in. + + +# Standardization + +As alluded to earlier, this transformation mechanism gives us an opportunity +to reshape the metrics that Spinnaker provides. While giving new names and +structure, we should define some vocabulary and standards to provide more +consistency and clarity to what is being measured and how to consume and +interpret the data. + +## Meter Vocabulary + +The following standard names or patterns are used where applicable. + +Name | Type | Description +---- | ---- | ---- +/calls | COUNTER | Counts the calls made or things begun. +/completions | TIMER | Records the duration of a call or other process and tags describing the outcome status, suitable enough to distinguish success from failure. +/finished | COUNTER | Counts the calls that were completed where only a counter is used and not a TIMER. +/errors | COUNTER | Counts errors where only error cases are counted. +/successful | COUNTER or TIMER | Counts successes where only successful cases are counted. +.../api/... | instrumentation around an API, typically external calls. Often these will also have a method tag refining the particular entry point within the API. + +## Tag Vocabulary + +The following standard tags are used when applicable. + +Name | Type | Description +---- | ---- | ---- +success | BOOL | Indicates success when the metric wants to distinguish success (true) from failure (false). +status | STRING | Indicates the HTTP Status Series (perhaps this should be called httpStatusSeries or httpSeries). e.g. "2xx". This always appears in conjunction with statusCode. +statusCode | INT | The specific HTTP response code (perhaps this should be called httpStatusCode or httpCode). e.g. 200. +platform | STRING | When the metric is for activity on a particular platform or cloud provider. e.g. "aws". This is not necessary on provider-specific meters, but where there are standard meters used to instrument platform-specific code, values should be tagged to distinguish the different platform implementations from one another. +region | STRING | The region being instrumented where applicable. The region is the native platform region name. +method | STRING | The name of the particular method if applicable. This is typically for API related instrumentation. +application | STRING | The spinnaker application where applicable. Application is a potentially high cardinality tag so should be used with care. +account | STRING | The spinnaker account where applicable. Account is a potentially high cardinality tag so should be used with care. + + +# Considerations + +Most instrumentation are `Counter`, `Timer`, or `Gauge`. There are a few +`DistributionSummary` and a few `PercentileTimer` and +`PercentileDistributionSummary`. + + +## Syntax + +**Historic**: Existing meters often use '.' as a hierarchical separator and are +mostly lower case. Sometimes they use camel case, sometimes they +appear to use a '.' to separate words where others might introduce +camelcase. '_' is never used. + +**Proposed**: Use camelCase with '/' as a hierarchical separator (or '.', but '/' +offers easy deconfliction between old names and new names to force switch everything over). + +## Terminology +"requests" is sometimes a `Counter`, and sometimes a `Timer`. +Counters are typically used when instrumenting at the starting point, +Timers at the endpoint point. Since timers are at the end, they typically +contain outcome context. Since counters are at the start, they typically do +not. + +We should have a standard term when there is a count of things started +(e.g. "calls") and a standard term for the time that the call ultimately took +(e.g. "outcomes") + + +## Try it + +An implementation of the proposed specification described in this document +can be retrieved as follows: + +``` +mkdir -p ~/.hal/default/profiles/monitoring-daemon/filters +git clone \ + https://github.com/ewiseblatt/spinnaker-monitoring \ + -b experimental_transforms + +# Give configuration information to Halyard +cd spinnaker-monitoring +cp spinnaker-monitoring-daemon/experimental/spinnaker-monitoring-local.yml \ + ~/.hal/default/profiles/monitoring-daemon +cp spinnaker-monitoring-daemon/experimental/metric_filters/* \ + ~/.hal/default/profiles/monitoring-daemon/filters + + +# Install the new dashboards: + +# If using Prometheus: + GRAFANA_USER=admin + GRAFANA_PASSWORD=admin + GRAFANA_NETLOC=localhost:3000 + OVERWRITE=true + SOURCE_DIR=./spinnaker-monitoring-third-party/third_party/prometheus/experimental + + for dashboard in ${SOURCE_DIR}/*-dashboard.json; do + echo "Installing $(basename $dashboard)" + x=$(sed -e "/\"__inputs\"/,/],/d" \ + -e "/\"__requires\"/,/],/d" \ + -e "s/\${DS_SPINNAKER\}/Spinnaker/g" < "$dashboard") + temp_file=$(mktemp) + echo "{ \"dashboard\": $x, \"overwrite\": $OVERWRITE }" > $temp_file + curl -s -S -u "$GRAFANA_USER:$GRAFANA_PASSWORD" \ + http://${GRAFANA_NETLOC}/api/dashboards/import \ + -H "Content-Type: application/json" \ + -X POST \ + -d @${temp_file} + rm -f $temp_file + done + + +# If using Stackdriver. See remarks[*] in document below: + # If you need to specify another project or credentials + # Then set then in PROJECT_ARGS + # PROJECT_ARGS="--project --credentials_path " + + CLI=./spinnaker-monitoring-daemon/bin/spinnaker-monitoring.sh + pip install -r $STACKDIR/requirements.txt + + # Remove your old metric descriptors. + $CLI clear_stackdriver $PROJECT_ARGS + sleep 90 # give time for descriptors to clear + + $CLI clear_stackdriver $PROJECT_ARGS + # This should return 0 cleared. If not wait longer and try again. + + + # Create custom metric descriptors. + # When we run the CLI we'll need our transform filters in place, so just link the directory here. + ln -s `pwd`/spinnaker-monitoring-daemon/experimental/filters spinnaker-monitoring-daemon/filters + $CLI upsert_stackdriver_descriptors $PROJECT_ARGS + + + # Install the Dashboards + # + # You need to be whitelisted for the Stackdriver Dashboard API + # while it is in early-access. Ask your sales rep. + export STACKDRIVER_API_KEY= + + STACKDIR=./spinnaker-monitoring-third-party/third_party/stackdriver + for dashboard in $STACKDIR/experimental/*-dashboard.json; do + $CLI upload_stackdriver_dashboard --dashboard ${dashboard} $PROJECT_ARGS + done + +``` + +## Stackdriver Caveat + +For stackdriver, you might want to configure it to record monitoring into a different project if +you want to be able to retain your old monitoring data if that is important to you. + +Stackdriver has limitations on the number of custom metric descriptors (500 by default) you can use in a project. +Spinnaker already exceeds taht without any filtering. Therefore you will need to clear out your old +ones to make way for these new ones. Using this transform strategy, we'll consume around 125. + +When you delete the descriptors you will eventually lose all your old data. You will not be able to see +the data that still exists until the descriptors are restored. If you are running an old daemon, that would be +sufficient to restore the descriptors automatically (as the meters are encountered). This also means that if +you run an unfiltered daemon, then it will add the additional old filters back which will add all those descriptors +back. + +You can rerun clear_stackdriver to delete everything then either run upsert the new descriptors again +or run the old daemon depending on which way you wish to proceed. \ No newline at end of file diff --git a/spinnaker-monitoring-daemon/experimental/metric_filters/default.yml b/spinnaker-monitoring-daemon/experimental/metric_filters/default.yml new file mode 100644 index 0000000..176cda8 --- /dev/null +++ b/spinnaker-monitoring-daemon/experimental/metric_filters/default.yml @@ -0,0 +1,1725 @@ +monitoring: + transforms: + appengine.deploy: + rename: platform/appengine/deploy/completions + kind: Timer + docs: Measures time spent completing appengine deployments. + unit: requests + per_account: true + tags: + - region + change_tags: + - from: success + to: success + type: BOOL + + appengine.deployStart: + rename: platform/appengine/deploy/calls + kind: Counter + docs: Appengine deployments that have been attempted including those that have not yet completed. + unit: requests + per_account: true + tags: + - region + + appengine.repositoryDownload: + rename: platform/appengine/repository/downloads + kind: Timer + docs: Measures time spent downloading appengine applications from repository in order to deploy them. + unit: requests + per_account: true + tags: + - region + - repositoryType + change_tags: + - from: success + to: success + type: BOOL + + aws.request.httpRequestTime: + rename: platform/aws/api/http/completions + kind: Timer + docs: Records the time and outcome of each AWS request. + unit: requests + tags: + - requestType + - serviceName + - serviceEndpoint + - AWSErrorCode + change_tags: + - from: error + to: success + type: BOOL + compare_value: 'false' + - from: statusCode + to: statusCode + type: INT + - from: serviceEndpoint + to: region + type: STRING + extract_regex: '(?:[^\.]+\.)?([^\.]+-[^\.]+)\.amazonaws.com' + default_value: global + + aws.request.throttling: + rename: platform/aws/api/throttled + kind: Count + docs: Counts AWS throttled requests + unit: requests + tags: + - requestType + - serviceName + - serviceEndpoint + - AWSErrorCode + change_tags: + - from: error + to: success + type: BOOL + compare_value: 'false' + - from: statusCode + to: statusCode + type: INT + - from: serviceEndpoint + to: region + type: STRING + extract_regex: '(?:[^\.]+\.)?([^\.]+-[^\.]+)\.amazonaws.com' + default_value: global + + bakesActive: + rename: bakery/bake/active + kind: Gauge + docs: Bakes currently execution. + unit: bakes + change_tags: + - from: active + to: active + type: BOOL + compare_value: 'true' + + bakesCompleted: + rename: bakery/bake/completions + kind: Timer + docs: Records time spent baking images. + unit: bakes + tags: + - region + change_tags: + - from: success + to: success + type: BOOL + compare_value: 'true' + + bakesRequested: + rename: bakery/bake/calls + kind: Counter + docs: Number of bakes initiated. + unit: bakes + tags: + - flavor + per_account: true + + cache.drift: + rename: platform/aws/cacheDrift + # Should this be clouddriver/cache/drift with a platform=aws tag? + kind: Gauge + docs: Reports time difference in AWS cache from current reality. + unit: milliseconds + per_account: true + tags: + - region + - agent + + canary.pipelines.initiated: + rename: canary/pipeline/initiated + kind: Counter + docs: Number of canary pipelines attempted. + unit: pipelines + tags: + - canaryConfigId + - canaryConfigName + + canary.pipelines.startupFailed: + kind: Counter + docs: Number of canary pipelines that could not be started + unit: errors + tranform_name: canary/pipeline/startupFailures + tags: # None + + canary.telemetry.query: + kind: Counter + docs: Number of canary pipelines attempted. + unit: pipelines + tranform_name: canary/telemetry/query + tags: + - metricsStore + change_tags: + - from: retries + to: initial + type: BOOL + compare_value: '0' + + cats.redisCache.evict.itemCount: + rename: clouddriver/cache/redis/evict/items + kind: Counter + docs: + unit: items + change_tags: + - from: type + to: resourceType + type: STRING + - from: prefix + to: [platform, provider] + type: [STRING, STRING] + extract_regex: '.*\.clouddriver\.([^\.]+)\.(?:.*)?\.provider\.(.*)' + default_value: ['invalid', 'invalid'] + + cats.redisCache.evict.keysDeleted: + rename: clouddriver/cache/redis/evict/keys + kind: Counter + docs: + unit: keys + change_tags: + - from: type + to: resourceType + type: STRING + - from: prefix + to: [platform, provider] + type: [STRING, STRING] + extract_regex: '.*\.clouddriver\.([^\.]+)\.(?:.*\.)?provider\.(.*)' + default_value: ['invalid', 'invalid'] + + cats.redisCache.get.itemCount: + rename: clouddriver/cache/redis/get/items + kind: Counter + docs: + unit: items + change_tags: + - from: type + to: resourceType + type: STRING + - from: prefix + to: [platform, provider] + type: [STRING, STRING] + extract_regex: '.*\.clouddriver\.([^\.]+)\.(?:.*\.)?provider\.(.*)' + default_value: ['invalid', 'invalid'] + + cats.redisCache.get.keysRequested: + rename: clouddriver/cache/redis/get/keys + kind: Counter + docs: + unit: keys + change_tags: + - from: type + to: resourceType + type: STRING + - from: prefix + to: [platform, provider] + type: [STRING, STRING] + extract_regex: '.*\.clouddriver\.([^\.]+)\.(?:.*\.)?provider\.(.*)' + default_value: ['invalid', 'invalid'] + + cats.redisCache.merge.itemCount: + rename: clouddriver/cache/redis/merge/items + kind: Counter + docs: + unit: items + change_tags: + - from: type + to: resourceType + type: STRING + - from: prefix + to: [platform, provider] + type: [STRING, STRING] + extract_regex: '.*\.clouddriver\.([^\.]+)\.(?:.*\.)?provider\.(.*)' + default_value: ['invalid', 'invalid'] + + cats.redisCache.merge.keysWritten: + rename: clouddriver/cache/redis/merge/keys + kind: Counter + docs: + unit: keys + change_tags: + - from: type + to: resourceType + type: STRING + - from: prefix + to: [platform, provider] + type: [STRING, STRING] + extract_regex: '.*\.clouddriver\.([^\.]+)\.(?:.*\.)?provider\.(.*)' + default_value: ['invalid', 'invalid'] + + controller.invocations: + rename: service/controller/completions + kind: Timer + docs: Times each call into the service's HTTP interface along with + the final response code and status. The region tag is only + applicable to a subset of the methods so may be empty. + unit: requests + tags: + - controller + - method + - status + change_tags: + - from: statusCode + to: statusCode + type: INT + + echo.events.per.poll: + rename: echo/event/perPoll + kind: Gauge + unit: events + tags: # None + + echo.events.processed: + rename: echo/event/processed + kind: Counter + unit: events + tags: # None + + EurekaOkClient_Request: + rename: eureka/okclient/completions + kind: Timer + unit: requests + tags: + - service + - status + - cause + change_tags: + - from: statusCode + to: statusCode + type: INT + + executions.active: + rename: workflow/execution/active + kind: Gauge + docs: Counts the number of pipelines or orchestrations + currently being executed. + unit: executions + tags: + - executionType + + executions.started: + rename: workflow/execution/calls + kind: Counter + docs: Counts the number of pipelines or orchestrations + that have been started. + unit: executions + per_application: true + tags: + - executionType + + executions.totalTime: + rename: workflow/execution/completions + kind: Timer + docs: Times each pipeline or orchestration execution and outcome. + unit: executions + per_application: true + tags: + - executionType + change_tags: + - from: successful + to: success + type: BOOL + compare_value: 'true' + + executionCount: + rename: clouddriver/cache/execution/finished + kind: Counter + docs: Counts the number of caching agent executions completed. + unit: executions + per_account: true + change_tags: + - from: status + to: success + type: BOOL + compare_value: success + - from: agent + to: [provider, account, region, agent] + type: [STRING, STRING, STRING, STRING] + extract_regex: '([^/]+)/(?:([^/]+)/(?:([^/\[]+)/)?)?(.+)' + + executionTime: + rename: clouddriver/cache/execution/successful + kind: Timer + docs: Records the time spent in successful caching agent executions. + Note that this does not include time spent in unsuccessful + executions. + unit: executions + per_account: true + change_tags: + - from: agent + to: [provider, account, region, agent] + type: [STRING, STRING, STRING, STRING] + extract_regex: '([^/]+)/(?:([^/]+)/(?:([^/\[]+)/)?)?(.+)' + + fiat.getPermission: + rename: fiat/authz/lookups + kind: Counter + docs: Number of fiat permission lookups. + unit: lookups + change_tags: + - from: cached + to: cached + type: BOOL + - from: success + to: success + type: BOOL + + fiat.getUserPermission: + rename: fiat/authz/userLookups + kind: Counter + docs: Number of fiat user-permission lookups. + unit: lookups + change_tags: + - from: fallback + to: fallback + type: BOOL + - from: success + to: success + type: BOOL + + front50.errors: + rename: front50/client/errors + kind: Counter + unit: errors + tags: # None + + front50.requests: + rename: front50/client/finished + kind: Counter + unit: requests + tags: # None + + google.api: + rename: platform/google/api/compute/completions + kind: Timer + docs: Records the time and outcome of each GCE api call. + unit: requests + per_account: True + tags: + - status + - scope + - region + - zone + change_tags: + - from: statusCode + to: statusCode + type: INT + - from: api + to: method + type: STRING + extract_regex: 'compute\.(.*)' + + google.batchExecute: + rename: platform/google/api/batch/completions + kind: Timer + docs: Records the time and outcome of each GCE batch api call. + unit: requests + tags: + - context + - status + change_tags: + - from: statusCode + to: statusCode + type: INT + + google.batchSize: + rename: platform/google/api/batch/size + kind: Counter + docs: The number of requests within the individual batch requests. + unit: requests + tags: + - context + - status + change_tags: + - from: statusCode + to: statusCode + type: INT + + google.operationWaits: + rename: platform/google/operation/waits + kind: Timer + docs: Records the time spent waiting for clouddriver operations on + the google provider to complete. + unit: requests + tags: + - basePhase + - scope + - region + - zone + change_tags: + - from: status + to: finalStatus + type: STRING + + google.safeRetry: + rename: platform/google/operation/retryable + kind: Timer + docs: Records the time spent in operations to the google platform + that retry until succeeded. + unit: requests + tags: + - phase + - scope + - region + - zone + - operation + - action + change_tags: + - from: success + to: success + type: BOOL + compare_value: 'true' + + google.storage.invocation: + rename: platform/google/api/storage/completions + kind: Timer + docs: Records the time and outcome of each GCS api call. + unit: requests + tags: + - status + - method + change_tags: + - from: statusCode + to: statusCode + type: INT + + health.amazon.errors: + rename: health/component/errors + kind: Gauge + unit: components + tags: # None + add_tags: + component: amazon + + health.docker.errors: + rename: health/component/errors + kind: Gauge + unit: components + tags: # None + add_tags: + component: docker + + health.echo.errors: + rename: health/component/errors + kind: Gauge + unit: components + tags: # None + add_tags: + component: echo + + health.pollers.down: + rename: health/component/errors + kind: Gauge + unit: components + tags: # None + add_tags: + component: pollers + + hystrix.isCircuitBreakerOpen: + rename: hystrix/circuitBreaker/open + kind: Gauge + docs: Indicates whether hystrix circuit breaker is currently on or not. + unit: bool # 0 is off, 1 is on + tags: # None + + hystrix.rollingCountFailure: + rename: hystrix/rollingCount/attempt + kind: Gauge + docs: Hystrix outcomes over the current rolling window. + if "success" is true then the request succeeded, + otherwise it failed. + unit: requests + tags: + - metricGroup + - metricType + add_tags: + success: false + + hystrix.rollingCountFallbackFailure: + rename: hystrix/rollingCount/fallback + kind: Gauge + docs: Hystrix fallback outcomes over the current rolling window. + if "success" is true then the fallback succeeded, + otherwise it failed. + unit: requests + tags: + - metricGroup + - metricType + add_tags: + success: false + + hystrix.rollingCountFallbackSuccess: + rename: hystrix/rollingCount/fallback + kind: Gauge + docs: Hystrix fallback outcomes over the current rolling window. + if "success" is true then the fallback succeeded, + otherwise it failed. + unit: requests + tags: + - metricGroup + - metricType + add_tags: + success: true + + hystrix.rollingCountSuccess: + rename: hystrix/rollingCount/attempt + kind: Gauge + docs: Hystrix outcomes over the current rolling window. + if "success" is true then the request succeeded, + otherwise it failed. + unit: requests + tags: + - metricGroup + - metricType + add_tags: + success: true + + hystrix.rollingCountTimeout: + rename: hystrix/rollingCount/timeout + kind: Gauge + docs: Hystrix timeouts over the current rolling window. + unit: requests + tags: + - metricGroup + - metricType + + hystrix.rollingCountShortCircuited: + rename: hystrix/rollingCount/shortCircuited + kind: Gauge + docs: Hystrix short circuits over the current rolling window. + unit: requests + tags: + - metricGroup + - metricType + + jvm.memory.used: + rename: platform/java/memory + kind: Gauge + docs: Reports memory usage by the runtime Java VM. + unit: bytes + change_tags: + - from: memtype + to: scope + type: STRING + - from: id + to: segment + type: STRING + + kubernetes.api: + rename: platform/kubernetes/api/completions + kind: Timer + docs: Records the time and outcome of each Kubernetes api call. + unit: requests + per_account: True + tags: + - kinds + - kind + - namespace + - reason + - action + - method + change_tags: + - from: success + to: success + type: BOOL + + okhttp.requests: + rename: okhttp/completions + kind: Timer + docs: Records the time spent in okhttp requests and their outcome. + unit: requests + tags: + - status + - requestHost + change_tags: + - from: statusCode + to: statusCode + type: INT + - from: success + to: success + type: BOOL + + onDemand_count: + rename: clouddriver/cache/onDemand/calls + kind: Counter + unit: requests + per_account: true + tags: + - providerName + change_tags: + - from: agentType + to: [account, region, agent] + type: [STRING, STRING, STRING] + extract_regex: '([^/]+)/(?:([^/\[]+)/)?(.+)' + + - from: onDemandType + to: [platform, resource] + type: [STRING, STRING] + extract_regex: '([^:]+):(?:.*:)?(.*)' + + onDemand_error: + rename: clouddriver/cache/onDemand/errors + kind: Counter + unit: requests + per_account: true + tags: + - providerName + change_tags: + - from: agentType + to: [account, region, agent] + type: [STRING, STRING, STRING] + extract_regex: '([^/]+)/(?:([^/\[]+)/)?(.+)' + + - from: onDemandType + to: [platform, resource] + type: [STRING, STRING] + extract_regex: '([^:]+):(?:.*:)?(.*)' + + onDemand_cache: + rename: clouddriver/cache/onDemand/writes + kind: Timer + unit: requests + per_account: true + tags: + - providerName + change_tags: + - from: agentType + to: [account, region, agent] + type: [STRING, STRING, STRING] + extract_regex: '([^/]+)/(?:([^/\[]+)/)?(.+)' + - from: onDemandType + to: [platform, resource] + type: [STRING, STRING] + extract_regex: '([^:]+):(?:.*:)?(.*)' + + onDemand_evict: + rename: clouddriver/cache/onDemand/evicts + kind: Timer + unit: requests + per_account: true + tags: + - providerName + change_tags: + - from: agentType + to: [account, region, agent] + type: [STRING, STRING, STRING] + extract_regex: '([^/]+)/(?:([^/\[]+)/)?(.+)' + - from: onDemandType + to: [platform, resource] + type: [STRING, STRING] + extract_regex: '([^:]+):(?:.*:)?(.*)' + + onDemand_read: + rename: clouddriver/cache/onDemand/reads + kind: Timer + unit: requests + per_account: true + tags: + - providerName + change_tags: + - from: agentType + to: [account, region, agent] + type: [STRING, STRING, STRING] + extract_regex: '([^/]+)/(?:([^/\[]+)/)?(.+)' + - from: onDemandType + to: [platform, resource] + type: [STRING, STRING] + extract_regex: '([^:]+):(?:.*:)?(.*)' + + onDemand_store: + rename: clouddriver/cache/onDemand/stores + kind: Timer + unit: requests + per_account: true + tags: + - providerName + change_tags: + - from: agentType + to: [account, region, agent] + type: [STRING, STRING, STRING] + extract_regex: '([^/]+)/(?:([^/\[]+)/)?(.+)' + - from: onDemandType + to: [platform, resource] + type: [STRING, STRING] + extract_regex: '([^:]+):(?:.*:)?(.*)' + + onDemand_total: + rename: clouddriver/cache/onDemand/completions + kind: Timer + unit: requests + per_account: true + tags: + - providerName + change_tags: + - from: agentType + to: [account, region, agent] + type: [STRING, STRING, STRING] + extract_regex: '([^/]+)/(?:([^/\[]+)/)?(.+)' + - from: onDemandType + to: [platform, resource] + type: [STRING, STRING] + extract_regex: '([^:]+):(?:.*:)?(.*)' + + onDemand_transform: + rename: clouddriver/cache/onDemand/transforms + kind: Timer + unit: requests + per_account: true + tags: + - providerName + change_tags: + - from: agentType + to: [account, region, agent] + type: [STRING, STRING, STRING] + extract_regex: '([^/]+)/(?:([^/\[]+)/)?(.+)' + - from: onDemandType + to: [platform, resource] + type: [STRING, STRING] + extract_regex: '([^:]+):(?:.*:)?(.*)' + + operations: + rename: clouddriver/operations + kind: Timer + docs: Records time performing operations performed and their outcome. + unit: operations + tags: + - cause + change_tags: + - from: OperationType + to: operationType + type: STRING + - from: success + to: success + type: BOOL + + orca.task.result: + rename: orca/task/finished + kind: Counter + docs: number of tasks completed + unit: tasks + tags: + - task + change_tags: + - from: status + to: finalStatus + type: STRING + + pipelines.triggered: + rename: workflow/trigger/calls + kind: Counter + docs: Number of pipelines triggered for execution. + unit: pipelines + per_application: true + tags: + - monitor + + pollingMonitor.failed: + rename: monitor/polling/failures + kind: Counter + docs: The number of polling attempts that failed. + unit: errors + tags: + - partition + - monitor + + pollingMonitor.itemsOverThreshold: + rename: monitor/polling/excessItems + kind: Gauge + docs: Indicates the excess number of items over the threshold for + "too many" that were discovered while polling. + When over the threshold, events are not sent. + unit: items + tags: + - partition + - monitor + + pollingMonitor.newItems: + rename: monitor/polling/newItems + kind: Gauge + docs: Indicates the number of new items last discovered while polling. + unit: items + tags: + - partition + - monitor + + prometheus.fetchTime: + rename: canary/repository/prometheus/fetch + kind: Timer + docs: Records how long it took to query prometheus for data. + unit: requests + tags: # None + + queue.acknowledged.messages: + rename: queue/message/acked + kind: Counter + docs: Number of pushed messages that were ACK'd. + unit: messages + tags: # None + + queue.dead.messages: + rename: queue/message/dead + kind: Counter + docs: Number of messages that were lost in the queue. + This is usually due to a race condition if the process is + terminated while processing it. + unit: messages + tags: # None + + queue.depth: + rename: queue/message/depth + kind: Gauge + docs: Number of messages currentinly in the queue. + unit: messages + tags: # None + + queue.message.lag: + rename: queue/message/lag + kind: Timer + docs: Records amount of time ACK'd messages are idle before + processing starts. + unit: messages + tags: # None + + queue.orphaned.messages: + rename: queue/message/orphaned + kind: Gauge + docs: Number of queued messages that ???? + unit: messages + tags: # None + + queue.pushed.messages: + rename: queue/message/pushed + kind: Counter + docs: Number of messages added into the queue. + unit: messages + per_application: true + tags: # None + + queue.ready.depth: + rename: queue/message/ready + kind: Gauge + docs: Number of ACK'd messages in the queue waiting to be processed. + tags: # None + + queue.retried.messages: + rename: queue/message/retried + kind: Counter + docs: Counts number of messages that had to attempt processing + multiple times. Each multiple attempt is counting. + unit: messages + tags: # None + + queue.unacked.depth: + rename: queue/message/unacked + kind: Gauge + docs: Number of messages in the queue that have not yet been ACK'd + unit: messages + tags: # None + + rateLimit.throttling: + rename: service/throttling/count + kind: Counter + docs: Records how many times rate limiter throttled service requests. + unit: requests + tags: # None + + stackdriver.fetchTime: + rename: canary/repository/stackdriver/fetch + kind: Timer + docs: Records how long it took to query stackdriver for data. + unit: requests + tags: + - location + - project + + stage.invocations: + rename: workflow/stage/calls + kind: Counter + docs: Number times a stage was executed. + unit: requests + per_application: true + tags: + - type + - cloudProvider + + stage.invocations.duration: + rename: workflow/stage/durationBucket + kind: Counter + docs: Bucketed duration of each stage invocation. + unit: requests + per_application: true + tags: + - bucket + - cloudProvider + change_tags: + - from: stageType + to: type + type: STRING + - from: status + to: finalStatus + type: STRING + + storageServiceSupport.autoRefreshTime: + rename: front50/cache/refresh + kind: Timer + docs: Records time spent during refreshes when querying the cache. + If "scheduled" is true then it was a scheduled refresh, + else on demand trying to query a stale cache. + unit: requests + tags: + - objectType + add_tags: + scheduled: false + + storageServiceSupport.cacheAge: + rename: front50/cache/age + kind: Gauge + docs: Number of millseconds since the last cache refresh + of the given objectType. + tags: + - objectType + + storageServiceSupport.cacheSize: + rename: front50/cache/size + kind: Gauge + docs: Time since cache was updated. + unit: items + tags: + - objectType + + storageServiceSupport.numAdded: + rename: front50/cache/added + kind: Counter + docs: Number of items added into the cache. + unit: items + tags: + - objectType + + storageServiceSupport.numRemoved: + rename: front50/cache/removed + kind: Counter + docs: Number of items removed from the cache. + unit: items + tags: + - objectType + + storageServiceSupport.numUpdated: + rename: front50/cache/update + kind: Counter + docs: Number of updates to items already in the cache. + unit: items + tags: + - objectType + + storageServiceSupport.scheduledRefreshTime: + rename: front50/cache/refresh + kind: Timer + docs: Records time spent during refreshes when querying the cache. + If "scheduled" is true then it was a scheduled refresh, + else on demand trying to query a stale cache. + unit: requests + tags: + - objectType + add_tags: + scheduled: true + + task.completions.duration.withType: + rename: workflow/task/execution/completions/withType + kind: Timer + unit: tasks + docs: Records time needed to complete the whole execution, as opposed + to an individual invocation. + per_account: true + tags: + - cloudProvider + - region + - taskType + - executionType + change_tags: + - from: isComplete + to: finished + type: BOOL + - from: status + to: finalStatus + type: STRING + + task.invocations.duration.withType: + rename: workflow/task/invocation/completions/withType + kind: Timer + docs: Records time needed to complete an individual invocation + as opposed to the entire execution. + unit: tasks + per_account: true + tags: + - cloudProvider + - region + - taskType + - executionType + change_tags: + - from: isComplete + to: finished + type: BOOL + - from: status + to: finalStatus + type: STRING + + tasks: + rename: clouddriver/task/finished + kind: Counter + docs: Number of tasks processed. + unit: tasks + change_tags: + - from: success + to: success + type: BOOL + + threadpool.activeCount: + rename: threadpool/activeThreads + kind: Gauge + docs: Number of active threads + unit: threads + change_tags: + - from: id + to: pool + type: STRING + + threadpool.blockingQueueSize: + rename: threadpool/blockedSize + kind: Gauge + docs: Number of requests waiting to be scheduled into the pool. + unit: requests + change_tags: + - from: id + to: pool + type: STRING + + threadpool.poolSize: + rename: threadpool/size + kind: Gauge + docs: Number of threads in the pool. + unit: threads + change_tags: + - from: id + to: pool + type: STRING + + trigger.errors: + rename: workflow/trigger/errors + kind: Counter + docs: Number of errors encountered processing triggered pipelines. + unit: errors + tags: # None + + + # These are speculative + redis.command.latency.del: + rename: external/redis/completions + kind: PercentileTimer + docs: Measures latency for redis command + unit: requests + add_tags: + method: del + tags: + - poolName + change_tags: + - from: success + to: success + type: BOOL + - from: pipelined + to: pipelined + type: BOOL + + redis.command.latency.eval: + rename: external/redis/completions + kind: PercentileTimer + docs: Measures latency for redis command + unit: requests + add_tags: + method: eval + tags: + - poolName + change_tags: + - from: success + to: success + type: BOOL + - from: pipelined + to: pipelined + type: BOOL + + redis.command.latency.exists: + rename: external/redis/completions + kind: PercentileTimer + docs: Measures latency for redis command + unit: requests + add_tags: + method: exists + tags: + - poolName + change_tags: + - from: success + to: success + type: BOOL + - from: pipelined + to: pipelined + type: BOOL + + redis.command.latency.expire: + rename: external/redis/completions + kind: PercentileTimer + docs: Measures latency for redis command + unit: requests + add_tags: + method: expire + tags: + - poolName + change_tags: + - from: success + to: success + type: BOOL + - from: pipelined + to: pipelined + type: BOOL + + redis.command.latency.get: + rename: external/redis/completions + kind: PercentileTimer + docs: Measures latency for redis command + unit: requests + add_tags: + method: get + tags: + - poolName + change_tags: + - from: success + to: success + type: BOOL + - from: pipelined + to: pipelined + type: BOOL + + redis.command.latency.hdel: + rename: external/redis/completions + kind: PercentileTimer + docs: Measures latency for redis command + unit: requests + add_tags: + method: hdel + tags: + - poolName + change_tags: + - from: success + to: success + type: BOOL + - from: pipelined + to: pipelined + type: BOOL + + redis.command.latency.hget: + rename: external/redis/completions + kind: PercentileTimer + docs: Measures latency for redis command + unit: requests + add_tags: + method: hget + tags: + - poolName + change_tags: + - from: success + to: success + type: BOOL + - from: pipelined + to: pipelined + type: BOOL + + redis.command.latency.hgetAll: + rename: external/redis/completions + kind: PercentileTimer + docs: Measures latency for redis command + unit: requests + add_tags: + method: hgetAll + tags: + - poolName + change_tags: + - from: success + to: success + type: BOOL + - from: pipelined + to: pipelined + type: BOOL + + redis.command.latency.hmget: + rename: external/redis/completions + kind: PercentileTimer + docs: Measures latency for redis command + unit: requests + add_tags: + method: hmget + tags: + - poolName + change_tags: + - from: success + to: success + type: BOOL + - from: pipelined + to: pipelined + type: BOOL + + redis.command.latency.hmset: + rename: external/redis/completions + kind: PercentileTimer + docs: Measures latency for redis command + unit: requests + add_tags: + method: hmset + tags: + - poolName + change_tags: + - from: success + to: success + type: BOOL + - from: pipelined + to: pipelined + type: BOOL + + redis.command.latency.hset: + rename: external/redis/completions + kind: PercentileTimer + docs: Measures latency for redis command + unit: requests + add_tags: + method: hset + tags: + - poolName + change_tags: + - from: success + to: success + type: BOOL + - from: pipelined + to: pipelined + type: BOOL + + redis.command.latency.lindex: + rename: external/redis/completions + kind: PercentileTimer + docs: Measures latency for redis command + unit: requests + add_tags: + method: lindex + tags: + - poolName + change_tags: + - from: success + to: success + type: BOOL + - from: pipelined + to: pipelined + type: BOOL + + redis.command.latency.lrange: + rename: external/redis/completions + kind: PercentileTimer + docs: Measures latency for redis command + unit: requests + add_tags: + method: lrange + tags: + - poolName + change_tags: + - from: success + to: success + type: BOOL + - from: pipelined + to: pipelined + type: BOOL + + redis.command.latency.mget: + rename: external/redis/completions + kind: PercentileTimer + docs: Measures latency for redis command + unit: requests + add_tags: + method: mget + tags: + - poolName + change_tags: + - from: success + to: success + type: BOOL + - from: pipelined + to: pipelined + type: BOOL + + redis.command.latency.mset: + rename: external/redis/completions + kind: PercentileTimer + docs: Measures latency for redis command + unit: requests + add_tags: + method: mset + tags: + - poolName + change_tags: + - from: success + to: success + type: BOOL + - from: pipelined + to: pipelined + type: BOOL + + redis.command.latency.multi: + rename: external/redis/completions + kind: PercentileTimer + docs: Measures latency for redis command + unit: requests + add_tags: + method: multi + tags: + - poolName + change_tags: + - from: success + to: success + type: BOOL + - from: pipelined + to: pipelined + type: BOOL + + redis.command.latency.ping: + rename: external/redis/completions + kind: PercentileTimer + docs: Measures latency for redis command + unit: requests + add_tags: + method: ping + tags: + - poolName + change_tags: + - from: success + to: success + type: BOOL + - from: pipelined + to: pipelined + type: BOOL + + redis.command.latency.pipelined: + rename: external/redis/completions + kind: PercentileTimer + docs: Measures latency for redis command + unit: requests + add_tags: + method: pipelined + tags: + - poolName + change_tags: + - from: success + to: success + type: BOOL + - from: pipelined + to: pipelined + type: BOOL + + redis.command.latency.rpush: + rename: external/redis/completions + kind: PercentileTimer + docs: Measures latency for redis command + unit: requests + add_tags: + method: rpush + tags: + - poolName + change_tags: + - from: success + to: success + type: BOOL + - from: pipelined + to: pipelined + type: BOOL + + redis.command.latency.sadd: + rename: external/redis/completions + kind: PercentileTimer + docs: Measures latency for redis command + unit: requests + add_tags: + method: sadd + tags: + - poolName + change_tags: + - from: success + to: success + type: BOOL + - from: pipelined + to: pipelined + type: BOOL + + redis.command.latency.set: + rename: external/redis/completions + kind: PercentileTimer + docs: Measures latency for redis command + unit: requests + add_tags: + method: set + tags: + - poolName + change_tags: + - from: success + to: success + type: BOOL + - from: pipelined + to: pipelined + type: BOOL + + redis.command.latency.setnx: + rename: external/redis/completions + kind: PercentileTimer + docs: Measures latency for redis command + unit: requests + add_tags: + method: setnx + tags: + - poolName + change_tags: + - from: success + to: success + type: BOOL + - from: pipelined + to: pipelined + type: BOOL + + redis.command.latency.smembers: + rename: external/redis/completions + kind: PercentileTimer + docs: Measures latency for redis command + unit: requests + add_tags: + method: smembers + tags: + - poolName + change_tags: + - from: success + to: success + type: BOOL + - from: pipelined + to: pipelined + type: BOOL + + redis.command.latency.srem: + rename: external/redis/completions + kind: PercentileTimer + docs: Measures latency for redis command + unit: requests + add_tags: + method: srem + tags: + - poolName + change_tags: + - from: success + to: success + type: BOOL + - from: pipelined + to: pipelined + type: BOOL + + redis.command.latency.sscan: + rename: external/redis/completions + kind: PercentileTimer + docs: Measures latency for redis command + unit: requests + add_tags: + method: sscan + tags: + - poolName + change_tags: + - from: success + to: success + type: BOOL + - from: pipelined + to: pipelined + type: BOOL + + redis.command.latency.zadd: + rename: external/redis/completions + kind: PercentileTimer + docs: Measures latency for redis command + unit: requests + add_tags: + method: zadd + tags: + - poolName + change_tags: + - from: success + to: success + type: BOOL + - from: pipelined + to: pipelined + type: BOOL + + redis.command.latency.zrevange: + rename: external/redis/completions + kind: PercentileTimer + docs: Measures latency for redis command + unit: requests + add_tags: + method: zrevrange + tags: + - poolName + change_tags: + - from: success + to: success + type: BOOL + - from: pipelined + to: pipelined + type: BOOL + + redis.command.payloadSize.eval: + rename: external/redis/payloadSize + kind: PercentileDistributionSummary + docs: Measures payload size for redis command + unit: requests + add_tags: + method: eval + tags: + - poolName + change_tags: + - from: success + to: success + type: BOOL + - from: pipelined + to: pipelined + type: BOOL + + redis.command.payloadSize.hset: + rename: external/redis/payloadSize + kind: PercentileDistributionSummary + docs: Measures payload size for redis command + unit: requests + add_tags: + method: hset + tags: + - poolName + change_tags: + - from: success + to: success + type: BOOL + - from: pipelined + to: pipelined + type: BOOL + + redis.command.payloadSize.hmset: + rename: external/redis/payloadSize + kind: PercentileDistributionSummary + docs: Measures payload size for redis command + unit: requests + add_tags: + method: hmset + tags: + - poolName + change_tags: + - from: success + to: success + type: BOOL + - from: pipelined + to: pipelined + type: BOOL + + redis.command.payloadSize.mset: + rename: external/redis/payloadSize + kind: PercentileDistributionSummary + docs: Measures payload size for redis command + unit: requests + add_tags: + method: mset + tags: + - poolName + change_tags: + - from: success + to: success + type: BOOL + - from: pipelined + to: pipelined + type: BOOL + + redis.command.payloadSize.rpush: + rename: external/redis/payloadSize + kind: PercentileDistributionSummary + docs: Measures payload size for redis command + unit: requests + add_tags: + method: rpush + tags: + - poolName + change_tags: + - from: success + to: success + type: BOOL + - from: pipelined + to: pipelined + type: BOOL + + redis.command.payloadSize.sadd: + rename: external/redis/payloadSize + kind: PercentileDistributionSummary + docs: Measures payload size for redis command + unit: requests + add_tags: + method: sadd + tags: + - poolName + change_tags: + - from: success + to: success + type: BOOL + - from: pipelined + to: pipelined + type: BOOL + + redis.command.payloadSize.set: + rename: external/redis/payloadSize + kind: PercentileDistributionSummary + docs: Measures payload size for redis command + unit: requests + add_tags: + method: set + tags: + - poolName + change_tags: + - from: success + to: success + type: BOOL + - from: pipelined + to: pipelined + type: BOOL + + redis.command.payloadSize.setnx: + rename: external/redis/payloadSize + kind: PercentileDistributionSummary + docs: Measures payload size for redis command + unit: requests + add_tags: + method: setnx + tags: + - poolName + change_tags: + - from: success + to: success + type: BOOL + - from: pipelined + to: pipelined + type: BOOL + + redis.command.payloadSize.srem: + rename: external/redis/payloadSize + kind: PercentileDistributionSummary + docs: Measures payload size for redis command + unit: requests + add_tags: + method: srem + tags: + - poolName + change_tags: + - from: success + to: success + type: BOOL + - from: pipelined + to: pipelined + type: BOOL diff --git a/spinnaker-monitoring-daemon/experimental/spinnaker-monitoring-local.yml b/spinnaker-monitoring-daemon/experimental/spinnaker-monitoring-local.yml new file mode 100644 index 0000000..0604b82 --- /dev/null +++ b/spinnaker-monitoring-daemon/experimental/spinnaker-monitoring-local.yml @@ -0,0 +1,36 @@ +prometheus: + # By default, for historical reasons, spinnaker uses ':' as a hierarchical + # separator in prometheus metric names. This is non-0standard for prometheus + # and, in fact, unadvised. + # + # Setting this option to True will use standard notation ('_') instead of ':'. + # Note that this is incompmatible with the published dashboards however is + # required for the experimental dashboards. + use_standard_notation: True + +datadog: + # This is false by default for historical compatability. + # If/when new dashboards are written for datadog, have them based on this + # being true. + # Historically datadog metrics were written without types, meaning they were + # gauges. By setting this to true, meter type information will be reported so + # spectator counters will become datadog counters. + # use_types: true + +spectator: + # Do not decorate metric names with a service prefix. + # This is true by default for historic compatability, however + # is no longer needed/desired given the spin_* tags. + decorate_metric_name: false + + # Do not alias service names to their base service names. + # When true this would turn "clouddriver-readonly" to "clouddriver" + # When false this leaves "clouddriver-readonly" as is. + # This is true by default for historic compatability, however + # is no longer needed/desired given the spin_* tags. + use_base_service_name_only: false + + # Adds spin_service and spin_variant tags for each metric + # This also changes the defaults of + # decorate_metric_name and use_base_service_name_only to "false" + inject_service_tag: true diff --git a/spinnaker-monitoring-third-party/third_party/prometheus/experimental/appengine-platform-dashboard.json b/spinnaker-monitoring-third-party/third_party/prometheus/experimental/appengine-platform-dashboard.json new file mode 100644 index 0000000..7ad8bf7 --- /dev/null +++ b/spinnaker-monitoring-third-party/third_party/prometheus/experimental/appengine-platform-dashboard.json @@ -0,0 +1,2214 @@ +{ + "__inputs": [ + { + "name": "DS_SPINNAKER", + "label": "Spinnaker", + "description": "", + "type": "datasource", + "pluginId": "prometheus", + "pluginName": "Prometheus" + } + ], + "__requires": [ + { + "type": "grafana", + "id": "grafana", + "name": "Grafana", + "version": "4.4.3" + }, + { + "type": "panel", + "id": "graph", + "name": "Graph", + "version": "" + }, + { + "type": "datasource", + "id": "prometheus", + "name": "Prometheus", + "version": "1.0.0" + } + ], + "annotations": { + "list": [] + }, + "editable": true, + "gnetId": null, + "graphTooltip": 0, + "id": null, + "links": [], + "panels": [ + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 0 + }, + "id": 74, + "panels": [], + "repeat": null, + "title": "Deploy Errors", + "type": "row" + }, + { + "aliasColors": {}, + "bars": true, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 7, + "w": 12, + "x": 0, + "y": 1 + }, + "id": 62, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": false, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": true, + "steppedLine": true, + "targets": [ + { + "expr": "sum($Function(platform_appengine_deploy_completions__count_total{instance=~\"$Instance\",success!=\"true\"}[$SamplePeriod])) by (region)", + "format": "time_series", + "hide": false, + "intervalFactor": 2, + "legendFormat": "{{region}}", + "metric": "", + "refId": "A", + "step": 30 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Deployment Failures by Region (clouddriver, $Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "transparent": false, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": true, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 7, + "w": 12, + "x": 12, + "y": 1 + }, + "id": 111, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": false, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": true, + "steppedLine": true, + "targets": [ + { + "expr": "sum($Function(platform_appengine_repository_downloads__count_total{instance=~\"$Instance\", success!=\"true\"}[$SamplePeriod])) by (repositoryType)", + "format": "time_series", + "hide": false, + "intervalFactor": 2, + "legendFormat": "{{repositoryType}}", + "metric": "", + "refId": "A", + "step": 30 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Download Failures by RepositoryType/Region (clouddriver, $Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "transparent": false, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 8 + }, + "id": 113, + "panels": [], + "title": "Deployments", + "type": "row" + }, + { + "aliasColors": {}, + "bars": true, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 4, + "w": 12, + "x": 0, + "y": 9 + }, + "id": 116, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": false, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": true, + "steppedLine": true, + "targets": [ + { + "expr": "sum($Function(platform_appengine_deploy_calls_total{instance=~\"$Instance\",region=~\"$GaeRegion\"}[$SamplePeriod])) by (region)", + "format": "time_series", + "hide": false, + "intervalFactor": 2, + "legendFormat": "{{region}}", + "metric": "", + "refId": "A", + "step": 30 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Attempts By Region (clouddriver, $Instance, $GaeRegion)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "transparent": false, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": true, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 10, + "w": 12, + "x": 12, + "y": 9 + }, + "id": 115, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": false, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": true, + "steppedLine": true, + "targets": [ + { + "expr": "sum($Function(platform_appengine_deploy_completions__totalTime_total{instance=~\"$Instance\",region=~\"$GaeRegion\",success=\"true\"}[$SamplePeriod])) by (region) / sum($Function(platform_appengine_deploy_completions__count_total{instance=~\"$Instance\",region=~\"$GaeRegion\",success=\"true\"}[$SamplePeriod])) by (region)", + "format": "time_series", + "hide": false, + "intervalFactor": 2, + "legendFormat": "{{region}}/OK", + "metric": "", + "refId": "A", + "step": 30 + }, + { + "expr": "sum($Function(platform_appengine_deploy_completions__totalTime_total{instance=~\"$Instance\",region=~\"$GaeRegion\",success!=\"true\"}[$SamplePeriod])) by (region) / sum($Function(platform_appengine_deploy_completions__count_total{instance=~\"$Instance\",region=~\"$GaeRegion\",success!=\"true\"}[$SamplePeriod])) by (region)", + "format": "time_series", + "hide": false, + "intervalFactor": 2, + "legendFormat": "{{region}}/FAIL", + "metric": "", + "refId": "B", + "step": 30 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Deployments Time By Region (clouddriver, $Instance, $GaeRegion)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "transparent": false, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": true, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 6, + "w": 12, + "x": 0, + "y": 13 + }, + "id": 114, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": false, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": true, + "steppedLine": true, + "targets": [ + { + "expr": "sum($Function(platform_appengine_deploy_completions__count_total{instance=~\"$Instance\",region=~\"$GaeRegion\",success=\"true\"}[$SamplePeriod])) by (region)", + "format": "time_series", + "hide": false, + "intervalFactor": 2, + "legendFormat": "{{region}}/OK", + "metric": "", + "refId": "A", + "step": 30 + }, + { + "expr": "sum($Function(platform_appengine_deploy_completions__count_total{instance=~\"$Instance\",region=~\"$GaeRegion\",success!=\"true\"}[$SamplePeriod])) by (region)", + "format": "time_series", + "hide": false, + "intervalFactor": 2, + "legendFormat": "{{region}}/FAIL", + "metric": "", + "refId": "B", + "step": 30 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Deployments By Region (clouddriver, $Instance, $GaeRegion)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "transparent": false, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 19 + }, + "id": 78, + "panels": [], + "repeat": null, + "title": "Repository Downloads", + "type": "row" + }, + { + "aliasColors": {}, + "bars": true, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 6, + "w": 12, + "x": 0, + "y": 20 + }, + "id": 57, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": false, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": true, + "steppedLine": true, + "targets": [ + { + "expr": "sum($Function(platform_appengine_repository_downloads__count_total{instance=~\"$Instance\"}[$SamplePeriod])) by (repositoryType)", + "format": "time_series", + "hide": false, + "intervalFactor": 2, + "legendFormat": "{{repositoryType}}", + "metric": "", + "refId": "A", + "step": 30 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Repository Downloads by Repository Type (clouddriver, $Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "transparent": false, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 6, + "w": 12, + "x": 12, + "y": 20 + }, + "id": 61, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(rate(platform_appengine_repository_downloads__totalTime_total{instance=~\"$Instance\"}[$SamplePeriod])) by (repositoryType) / sum(rate(platform_appengine_repository_downloads__count_total{instance=~\"$Instance\"}[$SamplePeriod])) by (repositoryType)", + "format": "time_series", + "hide": false, + "intervalFactor": 2, + "legendFormat": "{{repositoryType}}", + "metric": "", + "refId": "A", + "step": 30 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Download Time by Repository Type (clouddriver, $Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "transparent": false, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 26 + }, + "id": 102, + "panels": [], + "title": "OnDemand Cache Performance", + "type": "row" + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 6, + "w": 14, + "x": 0, + "y": 27 + }, + "id": 105, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "avg(label_replace($Function(clouddriver_cache_onDemand_completions__count_total{instance=~\"$Instance\", platform=\"appengine\", region=~\"$GaeRegion\"}[$SamplePeriod]), \"agent\", \"$1\", \"agent\", \"Appengine(.*)CachingAgent.*\")) by (agent, region)", + "format": "time_series", + "hide": false, + "intervalFactor": 1, + "legendFormat": "{{agent}}/{{region}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Avg OnDemand Completions by Agent/Region ($Instance, $GaeRegion)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 4, + "w": 10, + "x": 14, + "y": 27 + }, + "id": 100, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(rate(clouddriver_cache_onDemand_errors_total{instance=~\"$Instance\", platform=\"appengine\"}[$SamplePeriod])/rate(clouddriver_cache_onDemand_calls_total{instance=~\"$Instance\", platform=\"appengine\"}[$SamplePeriod])) by (resource, region)", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "{{resource}}/{{region}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "On Demand Error Percent by Resource", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "percentunit", + "label": null, + "logBase": 1, + "max": "1.25", + "min": null, + "show": true + }, + { + "format": "percentunit", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 4, + "w": 10, + "x": 14, + "y": 31 + }, + "id": 107, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "avg(label_replace($Function(clouddriver_cache_onDemand_errors_total{instance=~\"$Instance\", platform=\"appengine\", region=~\"$GaeRegion\"}[$SamplePeriod]), \"agent\", \"$1\", \"agent\", \"Appengine(.*)CachingAgent.*\")) by (agent, region)", + "format": "time_series", + "hide": false, + "intervalFactor": 1, + "legendFormat": "{{agent}}/{{region}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Avg OnDemand Errors by Agent/Region ($Instance, $GaeRegion)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 10, + "w": 14, + "x": 0, + "y": 33 + }, + "id": 106, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "avg(label_replace(rate(clouddriver_cache_onDemand_completions__totalTime_total{instance=~\"$Instance\", platform=\"appengine\", region=~\"$GaeRegion\"}[$SamplePeriod]) / rate(clouddriver_cache_onDemand_completions__count_total{instance=~\"$Instance\", platform=\"appengine\", region!=\"\"}[$SamplePeriod]), \"agent\", \"$1\", \"agent\", \"Appengine(.*)CachingAgent.*\")) by (agent, region)", + "format": "time_series", + "hide": false, + "intervalFactor": 1, + "legendFormat": "{{agent}}/{{region}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Avg OnDemand Completion Time by Agent/Region ($Instance, $GaeRegion)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 4, + "w": 10, + "x": 14, + "y": 35 + }, + "id": 109, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "avg(label_replace($Function(clouddriver_cache_onDemand_completions__count_total{instance=~\"$Instance\", platform=\"appengine\", region=~\"$GaeRegion\"}[$SamplePeriod]) - $Function(clouddriver_cache_onDemand_completions__count_total{instance=~\"$Instance\", platform=\"appengine\", region=~\"$GaeRegion\"}[$SamplePeriod]), \"agent\", \"$1\", \"agent\", \"Appengine(.*)CachingAgent.*\")) by (agent, region)", + "format": "time_series", + "hide": false, + "intervalFactor": 1, + "legendFormat": "{{agent}}/{{region}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Avg OnDemand Skips by Agent/Region ($Instance, $GaeRegion)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 4, + "w": 10, + "x": 14, + "y": 39 + }, + "id": 108, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "avg(label_replace($Function(clouddriver_cache_onDemand_calls_total{instance=~\"$Instance\", platform=\"appengine\", region=~\"$GaeRegion\"}[$SamplePeriod]), \"agent\", \"$1\", \"agent\", \"Appengine(.*)CachingAgent.*\")) by (agent, region)", + "format": "time_series", + "hide": false, + "intervalFactor": 1, + "legendFormat": "{{agent}}/{{region}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Avg OnDemand Attempts by Agent/Region ($Instance, $GaeRegion)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 43 + }, + "id": 97, + "panels": [], + "title": "Caching Performance", + "type": "row" + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 9, + "w": 12, + "x": 0, + "y": 44 + }, + "id": 110, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "label_replace($Function(clouddriver_cache_execution_successful__count_total{instance=~\"$Instance\", provider=~\".*appengine.provider.*\", region=\"\"}[$SamplePeriod]), \"name\", \"$1\", \"agent\", \"Appengine(.*)CachingAgent\")", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "{{name}}", + "refId": "A" + }, + { + "expr": "avg(label_replace($Function(clouddriver_cache_execution_successful__count_total{instance=~\"$Instance\", provider=~\".*appengine.provider.*\", region!=\"\"}[$SamplePeriod]), \"name\", \"$1\", \"agent\", \"Appengine(.*)CachingAgent\")) by (region, name)", + "format": "time_series", + "hide": false, + "instant": true, + "intervalFactor": 1, + "legendFormat": "{{name}}/{{region}}", + "refId": "B" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Avg CachingAgent Executions by Resource/Region", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 9, + "w": 12, + "x": 12, + "y": 44 + }, + "id": 99, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "label_replace(rate(clouddriver_cache_execution_successful__totalTime_total{instance=~\"$Instance\", provider=~\".*appengine.provider.*\", region=~\"$GaeRegion\"}[$SamplePeriod]) / rate(clouddriver_cache_execution_successful__count_total{instance=~\"$Instance\", provider=~\".*appengine.provider.*\", region=\"\"}[$SamplePeriod]), \"name\", \"$1\", \"agent\", \"Appengine(.*)CachingAgent\")", + "format": "time_series", + "hide": false, + "intervalFactor": 1, + "legendFormat": "{{name}}", + "refId": "A" + }, + { + "expr": "avg(label_replace(rate(clouddriver_cache_execution_successful__totalTime_total{instance=~\"$Instance\", provider=~\".*appengine.provider.*\", region=~\"$GaeRegion\"}[$SamplePeriod]) / rate(clouddriver_cache_execution_successful__count_total{instance=~\"$Instance\", provider=~\".*appengine.provider.*\", region!=\"\"}[$SamplePeriod]), \"name\", \"$1\", \"agent\", \"Appengine(.*)CachingAgent\")) by (region, name)", + "format": "time_series", + "hide": false, + "intervalFactor": 1, + "legendFormat": "{{name}}/{{region}}", + "refId": "B" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Avg CachingAgent Execution Time by Resource/Region ($Instance, $GaeRegion)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 53 + }, + "id": 86, + "panels": [], + "title": "CATS Keys", + "type": "row" + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 9, + "w": 8, + "x": 0, + "y": 54 + }, + "id": 93, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "avg($Function(clouddriver_cache_redis_get_keys_total{instance=~\"$Instance\",platform=\"appengine\"}[$SamplePeriod])) by (resourceType, spin_variant)", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "{{resourceType}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Avg CATS Keys Requested", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 9, + "w": 8, + "x": 8, + "y": 54 + }, + "id": 89, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "avg($Function(clouddriver_cache_redis_merge_keys_total{instance=~\"$Instance\",platform=\"appengine\"}[$SamplePeriod])) by (resourceType, spin_variant)", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "{{resourceType}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Avg CATS Keys Merged", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "transparent": false, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 9, + "w": 8, + "x": 16, + "y": 54 + }, + "id": 90, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "avg($Function(clouddriver_cache_redis_evict_keys_total{instance=~\"$Instance\",platform=\"appengine\"}[$SamplePeriod])) by (resourceType, spin_variant)", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "{{resourceType}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Avg CATS Keys Evicted", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 63 + }, + "id": 92, + "panels": [], + "title": "CATS Items", + "type": "row" + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 9, + "w": 8, + "x": 0, + "y": 64 + }, + "id": 88, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "avg($Function(clouddriver_cache_redis_get_items_total{instance=~\"$Instance\",platform=\"appengine\"}[$SamplePeriod])) by (resourceType, spin_variant)", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "{{resourceType}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Avg CATS Items Requested", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 9, + "w": 8, + "x": 8, + "y": 64 + }, + "id": 94, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "avg($Function(clouddriver_cache_redis_merge_items_total{instance=~\"$Instance\",platform=\"appengine\"}[$SamplePeriod])) by (resourceType, spin_variant)", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "{{resourceType}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Avg CATS Items Merged", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 9, + "w": 8, + "x": 16, + "y": 64 + }, + "id": 95, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "avg($Function(clouddriver_cache_redis_evict_items_total{instance=~\"$Instance\",platform=\"appengine\"}[$SamplePeriod])) by (resourceType, spin_variant)", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "{{resourceType}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Avg CATS Items Evicted", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + } + ], + "refresh": "30s", + "schemaVersion": 16, + "style": "dark", + "tags": [ + "spinnaker", + "appengine" + ], + "templating": { + "list": [ + { + "allValue": ".*", + "current": { + "text": "All", + "value": "$__all" + }, + "datasource": "${DS_SPINNAKER}", + "definition": "", + "hide": 0, + "includeAll": true, + "label": null, + "multi": false, + "name": "GaeRegion", + "options": [], + "query": "label_values(platform_appengine_deploy_calls_total, region)", + "refresh": 2, + "regex": "", + "skipUrlSync": false, + "sort": 1, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "allValue": ".*", + "current": { + "text": "All", + "value": "$__all" + }, + "datasource": "${DS_SPINNAKER}", + "definition": "", + "hide": 0, + "includeAll": true, + "label": "Clouddriver", + "multi": false, + "name": "Instance", + "options": [], + "query": "label_values(platform_appengine_deploy_calls_total, instance)", + "refresh": 2, + "regex": "", + "skipUrlSync": false, + "sort": 1, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "allValue": null, + "current": { + "selected": true, + "tags": [], + "text": "Delta", + "value": "delta" + }, + "hide": 0, + "includeAll": false, + "label": null, + "multi": false, + "name": "Function", + "options": [ + { + "selected": true, + "text": "Delta", + "value": "delta" + }, + { + "selected": false, + "text": "Rate", + "value": "rate" + }, + { + "selected": false, + "text": "Instant Delta", + "value": "idelta" + }, + { + "selected": false, + "text": "Instant Rate", + "value": "irate" + } + ], + "query": "delta,rate,idelta,irate", + "skipUrlSync": false, + "type": "custom" + }, + { + "auto": false, + "auto_count": 30, + "auto_min": "10s", + "current": { + "text": "1m", + "value": "1m" + }, + "hide": 0, + "label": "Sample Period", + "name": "SamplePeriod", + "options": [ + { + "selected": true, + "text": "1m", + "value": "1m" + }, + { + "selected": false, + "text": "5m", + "value": "5m" + }, + { + "selected": false, + "text": "10m", + "value": "10m" + }, + { + "selected": false, + "text": "15m", + "value": "15m" + }, + { + "selected": false, + "text": "30m", + "value": "30m" + }, + { + "selected": false, + "text": "1h", + "value": "1h" + } + ], + "query": "1m,5m,10m,15m,30m,1h", + "refresh": 2, + "skipUrlSync": false, + "type": "interval" + } + ] + }, + "time": { + "from": "now-3h", + "to": "now" + }, + "timepicker": { + "refresh_intervals": [ + "5s", + "10s", + "30s", + "1m", + "5m", + "15m", + "30m", + "1h", + "2h", + "1d" + ], + "time_options": [ + "5m", + "15m", + "1h", + "6h", + "12h", + "24h", + "2d", + "7d", + "30d" + ] + }, + "timezone": "browser", + "title": "Appengine Spinnaker Platform", + "version": 1 +} diff --git a/spinnaker-monitoring-third-party/third_party/prometheus/experimental/aws-platform-dashboard.json b/spinnaker-monitoring-third-party/third_party/prometheus/experimental/aws-platform-dashboard.json new file mode 100644 index 0000000..83a1f0f --- /dev/null +++ b/spinnaker-monitoring-third-party/third_party/prometheus/experimental/aws-platform-dashboard.json @@ -0,0 +1,2631 @@ +{ + "__inputs": [ + { + "name": "DS_SPINNAKER", + "label": "Spinnaker", + "description": "", + "type": "datasource", + "pluginId": "prometheus", + "pluginName": "Prometheus" + } + ], + "__requires": [ + { + "type": "grafana", + "id": "grafana", + "name": "Grafana", + "version": "4.4.3" + }, + { + "type": "panel", + "id": "graph", + "name": "Graph", + "version": "" + }, + { + "type": "datasource", + "id": "prometheus", + "name": "Prometheus", + "version": "1.0.0" + } + ], + "annotations": { + "list": [] + }, + "editable": true, + "gnetId": null, + "graphTooltip": 0, + "id": null, + "links": [], + "panels": [ + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 0 + }, + "id": 45, + "panels": [], + "title": "Request Throttling", + "type": "row" + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 7, + "w": 12, + "x": 0, + "y": 1 + }, + "id": 29, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "label_replace(sum(rate(platform_aws_api_throttled_total{instance=~\"$Instance\",spin_service=\"clouddriver\",statusCode=\"-1\"}[$SamplePeriod])) by (serviceName) , \"serviceName\", \"$1\", \"serviceName\", \"Amazon(.+)\")", + "hide": false, + "intervalFactor": 2, + "legendFormat": "{{serviceName}} / UNK", + "metric": "", + "refId": "A", + "step": 10 + }, + { + "expr": "label_replace(sum(rate(platform_aws_api_throttled_total{instance=~\"$Instance\",spin_service=\"clouddriver\"}[$SamplePeriod])) by (serviceName, statusCode) , \"serviceName\", \"$1\", \"serviceName\", \"Amazon(.+)\")", + "hide": false, + "intervalFactor": 2, + "legendFormat": "{{serviceName}} / {statusCode}", + "metric": "", + "refId": "B", + "step": 10 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "AWS Throttling by Service (clouddriver, $Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "ms", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 7, + "w": 12, + "x": 12, + "y": 1 + }, + "id": 43, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(rate(platform_aws_api_throttled_total{instance=~\"$Instance\",spin_service=\"clouddriver\",statusCode=\"-1\"}[$SamplePeriod])) by (requestType)", + "hide": false, + "intervalFactor": 2, + "legendFormat": "{{requestType}} / UNK", + "metric": "", + "refId": "A", + "step": 10 + }, + { + "expr": "sum(rate(platform_aws_api_throttled_total{instance=~\"$Instance\",spin_service=\"clouddriver\"}[$SamplePeriod])) by (requestType, statusCode)", + "hide": false, + "intervalFactor": 2, + "legendFormat": "{{requestType}} / {{statusCode}}", + "metric": "", + "refId": "B", + "step": 10 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "AWS Throttling by Request (clouddriver, $Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "ms", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 8 + }, + "id": 51, + "panels": [], + "title": "API Errors", + "type": "row" + }, + { + "aliasColors": {}, + "bars": true, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 7, + "w": 12, + "x": 0, + "y": 9 + }, + "id": 34, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": false, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": true, + "steppedLine": false, + "targets": [ + { + "expr": "sum($Function(platform_aws_api_http_completions__count_total{instance=~\"$Instance\",spin_service=\"clouddriver\",serviceEndpoint=~\".*$AwsRegion.*\",success!=\"true\"}[$SamplePeriod])) by (region, statusCode)", + "intervalFactor": 2, + "legendFormat": "{{region}} / {{statusCode}}", + "metric": "", + "refId": "A", + "step": 10 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "AWS Errors by Region (clouddriver, $Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": true, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 7, + "w": 12, + "x": 12, + "y": 9 + }, + "id": 38, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": false, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": true, + "steppedLine": false, + "targets": [ + { + "expr": "label_replace(label_replace(sum($Function(platform_aws_api_http_completions__count_total{instance=~\"$Instance\",serviceEndpoint=~\".*$AwsRegion.*\",success!=\"true\"}[$SamplePeriod])) by (requestType, serviceName, statusCode, AWSErrorCode), \"requestType\", \"$1\", \"requestType\", \"(.*)Request(.*)\"), \"serviceName\", \"$1\", \"serviceName\", \"Amazon(.+)\")", + "intervalFactor": 2, + "legendFormat": "{{statusCode}}/{{serviceName}}.{{requestType}}->{{AWSErrorCode}}", + "metric": "", + "refId": "A", + "step": 10 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "AWS Errors in $AwsRegion (clouddriver, $Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 16 + }, + "id": 49, + "panels": [], + "title": "EC2 API Calls", + "type": "row" + }, + { + "aliasColors": {}, + "bars": true, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 3, + "w": 12, + "x": 0, + "y": 17 + }, + "id": 30, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": false, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": true, + "steppedLine": false, + "targets": [ + { + "expr": "sum($Function(platform_aws_api_http_completions__count_total{instance=~\"$Instance\",serviceName=\"AmazonEC2\", success=\"true\"}[$SamplePeriod])) by (region)", + "intervalFactor": 2, + "legendFormat": "{{region}}", + "metric": "", + "refId": "A", + "step": 10 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "AWS EC2 Requests by Region (clouddriver, $Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": true, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 3, + "w": 12, + "x": 12, + "y": 17 + }, + "id": 39, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": false, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": true, + "steppedLine": false, + "targets": [ + { + "expr": "label_replace(sum($Function(platform_aws_api_http_completions__count_total{instance=~\"$Instance\",serviceEndpoint=~\".*$AwsRegion.*\",serviceName=\"AmazonEC2\", success=\"true\"}[$SamplePeriod])) by (requestType, serviceName), \"requestType\", \"$1\", \"requestType\", \"(.*)Request\")", + "intervalFactor": 2, + "legendFormat": "{{requestType}}", + "metric": "", + "refId": "A", + "step": 10 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "AWS EC2 Requests in $AwsRegion (clouddriver, $Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 7, + "w": 12, + "x": 0, + "y": 20 + }, + "id": 35, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(rate(platform_aws_api_http_completions__totalTime_total{instance=~\"$Instance\",region=~\".*$AwsRegion.*\",serviceName=\"AmazonEC2\"}[$SamplePeriod])) by (region, serviceName) / sum(rate(platform_aws_api_http_completions__count_total{instance=~\"$Instance\",region=~\".$AwsRegion.*\",serviceName=\"AmazonEC2\", success=\"true\"}[$SamplePeriod])) by (region, serviceName)", + "intervalFactor": 2, + "legendFormat": "{{region}}", + "metric": "", + "refId": "A", + "step": 10 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "AWS EC2 Request Latency by Region (clouddriver, $Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 7, + "w": 12, + "x": 12, + "y": 20 + }, + "id": 41, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(rate(platform_aws_api_http_completions__totalTime_total{instance=~\"$Instance\",region=~\".*$AwsRegion.*\",serviceName=\"AmazonEC2\"}[$SamplePeriod])) by (requestType, serviceName) / sum(rate(platform_aws_api_http_completions__count_total{instance=~\"$Instance\",region=~\".$AwsRegion.*\",serviceName=\"AmazonEC2\", success=\"true\"}[$SamplePeriod])) by (requestType, serviceName)", + "intervalFactor": 2, + "legendFormat": "{{requestType}}", + "metric": "", + "refId": "A", + "step": 10 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "AWS EC2 Request Latency in $AwsRegion (clouddriver, $Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 27 + }, + "id": 47, + "panels": [], + "title": "Non-EC2 API Calls", + "type": "row" + }, + { + "aliasColors": {}, + "bars": true, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 4, + "w": 12, + "x": 0, + "y": 28 + }, + "id": 33, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": false, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": true, + "steppedLine": false, + "targets": [ + { + "expr": "sum($Function(platform_aws_api_http_completions__count_total{instance=~\"$Instance\",region=~\".*$AwsRegion.*\",serviceName!=\"AmazonEC2\", success=\"true\"}[$SamplePeriod])) by (serviceName, region)", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "{{serviceName}} / {{region}}", + "metric": "", + "refId": "A", + "step": 10 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "AWS Requests (non EC2) by Region (clouddriver, $Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": true, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 4, + "w": 12, + "x": 12, + "y": 28 + }, + "id": 40, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": false, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": true, + "steppedLine": false, + "targets": [ + { + "expr": "label_replace(sum($Function(platform_aws_api_http_completions__count_total{instance=~\"$Instance\",region=~\".*$AwsRegion.*\",serviceName!=\"AmazonEC2\", success=\"true\"}[$SamplePeriod])) by (requestType, serviceName), \"serviceName\", \"$1\", \"serviceName\", \"Amazon(.+)\")", + "intervalFactor": 2, + "legendFormat": "{{serviceName}}.{{requestType}}", + "metric": "", + "refId": "A", + "step": 10 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "AWS Requests (non EC2) in $AwsRegion (clouddriver, $Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 9, + "w": 12, + "x": 0, + "y": 32 + }, + "id": 36, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "label_replace(sum(rate(platform_aws_api_http_completions__totalTime_total{instance=~\"$Instance\",region=~\".*$AwsRegion.*\",serviceName!=\"AmazonEC2\",success=\"true\"}[$SamplePeriod])) by (region, serviceName) / sum(rate(platform_aws_api_http_completions__count_total{instance=~\"$Instance\",serviceName!=\"AmazonEC2\", region=~\".$AwsRegion.*\",success=\"true\"}[$SamplePeriod])) by (region, serviceName), \"serviceName\", \"$1\", \"serviceName\", \"Amazon(.+)\")", + "intervalFactor": 2, + "legendFormat": "{{serviceName}} / {{region}}", + "metric": "", + "refId": "A", + "step": 10 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "AWS Non-EC2 Request Latency by Region (clouddriver, $Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 9, + "w": 12, + "x": 12, + "y": 32 + }, + "id": 42, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "label_replace(label_replace(sum(rate(platform_aws_api_http_completions__totalTime_total{instance=~\"$Instance\",region=~\".*$AwsRegion.*\",serviceName!=\"AmazonEC2\"}[$SamplePeriod])) by (requestType, serviceName) / sum(rate(platform_aws_api_http_completions__count_total{serviceName!=\"AmazonEC2\", region=~\".*$AwsRegion.*\",success=\"true\"}[$SamplePeriod])) by (requestType, serviceName), \"serviceName\", \"$1\", \"serviceName\", \"Amazon(.+)\"), \"requestType\", \"$1\", \"requestType\", \"(.*)Request\")", + "intervalFactor": 2, + "legendFormat": "{{serviceName}}.{{requestType}}", + "metric": "", + "refId": "A", + "step": 10 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "AWS Non-EC2 Request Latency in $AwsRegion (clouddriver, $Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 82 + }, + "id": 102, + "panels": [], + "title": "OnDemand Cache Performance", + "type": "row" + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 6, + "w": 14, + "x": 0, + "y": 83 + }, + "id": 105, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "avg(label_replace($Function(clouddriver_cache_onDemand_completions__count_total{instance=~\"$Instance\", platform=\"aws\", region=~\"$AwsRegion\"}[$SamplePeriod]), \"agent\", \"$1\", \"agent\", \"(?:Amazon)?(.*?)(?:Caching)?Agent.*\")) by (agent, region)", + "format": "time_series", + "hide": false, + "intervalFactor": 1, + "legendFormat": "{{agent}}/{{region}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Avg OnDemand Completions by Agent/Region", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 4, + "w": 10, + "x": 14, + "y": 83 + }, + "id": 100, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(rate(clouddriver_cache_onDemand_errors_total{instance=~\"$Instance\", platform=\"aws\"}[$SamplePeriod])/rate(clouddriver_cache_onDemand_calls_total{instance=~\"$Instance\", platform=\"aws\"}[$SamplePeriod])) by (resource, region)", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "{{resource}}/{{region}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "On Demand Error Percent by Resource / Region", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "percentunit", + "label": null, + "logBase": 1, + "max": "1.25", + "min": null, + "show": true + }, + { + "format": "percentunit", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 4, + "w": 10, + "x": 14, + "y": 87 + }, + "id": 107, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "avg(label_replace($Function(clouddriver_cache_onDemand_errors_total{instance=~\"$Instance\", platform=\"aws\", region=~\"$AwsRegion\"}[$SamplePeriod]), \"agent\", \"$1\", \"agent\", \"(?:Amazon)?(.*?)(?:Caching)?Agent.*\")) by (agent, region)", + "format": "time_series", + "hide": false, + "intervalFactor": 1, + "legendFormat": "{{agent}}/{{region}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Avg OnDemand Errors by Agent/Region", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 10, + "w": 14, + "x": 0, + "y": 89 + }, + "id": 106, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "avg(label_replace(rate(clouddriver_cache_onDemand_completions__totalTime_total{instance=~\"$Instance\", platform=\"aws\", region=~\"$AwsRegion\"}[$SamplePeriod]) / rate(clouddriver_cache_onDemand_completions__count_total{instance=~\"$Instance\", platform=\"aws\", region!=\"\"}[$SamplePeriod]), \"agent\", \"$1\", \"agent\", \"(?:Amazon)?(.*?)(?:Caching)?Agent.*\")) by (agent, region)", + "format": "time_series", + "hide": false, + "intervalFactor": 1, + "legendFormat": "{{agent}}/{{region}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Avg OnDemand Completion Time by Agent/Region", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 4, + "w": 10, + "x": 14, + "y": 91 + }, + "id": 109, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "avg(label_replace($Function(clouddriver_cache_onDemand_completions__count_total{instance=~\"$Instance\", platform=\"aws\", region=~\"$AwsRegion\"}[$SamplePeriod]) - $Function(clouddriver_cache_onDemand_completions__count_total{instance=~\"$Instance\", platform=\"aws\", region=~\"$AwsRegion\"}[$SamplePeriod]), \"agent\", \"$1\", \"agent\", \"(?:Amazon)?(.*?)(?:Caching)?Agent.*\")) by (agent, region)", + "format": "time_series", + "hide": false, + "intervalFactor": 1, + "legendFormat": "{{agent}}/{{region}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Avg OnDemand Skips by Agent/Region", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 4, + "w": 10, + "x": 14, + "y": 95 + }, + "id": 108, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "avg(label_replace($Function(clouddriver_cache_onDemand_calls_total{instance=~\"$Instance\", platform=\"aws\", region=~\"$AwsRegion\"}[$SamplePeriod]), \"agent\", \"$1\", \"agent\", \"(?:Amazon)?(.*?)(?:Caching)?Agent.*\")) by (agent, region)", + "format": "time_series", + "hide": false, + "intervalFactor": 1, + "legendFormat": "{{agent}}/{{region}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Avg OnDemand Attempts by Agent/Region", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 99 + }, + "id": 97, + "panels": [], + "title": "Caching Performance", + "type": "row" + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 9, + "w": 12, + "x": 0, + "y": 100 + }, + "id": 110, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "label_replace($Function(clouddriver_cache_execution_successful__count_total{instance=~\"$Instance\", provider=~\".*aws.provider.*\", region=~\"$AwsRegion\"}[$SamplePeriod]), \"name\", \"$1$2\", \"agent\", \"(?:Amazon)?(.*?)(?:Caching)?Agent(.*)\")", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "{{name}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Avg CachingAgent Executions by Resource/Region", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 9, + "w": 12, + "x": 12, + "y": 100 + }, + "id": 99, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "label_replace(rate(clouddriver_cache_execution_successful__totalTime_total{instance=~\"$Instance\", provider=~\".*aws.provider.*\", region=~\"$AwsRegion\"}[$SamplePeriod]) / rate(clouddriver_cache_execution_successful__count_total{instance=~\"$Instance\", provider=~\".*aws.provider.*\", region=\"\"}[$SamplePeriod]), \"name\", \"$1$2\", \"agent\", \"(?:Amazon)?(.*?)(?:Caching)?Agent(.*)\")", + "format": "time_series", + "hide": false, + "intervalFactor": 1, + "legendFormat": "{{name}}", + "refId": "A" + }, + { + "expr": "avg(label_replace(rate(clouddriver_cache_execution_successful__totalTime_total{instance=~\"$Instance\", provider=~\".*aws.provider.*\", region=~\"$AwsRegion\"}[$SamplePeriod]) / rate(clouddriver_cache_execution_successful__count_total{instance=~\"$Instance\", provider=~\".*aws.provider.*\", region!=\"\"}[$SamplePeriod]), \"name\", \"$1$2\", \"agent\", \"(?:Amazon)?(.*?)(?:Caching)?Agent(.*)\")) by (region, name)", + "format": "time_series", + "hide": false, + "intervalFactor": 1, + "legendFormat": "{{name}}/{{region}}", + "refId": "B" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Avg CachingAgent Execution Time by Resource/Region", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 106 + }, + "id": 86, + "panels": [], + "title": "CATS Keys", + "type": "row" + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 9, + "w": 8, + "x": 0, + "y": 107 + }, + "id": 93, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "avg($Function(clouddriver_cache_redis_get_keys_total{instance=~\"$Instance\",platform=\"aws\"}[$SamplePeriod])) by (resourceType, spin_variant)", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "{{resourceType}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Avg CATS Keys Requested", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 9, + "w": 8, + "x": 8, + "y": 107 + }, + "id": 89, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "avg($Function(clouddriver_cache_redis_merge_keys_total{instance=~\"$Instance\",platform=\"aws\"}[$SamplePeriod])) by (resourceType, spin_variant)", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "{{resourceType}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Avg CATS Keys Merged", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "transparent": false, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 9, + "w": 8, + "x": 16, + "y": 107 + }, + "id": 90, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "avg($Function(clouddriver_cache_redis_evict_keys_total{instance=~\"$Instance\",platform=\"aws\"}[$SamplePeriod])) by (resourceType, spin_variant)", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "{{resourceType}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Avg CATS Keys Evicted", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 116 + }, + "id": 92, + "panels": [], + "title": "CATS Items", + "type": "row" + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 9, + "w": 8, + "x": 0, + "y": 117 + }, + "id": 88, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "avg($Function(clouddriver_cache_redis_get_items_total{instance=~\"$Instance\",platform=\"aws\"}[$SamplePeriod])) by (resourceType, spin_variant)", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "{{resourceType}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Avg CATS Items Requested", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 9, + "w": 8, + "x": 8, + "y": 117 + }, + "id": 94, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "avg($Function(clouddriver_cache_redis_merge_items_total{instance=~\"$Instance\",platform=\"aws\"}[$SamplePeriod])) by (resourceType, spin_variant)", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "{{resourceType}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Avg CATS Items Merged", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 9, + "w": 8, + "x": 16, + "y": 117 + }, + "id": 95, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "avg($Function(clouddriver_cache_redis_evict_items_total{instance=~\"$Instance\",platform=\"aws\"}[$SamplePeriod])) by (resourceType, spin_variant)", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "{{resourceType}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Avg CATS Items Evicted", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + } + ], + "refresh": "30s", + "schemaVersion": 16, + "style": "dark", + "tags": [ + "spinnaker", + "aws" + ], + "templating": { + "list": [ + { + "allValue": ".*", + "current": { + "text": "All", + "value": "$__all" + }, + "datasource": "${DS_SPINNAKER}", + "definition": "", + "hide": 0, + "includeAll": true, + "label": null, + "multi": false, + "name": "AwsRegion", + "options": [], + "query": "label_values(platform_aws_api_http_completions__count_total, region)", + "refresh": 2, + "regex": "", + "skipUrlSync": false, + "sort": 1, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "allValue": ".*", + "current": { + "text": "All", + "value": "$__all" + }, + "datasource": "${DS_SPINNAKER}", + "definition": "", + "hide": 0, + "includeAll": true, + "label": "", + "multi": false, + "name": "Instance", + "options": [], + "query": "label_values(platfom_aws_api_http_completions__count_total, instance)", + "refresh": 2, + "regex": "", + "skipUrlSync": false, + "sort": 1, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "allValue": null, + "current": { + "tags": [], + "text": "Instant Rate", + "value": "irate" + }, + "hide": 0, + "includeAll": false, + "label": null, + "multi": false, + "name": "Function", + "options": [ + { + "selected": false, + "text": "Delta", + "value": "delta" + }, + { + "selected": false, + "text": "Rate", + "value": "rate" + }, + { + "selected": false, + "text": "Instant Delta", + "value": "idelta" + }, + { + "selected": true, + "text": "Instant Rate", + "value": "irate" + } + ], + "query": "delta,rate,idelta,irate", + "skipUrlSync": false, + "type": "custom" + }, + { + "auto": false, + "auto_count": 30, + "auto_min": "10s", + "current": { + "text": "1m", + "value": "1m" + }, + "hide": 0, + "label": "Sample Period", + "name": "SamplePeriod", + "options": [ + { + "selected": true, + "text": "1m", + "value": "1m" + }, + { + "selected": false, + "text": "5m", + "value": "5m" + }, + { + "selected": false, + "text": "10m", + "value": "10m" + }, + { + "selected": false, + "text": "15m", + "value": "15m" + }, + { + "selected": false, + "text": "30m", + "value": "30m" + }, + { + "selected": false, + "text": "1h", + "value": "1h" + } + ], + "query": "1m,5m,10m,15m,30m,1h", + "refresh": 2, + "skipUrlSync": false, + "type": "interval" + } + ] + }, + "time": { + "from": "now-3h", + "to": "now" + }, + "timepicker": { + "refresh_intervals": [ + "5s", + "10s", + "30s", + "1m", + "5m", + "15m", + "30m", + "1h", + "2h", + "1d" + ], + "time_options": [ + "5m", + "15m", + "1h", + "6h", + "12h", + "24h", + "2d", + "7d", + "30d" + ] + }, + "timezone": "browser", + "title": "Amazon Spinnaker Platform", + "version": 1 +} diff --git a/spinnaker-monitoring-third-party/third_party/prometheus/experimental/clouddriver-microservice-dashboard.json b/spinnaker-monitoring-third-party/third_party/prometheus/experimental/clouddriver-microservice-dashboard.json new file mode 100644 index 0000000..6e82a61 --- /dev/null +++ b/spinnaker-monitoring-third-party/third_party/prometheus/experimental/clouddriver-microservice-dashboard.json @@ -0,0 +1,1878 @@ +{ + "__inputs": [ + { + "name": "DS_SPINNAKER", + "label": "Spinnaker", + "description": "", + "type": "datasource", + "pluginId": "prometheus", + "pluginName": "Prometheus" + } + ], + "__requires": [ + { + "type": "grafana", + "id": "grafana", + "name": "Grafana", + "version": "4.3.2" + }, + { + "type": "panel", + "id": "graph", + "name": "Graph", + "version": "" + }, + { + "type": "datasource", + "id": "prometheus", + "name": "Prometheus", + "version": "1.0.0" + } + ], + "annotations": { + "list": [] + }, + "editable": true, + "gnetId": null, + "graphTooltip": 0, + "id": null, + "links": [], + "panels": [ + { + "aliasColors": {}, + "bars": true, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 5, + "w": 8, + "x": 0, + "y": 0 + }, + "id": 67, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "rightSide": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": true, + "steppedLine": false, + "targets": [ + { + "expr": "label_replace(sum($Function(service_controller_completions__count_total{instance=~\"$Instance\",spin_service=\"clouddriver\",status=\"5xx\",account=~\"$Account\"}[$SamplePeriod])) by (controller, method, statusCode), \"controller\", \"$1\", \"controller\", \"(.*)Controller\")", + "format": "time_series", + "hide": false, + "intervalFactor": 2, + "legendFormat": "{{statusCode}}/{{controller}}/{{method}}", + "refId": "C", + "step": 30 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "$Account 5xx Errors ($Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 5, + "w": 9, + "x": 8, + "y": 0 + }, + "id": 44, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "$Function(clouddriver_task_finished_total[$SamplePeriod])", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "{{instance}}", + "refId": "D" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Finished Tasks by Instance", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": true, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 5, + "w": 7, + "x": 17, + "y": 0 + }, + "id": 69, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": true, + "steppedLine": false, + "targets": [ + { + "expr": "label_replace(sum($Function(platform_aws_cacheDrift{account=~\"$Account\", spin_service=\"clouddriver\", instance=~\"$Instance\"}[$SamplePeriod])) by (agent, region), \"agent\", \"$1\", \"agent\", \"(.*)CachingAgent\")", + "format": "time_series", + "interval": "", + "intervalFactor": 2, + "legendFormat": "{{region}}/{{agent}}", + "metric": "", + "refId": "A", + "step": 30 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "$Account Cache Drift by Region/Agent ($Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "fill": 1, + "gridPos": { + "h": 6, + "w": 8, + "x": 0, + "y": 5 + }, + "id": 73, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "label_replace($Function(clouddriver_operations__count_total{instance=~\"$Instance\", success=\"true\"}[$SamplePeriod]), \"operation\", \"$1\", \"operationType\", \"(.*?)(?:Atomic)?Operation\")", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "{{operation}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Successful Operations ($Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "fill": 1, + "gridPos": { + "h": 6, + "w": 9, + "x": 8, + "y": 5 + }, + "id": 71, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "label_replace(rate(clouddriver_operations__totalTime_total{instance=~\"$Instance\", success=\"true\"}[$SamplePeriod]) / rate(clouddriver_operations__count_total{instance=~\"$Instance\", success=\"true\"}[$SamplePeriod]), \"operation\", \"$1\", \"operationType\", \"(.*?)(?:Atomic)?Operation\")", + "format": "time_series", + "hide": false, + "intervalFactor": 1, + "legendFormat": "{{operation}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Successful Operation Time ($Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "fill": 1, + "gridPos": { + "h": 6, + "w": 7, + "x": 17, + "y": 5 + }, + "id": 72, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "label_replace($Function(clouddriver_operations__count_total{instance=~\"$Instance\", success=\"false\"}[$SamplePeriod]), \"operation\", \"$1\", \"operationType\", \"(.*?)(?:Atomic)?Operation\")", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "{{operation}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Failed Operations ($Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": true, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 5, + "w": 12, + "x": 0, + "y": 11 + }, + "id": 1, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "rightSide": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": true, + "steppedLine": false, + "targets": [ + { + "expr": "label_replace(sum($Function(service_controller_completions__count_total{instance=~\"$Instance\",spin_service=\"clouddriver\",account=~\"$Account\"}[$SamplePeriod])) by (controller, method), \"controller\", \"$1\", \"controller\", \"(.*)Controller\")", + "format": "time_series", + "hide": false, + "intervalFactor": 2, + "legendFormat": "{{controller}}/{{method}}", + "refId": "C", + "step": 30 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "$Account Controller Invocation by Method ($Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 5, + "w": 12, + "x": 12, + "y": 11 + }, + "id": 78, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum($Function(clouddriver_cache_onDemand_errors_total{instance=~\"$Instance\"}[$SamplePeriod])) by (platform)", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "{{platform}}", + "refId": "C" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "OnDemand Caching Errors By Platform ($Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 5, + "w": 12, + "x": 0, + "y": 16 + }, + "id": 22, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "label_replace(sum(rate(service_controller_completions__totalTime_total{instance=~\"$Instance\",spin_service=\"clouddriver\",account=~\"$Account\"}[$SamplePeriod])) by (controller, method) / sum(rate(service_controller_completions__count_total{instance=~\"$Instance\",spin_service=\"clouddriver\",account=~\"$Account\"}[$SamplePeriod])) by (controller, method), \"controller\", \"$1\", \"controller\", \"(.*)Controller\")", + "hide": false, + "intervalFactor": 2, + "legendFormat": "{{controller}}/{{method}}", + "refId": "C", + "step": 30 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "$Account Controller Invocation Latency by Method ($Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": true, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 5, + "w": 12, + "x": 12, + "y": 16 + }, + "id": 79, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": true, + "steppedLine": false, + "targets": [ + { + "expr": "sum($Function(clouddriver_cache_onDemand_calls_total{instance=~\"$Instance\"}[$SamplePeriod])) by (platform)", + "format": "time_series", + "hide": false, + "interval": "", + "intervalFactor": 1, + "legendFormat": "{{platform}}", + "refId": "C" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "OnDemand Caching Attempts By Platform ($Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 5, + "w": 12, + "x": 0, + "y": 21 + }, + "id": 75, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum($Function(clouddriver_cache_redis_get_keys_total{instance=~\"$Instance\"}[$SamplePeriod]))", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "get_keys", + "refId": "C" + }, + { + "expr": "sum($Function(clouddriver_cache_redis_merge_keys_total{instance=~\"$Instance\"}[$SamplePeriod]))", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "merge_keys", + "refId": "D" + }, + { + "expr": "sum($Function(clouddriver_cache_redis_evict_keys_total{instance=~\"$Instance\"}[$SamplePeriod]))", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "evict_keys", + "refId": "E" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "CATS Redis Key Operations", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 10, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 10, + "max": null, + "min": "0", + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": true, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 5, + "w": 12, + "x": 12, + "y": 21 + }, + "id": 80, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": true, + "steppedLine": false, + "targets": [ + { + "expr": "sum($Function(clouddriver_cache_onDemand_completions__count_total{instance=~\"$Instance\"}[$SamplePeriod])) by (platform)", + "format": "time_series", + "hide": false, + "intervalFactor": 1, + "legendFormat": "{{platform}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "OnDemand Caching Completions By Platform ($Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 5, + "w": 12, + "x": 0, + "y": 26 + }, + "id": 76, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum($Function(clouddriver_cache_redis_get_items_total{instance=~\"$Instance\"}[$SamplePeriod]))", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "get_items", + "refId": "C" + }, + { + "expr": "sum($Function(clouddriver_cache_redis_merge_items_total{instance=~\"$Instance\"}[$SamplePeriod]))", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "merge_items", + "refId": "D" + }, + { + "expr": "sum($Function(clouddriver_cache_redis_evict_items_total{instance=~\"$Instance\"}[$SamplePeriod]))", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "evict_items", + "refId": "E" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "CATS Redis Item Operations", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 10, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 10, + "max": null, + "min": "0", + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": true, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 5, + "w": 12, + "x": 12, + "y": 26 + }, + "id": 81, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": true, + "steppedLine": false, + "targets": [ + { + "expr": "sum($Function(clouddriver_cache_onDemand_completions__totalTime_total{instance=~\"$Instance\"}[$SamplePeriod])) by (platform) / sum($Function(clouddriver_cache_onDemand_completions__count_total{instance=~\"$Instance\"}[$SamplePeriod])) by (platform)", + "format": "time_series", + "hide": false, + "intervalFactor": 1, + "legendFormat": "{{platform}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "OnDemand Caching Time By Platform ($Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 5, + "w": 12, + "x": 0, + "y": 31 + }, + "id": 39, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(label_replace($Function(clouddriver_cache_execution_finished_total{instance=~\"$Instance\",provider=~\".*clouddriver.*.provider.*\", spin_service=\"clouddriver\"}[$SamplePeriod]), \"name\", \"$1\", \"provider\", \".*provider.(.*)Provider\")) by (name)", + "format": "time_series", + "hide": false, + "intervalFactor": 2, + "legendFormat": "{{name}}", + "refId": "A", + "step": 30 + }, + { + "expr": "sum(label_replace($Function(clouddriver_cache_execution_finished_total{instance=~\"$Instance\",provider!~\".*clouddriver.*.provider.*\", spin_service=\"clouddriver\"}[$SamplePeriod]), \"name\", \"$1\", \"provider\", \"(.*)\")) by (name)", + "format": "time_series", + "hide": false, + "intervalFactor": 1, + "legendFormat": "{{name}}", + "refId": "B" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Caching Executions by Provider ($Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": true, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 10, + "w": 12, + "x": 12, + "y": 31 + }, + "id": 82, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": true, + "steppedLine": false, + "targets": [ + { + "expr": "sum($Function(clouddriver_cache_onDemand_reads__totalTime_total{instance=~\"$Instance\"}[$SamplePeriod])) by (platform) / sum($Function(clouddriver_cache_onDemand_reads__count_total{instance=~\"$Instance\"}[$SamplePeriod])) by (platform)", + "format": "time_series", + "hide": false, + "interval": "", + "intervalFactor": 1, + "legendFormat": "{{platform}}/read", + "refId": "A" + }, + { + "expr": "sum($Function(clouddriver_cache_onDemand_writes__totalTime_total{instance=~\"$Instance\"}[$SamplePeriod])) by (platform) / sum($Function(clouddriver_cache_onDemand_writes__count_total{instance=~\"$Instance\"}[$SamplePeriod])) by (platform)", + "format": "time_series", + "hide": false, + "intervalFactor": 1, + "legendFormat": "{{platform}}/write", + "refId": "B" + }, + { + "expr": "sum($Function(clouddriver_cache_onDemand_stores__totalTime_total{instance=~\"$Instance\"}[$SamplePeriod])) by (platform) / sum($Function(clouddriver_cache_onDemand_stores__count_total{instance=~\"$Instance\"}[$SamplePeriod])) by (platform)", + "format": "time_series", + "hide": false, + "intervalFactor": 1, + "legendFormat": "{{platform}}/store", + "refId": "C" + }, + { + "expr": "sum($Function(clouddriver_cache_onDemand_transforms__totalTime_total{instance=~\"$Instance\"}[$SamplePeriod])) by (platform) / sum($Function(clouddriver_cache_onDemand_transforms__count_total{instance=~\"$Instance\"}[$SamplePeriod])) by (platform)", + "format": "time_series", + "hide": false, + "intervalFactor": 1, + "legendFormat": "{{platform}}/trans", + "refId": "D" + }, + { + "expr": "sum($Function(clouddriver_cache_onDemand_evicts__totalTime_total{instance=~\"$Instance\"}[$SamplePeriod])) by (platform) / sum($Function(clouddriver_cache_onDemand_evicts__count_total{instance=~\"$Instance\"}[$SamplePeriod])) by (platform)", + "format": "time_series", + "hide": false, + "intervalFactor": 1, + "legendFormat": "{{platform}}/evict", + "refId": "E" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "OnDemand Caching Activity Time By Platform ($Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 5, + "w": 12, + "x": 0, + "y": 36 + }, + "id": 74, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "label_replace(avg(rate(clouddriver_cache_execution_successful__totalTime_total{instance=~\"$Instance\",provider=~\".*clouddriver.*.provider.*\", spin_service=\"clouddriver\"}[$SamplePeriod]) / rate(clouddriver_cache_execution_successful__count_total{instance=~\"$Instance\",provider=~\".*clouddriver.*.provider.*\", spin_service=\"clouddriver\"}[$SamplePeriod])) by (provider), \"name\", \"$1\", \"provider\", \".*.provider.(.*)Provider\")", + "format": "time_series", + "hide": false, + "intervalFactor": 2, + "legendFormat": "{{name}}", + "refId": "A", + "step": 30 + }, + { + "expr": "label_replace(avg(rate(clouddriver_cache_execution_successful__totalTime_total{instance=~\"$Instance\",provider!~\".*clouddriver.*.provider.*\", spin_service=\"clouddriver\"}[$SamplePeriod]) / rate(clouddriver_cache_execution_successful__count_total{instance=~\"$Instance\",provider!~\".*clouddriver.*.provider.*\", spin_service=\"clouddriver\"}[$SamplePeriod])) by (provider), \"name\", \"$1$2\", \"provider\", \"(.*)\")", + "format": "time_series", + "hide": false, + "intervalFactor": 1, + "legendFormat": "{{name}}", + "refId": "B" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Avg Caching Execution Time by Provider ($Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 6, + "w": 24, + "x": 0, + "y": 41 + }, + "id": 21, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(platform_java_memory{instance=~\"$Instance\", spin_service=\"clouddriver\",scope=\"HEAP\"}) by (segment)", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "{{segment}}", + "metric": "", + "refId": "A", + "step": 10 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "JVM Memory Usage ($Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "decbytes", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "decbytes", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + } + ], + "refresh": "30s", + "schemaVersion": 16, + "style": "dark", + "tags": [ + "spinnaker" + ], + "templating": { + "list": [ + { + "allValue": ".*", + "current": { + "text": "All", + "value": "$__all" + }, + "datasource": "${DS_SPINNAKER}", + "definition": "label_values(service_controller_completions__count_total{spin_service=\"clouddriver\"}, instance)", + "hide": 0, + "includeAll": true, + "label": null, + "multi": false, + "name": "Instance", + "options": [], + "query": "label_values(service_controller_completions__count_total{spin_service=\"clouddriver\"}, instance)", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 1, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "allValue": ".*", + "current": { + "text": "All", + "value": "$__all" + }, + "datasource": "${DS_SPINNAKER}", + "definition": "label_values(service_controller_completions__count_total{spin_service=\"clouddriver\"}, account)", + "hide": 0, + "includeAll": true, + "label": null, + "multi": false, + "name": "Account", + "options": [], + "query": "label_values(service_controller_completions__count_total{spin_service=\"clouddriver\"}, account)", + "refresh": 1, + "regex": "", + "skipUrlSync": false, + "sort": 1, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "allValue": null, + "current": { + "tags": [], + "text": "Instant Rate", + "value": "irate" + }, + "hide": 0, + "includeAll": false, + "label": null, + "multi": false, + "name": "Function", + "options": [ + { + "selected": false, + "text": "Delta", + "value": "delta" + }, + { + "selected": false, + "text": "Rate", + "value": "rate" + }, + { + "selected": false, + "text": "Instant Delta", + "value": "idelta" + }, + { + "selected": true, + "text": "Instant Rate", + "value": "irate" + } + ], + "query": "delta,rate,idelta,irate", + "skipUrlSync": false, + "type": "custom" + }, + { + "auto": false, + "auto_count": 30, + "auto_min": "10s", + "current": { + "text": "1m", + "value": "1m" + }, + "hide": 0, + "label": "Sample Period", + "name": "SamplePeriod", + "options": [ + { + "selected": true, + "text": "1m", + "value": "1m" + }, + { + "selected": false, + "text": "5m", + "value": "5m" + }, + { + "selected": false, + "text": "10m", + "value": "10m" + }, + { + "selected": false, + "text": "15m", + "value": "15m" + }, + { + "selected": false, + "text": "30m", + "value": "30m" + }, + { + "selected": false, + "text": "1h", + "value": "1h" + } + ], + "query": "1m,5m,10m,15m,30m,1h", + "refresh": 2, + "skipUrlSync": false, + "type": "interval" + } + ] + }, + "time": { + "from": "now-3h", + "to": "now" + }, + "timepicker": { + "refresh_intervals": [ + "5s", + "10s", + "30s", + "1m", + "5m", + "15m", + "30m", + "1h", + "2h", + "1d" + ], + "time_options": [ + "5m", + "15m", + "1h", + "6h", + "12h", + "24h", + "2d", + "7d", + "30d" + ] + }, + "timezone": "browser", + "title": "Clouddriver Microservice", + "version": 1 +} diff --git a/spinnaker-monitoring-third-party/third_party/prometheus/experimental/echo-microservice-dashboard.json b/spinnaker-monitoring-third-party/third_party/prometheus/experimental/echo-microservice-dashboard.json new file mode 100644 index 0000000..8842449 --- /dev/null +++ b/spinnaker-monitoring-third-party/third_party/prometheus/experimental/echo-microservice-dashboard.json @@ -0,0 +1,638 @@ +{ + "__inputs": [ + { + "name": "DS_SPINNAKER", + "label": "Spinnaker", + "description": "", + "type": "datasource", + "pluginId": "prometheus", + "pluginName": "Prometheus" + } + ], + "__requires": [ + { + "type": "grafana", + "id": "grafana", + "name": "Grafana", + "version": "4.3.2" + }, + { + "type": "panel", + "id": "graph", + "name": "Graph", + "version": "" + }, + { + "type": "datasource", + "id": "prometheus", + "name": "Prometheus", + "version": "1.0.0" + } + ], + "annotations": { + "list": [] + }, + "editable": true, + "gnetId": null, + "graphTooltip": 0, + "hideControls": false, + "id": null, + "links": [], + "refresh": "30s", + "rows": [ + { + "collapse": false, + "height": 166, + "panels": [ + { + "aliasColors": {}, + "bars": true, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "id": 73, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "span": 12, + "stack": true, + "steppedLine": false, + "targets": [ + { + "expr": "sum($Function(service_controller_completions__count_total{instance=~\"$Instance\",status=\"5xx\",spin_service=\"echo\"}[$SamplePeriod])) by (controller, method, statusCode)", + "hide": false, + "intervalFactor": 2, + "legendFormat": "{{statusCode}}/{{controller}}/{{method}}", + "refId": "C", + "step": 10 + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "Controller 5xx Errors ($Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + } + ] + } + ], + "repeat": null, + "repeatIteration": null, + "repeatRowId": null, + "showTitle": false, + "title": "Invocations by Status", + "titleSize": "h6" + }, + { + "collapse": false, + "height": 176, + "panels": [ + { + "aliasColors": {}, + "bars": true, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "id": 4, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "span": 12, + "stack": true, + "steppedLine": false, + "targets": [ + { + "expr": "sum($Function(service_controller_completions__count_total{instance=~\"$Instance\",spin_service=\"echo\"}[$SamplePeriod])) by (controller, method)", + "hide": false, + "intervalFactor": 2, + "legendFormat": "{{controller}}/{{method}}", + "refId": "C", + "step": 10 + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "Controller Invocations by Method ($Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + } + ] + } + ], + "repeat": null, + "repeatIteration": null, + "repeatRowId": null, + "showTitle": false, + "title": "Invocations by Method", + "titleSize": "h6" + }, + { + "collapse": false, + "height": 178, + "panels": [ + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "id": 23, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "span": 12, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(rate(service_controller_completions__totalTime_total{instance=~\"$Instance\",spin_service=\"echo\"}[$SamplePeriod])) by (controller, method) / sum(rate(service_controller_completions__count_total{instance=~\"$Instance\",spin_service=\"echo\"}[$SamplePeriod])) by (controller, method)", + "hide": false, + "intervalFactor": 2, + "legendFormat": "{{controller}}/{{method}}", + "refId": "C", + "step": 10 + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "Controller Invocation Latency by Method ($Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ] + } + ], + "repeat": null, + "repeatIteration": null, + "repeatRowId": null, + "showTitle": false, + "title": "Latency by Method", + "titleSize": "h6" + }, + { + "collapse": false, + "height": 169, + "panels": [ + { + "aliasColors": {}, + "bars": true, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "id": 38, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "span": 12, + "stack": true, + "steppedLine": false, + "targets": [ + { + "expr": "sum($Function(workflow_trigger_calls_total{instance=~\"$Instance\",spin_service=\"echo\"}[$SamplePeriod])) by (name)", + "hide": false, + "intervalFactor": 2, + "legendFormat": "{{name}}", + "metric": "", + "refId": "A", + "step": 10 + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "Pipelines Triggered ($Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + } + ] + } + ], + "repeat": null, + "repeatIteration": null, + "repeatRowId": null, + "showTitle": false, + "title": "Pipelines", + "titleSize": "h6" + }, + { + "collapse": false, + "height": 173, + "panels": [ + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "id": 21, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "span": 12, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "avg(platform_java_memory{instance=~\"$Instance\",spin_service=\"echo\",scope=\"HEAP\"}) by (segment)", + "intervalFactor": 2, + "legendFormat": "{{segment}}", + "metric": "", + "refId": "B", + "step": 10 + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "JVM Memory Usage ($Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "decbytes", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "decbytes", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ] + } + ], + "repeat": null, + "repeatIteration": null, + "repeatRowId": null, + "showTitle": false, + "title": "JVM Memory", + "titleSize": "h6" + } + ], + "schemaVersion": 14, + "style": "dark", + "tags": [ + "spinnaker" + ], + "templating": { + "list": [ + { + "allValue": ".*", + "current": {}, + "datasource": "${DS_SPINNAKER}", + "hide": 0, + "includeAll": true, + "label": null, + "multi": false, + "name": "Instance", + "options": [], + "query": "label_values(echo_event_processed_total, instance)", + "refresh": 1, + "regex": "", + "sort": 1, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "allValue": null, + "current": { + "tags": [], + "text": "Instant Rate", + "value": "irate" + }, + "hide": 0, + "includeAll": false, + "label": null, + "multi": false, + "name": "Function", + "options": [ + { + "selected": false, + "text": "Delta", + "value": "delta" + }, + { + "selected": false, + "text": "Rate", + "value": "rate" + }, + { + "selected": false, + "text": "Instant Delta", + "value": "idelta" + }, + { + "selected": true, + "text": "Instant Rate", + "value": "irate" + } + ], + "query": "delta,rate,idelta,irate", + "type": "custom" + }, + { + "auto": false, + "auto_count": 30, + "auto_min": "10s", + "current": { + "text": "1m", + "value": "1m" + }, + "hide": 0, + "label": "Sample Period", + "name": "SamplePeriod", + "options": [ + { + "selected": true, + "text": "1m", + "value": "1m" + }, + { + "selected": false, + "text": "5m", + "value": "5m" + }, + { + "selected": false, + "text": "10m", + "value": "10m" + }, + { + "selected": false, + "text": "15m", + "value": "15m" + }, + { + "selected": false, + "text": "30m", + "value": "30m" + }, + { + "selected": false, + "text": "1h", + "value": "1h" + } + ], + "query": "1m,5m,10m,15m,30m,1h", + "refresh": 2, + "type": "interval" + } + ] + }, + "time": { + "from": "now-3h", + "to": "now" + }, + "timepicker": { + "refresh_intervals": [ + "5s", + "10s", + "30s", + "1m", + "5m", + "15m", + "30m", + "1h", + "2h", + "1d" + ], + "time_options": [ + "5m", + "15m", + "1h", + "6h", + "12h", + "24h", + "2d", + "7d", + "30d" + ] + }, + "timezone": "browser", + "title": "Echo Microservice", + "version": 1 +} diff --git a/spinnaker-monitoring-third-party/third_party/prometheus/experimental/fiat-microservice-dashboard.json b/spinnaker-monitoring-third-party/third_party/prometheus/experimental/fiat-microservice-dashboard.json new file mode 100644 index 0000000..ce4bd02 --- /dev/null +++ b/spinnaker-monitoring-third-party/third_party/prometheus/experimental/fiat-microservice-dashboard.json @@ -0,0 +1,556 @@ +{ + "__inputs": [ + { + "name": "DS_SPINNAKER", + "label": "Spinnaker", + "description": "", + "type": "datasource", + "pluginId": "prometheus", + "pluginName": "Prometheus" + } + ], + "__requires": [ + { + "type": "grafana", + "id": "grafana", + "name": "Grafana", + "version": "4.1.1" + }, + { + "type": "panel", + "id": "graph", + "name": "Graph", + "version": "" + }, + { + "type": "datasource", + "id": "prometheus", + "name": "Prometheus", + "version": "1.0.0" + } + ], + "annotations": { + "list": [] + }, + "editable": true, + "gnetId": null, + "graphTooltip": 0, + "hideControls": false, + "id": null, + "links": [], + "refresh": "30s", + "rows": [ + { + "collapse": false, + "height": 197, + "panels": [ + { + "aliasColors": {}, + "bars": true, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "id": 65, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "span": 12, + "stack": true, + "steppedLine": false, + "targets": [ + { + "expr": "label_replace(sum($Function(service_controller_completions__count_total{instance=~\"$Instance\",spin_service=\"echo\",status=\"5xx\"}[$SamplePeriod])) by (controller, method, statusCode), \"controller\", \"$1\", \"controller\", \"(.*)Controller\")", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "{{statusCode}}/{{controller}}/{{method}}", + "refId": "A", + "step": 10 + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "5xx Controller Invocations ($Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + } + ] + } + ], + "repeat": null, + "repeatIteration": null, + "repeatRowId": null, + "showTitle": false, + "title": "5xx Errors", + "titleSize": "h6" + }, + { + "collapse": false, + "height": 265, + "panels": [ + { + "aliasColors": {}, + "bars": true, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "id": 5, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "span": 12, + "stack": true, + "steppedLine": false, + "targets": [ + { + "expr": "label_replace(sum($Function(service_controller_completions__count_total{instance=~\"$Instance\",spin_service=\"fiat\"}[$SamplePeriod])) by (controller, method), \"controller\", \"$1\", \"controller\", \"(.*)Controller\")", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "{{controller}}/{{method}}", + "refId": "A", + "step": 10 + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "Controller Invocations by Method ($Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + } + ] + } + ], + "repeat": null, + "repeatIteration": null, + "repeatRowId": null, + "showTitle": false, + "title": "Invocations by Method", + "titleSize": "h6" + }, + { + "collapse": false, + "height": 269, + "panels": [ + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "id": 24, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "span": 12, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "label_replace(sum(rate(service_controller_completions__totalTime_total{instance=~\"$Instance\",spin_service=\"fiat\"}[$SamplePeriod])) by (controller, method) / sum(rate(service_controller_completions__count_total{instance=~\"$Instance\",spin_service=\"fiat\"}[$SamplePeriod])) by (controller, method), \"controller\", \"$1\", \"controller\", \"(.*)Controller\")", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "{{controller}}/{{method}}", + "refId": "A", + "step": 10 + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "Controller Invocation Latency by Method ($Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ] + } + ], + "repeat": null, + "repeatIteration": null, + "repeatRowId": null, + "showTitle": false, + "title": "Latency By method", + "titleSize": "h6" + }, + { + "collapse": false, + "height": 203, + "panels": [ + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "id": 21, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "span": 12, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "avg(platform_java_memory{instance=~\"$Instance\", spin_service=\"fiat\",scope=\"HEAP\"}) by (segment)", + "intervalFactor": 2, + "legendFormat": "{{segment}}", + "metric": "", + "refId": "E", + "step": 10 + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "JVM Memory Usage ($Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "decbytes", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "decbytes", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ] + } + ], + "repeat": null, + "repeatIteration": null, + "repeatRowId": null, + "showTitle": false, + "title": "JVM Memory", + "titleSize": "h6" + } + ], + "schemaVersion": 14, + "style": "dark", + "tags": [ + "spinnaker" + ], + "templating": { + "list": [ + { + "allValue": ".*", + "current": { + "text": "All", + "value": "$__all" + }, + "datasource": "${DS_SPINNAKER}", + "hide": 0, + "includeAll": true, + "label": null, + "multi": false, + "name": "Instance", + "options": [ + { + "selected": true, + "text": "All", + "value": "$__all" + } + ], + "query": "label_values(service_controller_invocations__count_total{spin_service=\"fiat\"}, instance)", + "refresh": 2, + "regex": "", + "sort": 1, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "allValue": null, + "current": { + "tags": [], + "text": "Instant Rate", + "value": "irate" + }, + "hide": 0, + "includeAll": false, + "label": null, + "multi": false, + "name": "Function", + "options": [ + { + "selected": false, + "text": "Delta", + "value": "delta" + }, + { + "selected": false, + "text": "Rate", + "value": "rate" + }, + { + "selected": false, + "text": "Instant Delta", + "value": "idelta" + }, + { + "selected": true, + "text": "Instant Rate", + "value": "irate" + } + ], + "query": "delta,rate,idelta,irate", + "type": "custom" + }, + { + "auto": false, + "auto_count": 30, + "auto_min": "10s", + "current": { + "text": "1m", + "value": "1m" + }, + "hide": 0, + "label": "Sample Period", + "name": "SamplePeriod", + "options": [ + { + "selected": true, + "text": "1m", + "value": "1m" + }, + { + "selected": false, + "text": "5m", + "value": "5m" + }, + { + "selected": false, + "text": "10m", + "value": "10m" + }, + { + "selected": false, + "text": "15m", + "value": "15m" + }, + { + "selected": false, + "text": "30m", + "value": "30m" + }, + { + "selected": false, + "text": "1h", + "value": "1h" + } + ], + "query": "1m,5m,10m,15m,30m,1h", + "refresh": 2, + "type": "interval" + } + ] + }, + "time": { + "from": "now-3h", + "to": "now" + }, + "timepicker": { + "refresh_intervals": [ + "5s", + "10s", + "30s", + "1m", + "5m", + "15m", + "30m", + "1h", + "2h", + "1d" + ], + "time_options": [ + "5m", + "15m", + "1h", + "6h", + "12h", + "24h", + "2d", + "7d", + "30d" + ] + }, + "timezone": "browser", + "title": "Fiat Microservice", + "version": 1 +} diff --git a/spinnaker-monitoring-third-party/third_party/prometheus/experimental/front50-microservice-dashboard.json b/spinnaker-monitoring-third-party/third_party/prometheus/experimental/front50-microservice-dashboard.json new file mode 100644 index 0000000..f6204dc --- /dev/null +++ b/spinnaker-monitoring-third-party/third_party/prometheus/experimental/front50-microservice-dashboard.json @@ -0,0 +1,1411 @@ +{ + "__inputs": [ + { + "name": "DS_SPINNAKER", + "label": "Spinnaker", + "description": "", + "type": "datasource", + "pluginId": "prometheus", + "pluginName": "Prometheus" + } + ], + "__requires": [ + { + "type": "grafana", + "id": "grafana", + "name": "Grafana", + "version": "4.3.2" + }, + { + "type": "panel", + "id": "graph", + "name": "Graph", + "version": "" + }, + { + "type": "datasource", + "id": "prometheus", + "name": "Prometheus", + "version": "1.0.0" + } + ], + "annotations": { + "list": [] + }, + "editable": true, + "gnetId": null, + "graphTooltip": 0, + "hideControls": false, + "id": null, + "links": [], + "refresh": "30s", + "rows": [ + { + "collapse": false, + "height": 205, + "panels": [ + { + "aliasColors": {}, + "bars": true, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "id": 11, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "span": 4, + "stack": true, + "steppedLine": false, + "targets": [ + { + "expr": "sum(hystrix_rollingCount_shortCircuited{instance=~\"$Instance\",spin_service=\"front50\"}) by (metricGroup, metricType)", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "{{metricGroup}}({{metricType}})", + "metric": "", + "refId": "A", + "step": 40 + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "Hystrix Short Circuited ($Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "cumulative" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ] + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "id": 37, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "span": 4, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum($Function(hystrix_rollingCount_attempt{instance=~\"$Instance\",spin_service=\"front50\",success=\"true\"}[$SamplePeriod])) by (metricType, metricGroup)", + "format": "time_series", + "interval": "", + "intervalFactor": 2, + "legendFormat": "{{metricType}}({{metricGroup}})/SUCCESS", + "metric": "", + "refId": "A", + "step": 40 + }, + { + "expr": "sum($Function(hystrix_rollingCount_attempt{instance=~\"$Instance\",spin_service=\"front50\",success!=\"true\"}[$SamplePeriod])) by (metricType, metricGroup)", + "format": "time_series", + "interval": "", + "intervalFactor": 2, + "legendFormat": "{{metricType}}({{metricGroup}})/FAIL", + "metric": "", + "refId": "B", + "step": 40 + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "Hystrix Rolling Count Attempts ($Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + } + ] + }, + { + "aliasColors": {}, + "bars": true, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "id": 12, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "span": 4, + "stack": true, + "steppedLine": false, + "targets": [ + { + "expr": "sum(hystrix_rollingCount_attempt{instance=~\"$Instance\",spin_service=\"front50\",success=\"true\"}) by (metricGroup, metricType)", + "format": "time_series", + "hide": false, + "intervalFactor": 2, + "legendFormat": "{{metricGroup}}/{{metricType}}", + "metric": "", + "refId": "A", + "step": 40 + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "Hystrix Rolling Count Fallback Success ($Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "cumulative" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ] + } + ], + "repeat": null, + "repeatIteration": null, + "repeatRowId": null, + "showTitle": false, + "title": "Hystrix Error Signals", + "titleSize": "h6" + }, + { + "collapse": false, + "height": 147, + "panels": [ + { + "aliasColors": {}, + "bars": true, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "id": 16, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "span": 8, + "stack": true, + "steppedLine": false, + "targets": [ + { + "expr": "sum($Function(service_controller_completions__count_total{instance=~\"$Instance\",spin_service=\"front50\",status=\"5xx\"}[$SamplePeriod])) by (controller, method, statusCode)", + "format": "time_series", + "interval": "", + "intervalFactor": 2, + "legendFormat": "{{statusCode}}/{{controller}}/{{method}}", + "refId": "A", + "step": 20 + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "5xx Invocation Errors by Method ($Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "s", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "s", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ] + }, + { + "aliasColors": { + "APPLICATION": "#7EB26D", + "APPLICATION_PERMISSION": "#EAB839", + "NOTIFICATION": "#6ED0E0", + "PIPELINE": "#EF843C", + "PROJECT": "#E24D42", + "SERVICE_ACCOUNT": "#1F78C1", + "SNAPSHOT": "#BA43A9", + "STRATEGY": "#705DA0" + }, + "bars": true, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "id": 17, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": false, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "span": 4, + "stack": true, + "steppedLine": false, + "targets": [ + { + "expr": "sum($Function(front50_cache_refresh__count_total{instance=~\"$Instance\",spin_service=\"front50\",scheduled!=\"true\"}[$SamplePeriod])) by (objectType)", + "hide": false, + "intervalFactor": 2, + "legendFormat": "force/{{objectType}}", + "metric": "", + "refId": "A", + "step": 40 + }, + { + "expr": "-1 * (sum($Function(front50_cache_refresh__count_total{instance=~\"$Instance\",spin_service=\"front50\",scheduled=\"true\"}[$SamplePeriod])) by (objectType))", + "hide": false, + "intervalFactor": 2, + "legendFormat": "{{objectType}}", + "refId": "B", + "step": 40 + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "Cache Refreshes / Minute (negative are scheduled) ($Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ] + } + ], + "repeat": null, + "repeatIteration": null, + "repeatRowId": null, + "showTitle": false, + "title": "5xx Errors", + "titleSize": "h6" + }, + { + "collapse": false, + "height": 228, + "panels": [ + { + "aliasColors": {}, + "bars": true, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "id": 3, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "span": 8, + "stack": true, + "steppedLine": false, + "targets": [ + { + "expr": "sum($Function(service_controller_completions__count_total{instance=~\"$Instance\",spin_service=\"front50\"}[$SamplePeriod])) by (controller, method)", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "{{controller}}/{{method}}", + "refId": "A", + "step": 20 + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "Controller Invocation by Method ($Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": "", + "logBase": 1, + "max": null, + "min": "0", + "show": true + } + ] + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "decimals": null, + "fill": 1, + "id": 20, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "span": 4, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(front50_cache_size{instance=~\"$Instance\"}) by (objectType)", + "intervalFactor": 2, + "legendFormat": "{{objectType}}", + "metric": "", + "refId": "A", + "step": 40 + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "Item Cache Size ($Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ] + } + ], + "repeat": null, + "repeatIteration": null, + "repeatRowId": null, + "showTitle": false, + "title": "Invocations by Method", + "titleSize": "h6" + }, + { + "collapse": false, + "height": 154, + "panels": [ + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "id": 28, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "span": 8, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "label_replace(sum(rate(service_controller_completions__totalTime_total{instance=~\"$Instance\",spin_service=\"front50\"}[$SamplePeriod])) by (controller, method) / sum(rate(service_controller_completions__count_total{instance=~\"$Instance\",spin_service=\"front50\"}[$SamplePeriod])) by (controller, method), \"controller\", \"$1\", \"controller\", \"(.*)Controller\")", + "intervalFactor": 2, + "legendFormat": "{{controller}}/{{method}}", + "refId": "A", + "step": 20 + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "Controller Invocation Latency by Method ($Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ] + }, + { + "aliasColors": { + "del APPLICATION": "#7EB26D", + "del APPLICATION_PERMISSION": "#EAB839", + "del NOTIFICATION": "#6ED0E0", + "del PIPELINE": "#EF843C", + "del PROJECT": "#E24D42", + "del SERVICE_ACCOUNT": "#1F78C1", + "del SNAPSHOT": "#BA43A9", + "del STRATEGY": "#705DA0" + }, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "id": 15, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "span": 4, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "avg($Function(front50_cache_added_total{instance=~\"$Instance\"}[$SamplePeriod])) by (objectType)", + "intervalFactor": 2, + "legendFormat": "add {{objectType}}", + "metric": "", + "refId": "A", + "step": 40 + }, + { + "expr": "-1 * avg($Function(front50_cache_removed_total{instance=~\"$Instance\"}[$SamplePeriod])) by (objectType)", + "intervalFactor": 2, + "legendFormat": "del {{objectType}}", + "refId": "B", + "step": 40 + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "Item Cache Adds (+) and Removes (-) ($Instance)", + "tooltip": { + "shared": false, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [ + "total" + ] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ] + } + ], + "repeat": null, + "repeatIteration": null, + "repeatRowId": null, + "showTitle": false, + "title": "Latency by Method", + "titleSize": "h6" + }, + { + "collapse": false, + "height": 197, + "panels": [ + { + "aliasColors": {}, + "bars": true, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "id": 9, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "span": 8, + "stack": true, + "steppedLine": false, + "targets": [ + { + "expr": "sum($Function(platform_google_api_storage_completions__count_total{instance=~\"$Instance\",spin_service=\"front50\"}[$SamplePeriod])) by (method)", + "format": "time_series", + "hide": false, + "intervalFactor": 2, + "legendFormat": "{{method}}", + "refId": "A", + "step": 20 + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "Google Storage Service Invocations ($Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + } + ] + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "id": 19, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "span": 4, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "avg($Function(front50_cache_update_total{instance=~\"$Instance\"}[$SamplePeriod])) by (objectType)", + "intervalFactor": 2, + "legendFormat": "{{objectType}}", + "metric": "", + "refId": "A", + "step": 40 + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "Item Cache Updates ($Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + } + ] + } + ], + "repeat": null, + "repeatIteration": null, + "repeatRowId": null, + "showTitle": false, + "title": "Google Invocations", + "titleSize": "h6" + }, + { + "collapse": false, + "height": 185, + "panels": [ + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "id": 10, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "span": 8, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(rate(platform_google_api_storage_completions__totalTime_total{instance=~\"$Instance\",spin_service=\"front50\"}[$SamplePeriod])) by (method) / sum(rate(platform_google_api_storage_completions__count_total{instance=~\"$Instance\",spin_service=\"front50\"}[$SamplePeriod])) by (method)", + "intervalFactor": 2, + "legendFormat": "{{method}}", + "refId": "A", + "step": 20 + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "Google Storage Service Invocation Latency ($Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ] + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "id": 38, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "span": 4, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "avg(front50_cache_age{instance=~\"$Instance\"}) by (objectType)", + "intervalFactor": 2, + "legendFormat": "{{objectType}}", + "refId": "A", + "step": 40 + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "Item Cache Age ($Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "ms", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "s", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ] + } + ], + "repeat": null, + "repeatIteration": null, + "repeatRowId": null, + "showTitle": false, + "title": "Google Latency", + "titleSize": "h6" + }, + { + "collapse": false, + "height": 180, + "panels": [ + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "id": 21, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "span": 12, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "avg(platform_java_memory{instance=~\"$Instance\",spin_service=\"front50\",scope=\"HEAP\"}) by (segment)", + "intervalFactor": 2, + "legendFormat": "{{segment}}", + "metric": "", + "refId": "D", + "step": 10 + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "JVM Memory Usage ($Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "decbytes", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "decbytes", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ] + } + ], + "repeat": null, + "repeatIteration": null, + "repeatRowId": null, + "showTitle": false, + "title": "JVM Memory", + "titleSize": "h6" + } + ], + "schemaVersion": 14, + "style": "dark", + "tags": [ + "spinnaker" + ], + "templating": { + "list": [ + { + "allValue": ".*", + "current": {}, + "datasource": "${DS_SPINNAKER}", + "hide": 0, + "includeAll": true, + "label": null, + "multi": false, + "name": "Instance", + "options": [], + "query": "label_values(front50_cache_refresh__count_total, instance)", + "refresh": 1, + "regex": "", + "sort": 1, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "allValue": null, + "current": { + "tags": [], + "text": "Delta", + "value": "delta" + }, + "hide": 0, + "includeAll": false, + "label": null, + "multi": false, + "name": "Function", + "options": [ + { + "selected": true, + "text": "Delta", + "value": "delta" + }, + { + "selected": false, + "text": "Rate", + "value": "rate" + }, + { + "selected": false, + "text": "Instant Delta", + "value": "idelta" + }, + { + "selected": false, + "text": "Instant Rate", + "value": "irate" + } + ], + "query": "delta,rate,idelta,irate", + "type": "custom" + }, + { + "auto": false, + "auto_count": 30, + "auto_min": "10s", + "current": { + "text": "1m", + "value": "1m" + }, + "hide": 0, + "label": "Sample Period", + "name": "SamplePeriod", + "options": [ + { + "selected": true, + "text": "1m", + "value": "1m" + }, + { + "selected": false, + "text": "5m", + "value": "5m" + }, + { + "selected": false, + "text": "10m", + "value": "10m" + }, + { + "selected": false, + "text": "15m", + "value": "15m" + }, + { + "selected": false, + "text": "30m", + "value": "30m" + }, + { + "selected": false, + "text": "1h", + "value": "1h" + } + ], + "query": "1m,5m,10m,15m,30m,1h", + "refresh": 2, + "type": "interval" + } + ] + }, + "time": { + "from": "now-3h", + "to": "now" + }, + "timepicker": { + "refresh_intervals": [ + "5s", + "10s", + "30s", + "1m", + "5m", + "15m", + "30m", + "1h", + "2h", + "1d" + ], + "time_options": [ + "5m", + "15m", + "1h", + "6h", + "12h", + "24h", + "2d", + "7d", + "30d" + ] + }, + "timezone": "browser", + "title": "Front50 Microservice", + "version": 4 +} diff --git a/spinnaker-monitoring-third-party/third_party/prometheus/experimental/gate-microservice-dashboard.json b/spinnaker-monitoring-third-party/third_party/prometheus/experimental/gate-microservice-dashboard.json new file mode 100644 index 0000000..e03651c --- /dev/null +++ b/spinnaker-monitoring-third-party/third_party/prometheus/experimental/gate-microservice-dashboard.json @@ -0,0 +1,913 @@ +{ + "__inputs": [ + { + "name": "DS_SPINNAKER", + "label": "Spinnaker", + "description": "", + "type": "datasource", + "pluginId": "prometheus", + "pluginName": "Prometheus" + } + ], + "__requires": [ + { + "type": "grafana", + "id": "grafana", + "name": "Grafana", + "version": "4.3.2" + }, + { + "type": "panel", + "id": "graph", + "name": "Graph", + "version": "" + }, + { + "type": "datasource", + "id": "prometheus", + "name": "Prometheus", + "version": "1.0.0" + } + ], + "annotations": { + "list": [] + }, + "editable": true, + "gnetId": null, + "graphTooltip": 0, + "hideControls": false, + "id": null, + "links": [], + "refresh": "30s", + "rows": [ + { + "collapse": false, + "height": 195, + "panels": [ + { + "aliasColors": {}, + "bars": true, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "id": 11, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "span": 4, + "stack": true, + "steppedLine": false, + "targets": [ + { + "expr": "sum(hystrix_rollingCount_shortCircuited{instance=~\"$Instance\",spin_service=\"gate\"}) by (metricGroup, metricType)", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "{{metricGroup}}({{metricType}})", + "metric": "", + "refId": "A", + "step": 40 + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "Hystrix Short Circuited ($Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "cumulative" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ] + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "id": 37, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "span": 5, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum($Function(hystrix_rollingCount_fallback{instance=~\"$Instance\",spin_service=\"gate\",success=\"true\"}[$SamplePeriod])) by (metricType, metricGroup)", + "format": "time_series", + "interval": "", + "intervalFactor": 2, + "legendFormat": "{{metricType}}({{metricGroup}})/SUCCESS", + "metric": "", + "refId": "A", + "step": 40 + }, + { + "expr": "sum($Function(hystrix_rollingCount_fallback{instance=~\"$Instance\",spin_service=\"gate\",success!=\"true\"}[$SamplePeriod])) by (metricType, metricGroup)", + "format": "time_series", + "interval": "", + "intervalFactor": 2, + "legendFormat": "{{metricType}}({{metricGroup}})/FAIL", + "metric": "", + "refId": "B", + "step": 40 + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "Hystrix Fallback Results ($Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + } + ] + }, + { + "aliasColors": {}, + "bars": true, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "id": 12, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "span": 3, + "stack": true, + "steppedLine": false, + "targets": [ + { + "expr": "sum($Function(hystrix_rollingCount_attempt{instance=~\"$Instance\",spin_service=\"gate\",success=\"true\"}[$SamplePeriod])) by (metricType, metricGroup)", + "format": "time_series", + "interval": "", + "intervalFactor": 2, + "legendFormat": "{{metricType}}({{metricGroup}})/SUCCESS", + "metric": "", + "refId": "A", + "step": 40 + }, + { + "expr": "sum($Function(hystrix_rollingCount_attempt{instance=~\"$Instance\",spin_service=\"gate\",success!=\"true\"}[$SamplePeriod])) by (metricType, metricGroup)", + "format": "time_series", + "interval": "", + "intervalFactor": 2, + "legendFormat": "{{metricType}}({{metricGroup}})/FAIL", + "metric": "", + "refId": "B", + "step": 40 + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "Hystrix Rolling Count Attempts ($Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "cumulative" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ] + } + ], + "repeat": null, + "repeatIteration": null, + "repeatRowId": null, + "showTitle": false, + "title": "Hystrix Error Signals", + "titleSize": "h6" + }, + { + "collapse": false, + "height": 143, + "panels": [ + { + "aliasColors": {}, + "bars": true, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "id": 66, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "span": 12, + "stack": true, + "steppedLine": false, + "targets": [ + { + "expr": "$Function(service_throttling_count{instance=~\"$Instance\"}[$SamplePeriod])", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "", + "metric": "", + "refId": "A", + "step": 10 + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "Rate Limit Throttling ($Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ] + } + ], + "repeat": null, + "repeatIteration": null, + "repeatRowId": null, + "showTitle": false, + "title": "Rate Limiting", + "titleSize": "h6" + }, + { + "collapse": false, + "height": 197, + "panels": [ + { + "aliasColors": {}, + "bars": true, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "id": 65, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "span": 12, + "stack": true, + "steppedLine": false, + "targets": [ + { + "expr": "label_replace(sum($Function(service_controller_completions__count_total{instance=~\"$Instance\",spin_service=\"gate\",status=\"5xx\"}[$SamplePeriod])) by (controller, method, statusCode), \"controller\", \"$1\", \"controller\", \"(.*)Controller\")", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "{{statusCode}}/{{controller}}/{{method}}", + "refId": "A", + "step": 10 + }, + { + "expr": "label_replace(sum($Function(service_controller_completions__count_total{instance=~\"$Instance\",spin_service=\"gate\",statusCode=\"429\"}[$SamplePeriod])) by (controller, method, statusCode), \"controller\", \"$1\", \"controller\", \"(.*)Controller\")", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "{{statusCode}}/{{controller}}/{{method}}", + "refId": "B", + "step": 10 + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "5xx/429 Controller Invocations ($Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + } + ] + } + ], + "repeat": null, + "repeatIteration": null, + "repeatRowId": null, + "showTitle": false, + "title": "5xx Errors", + "titleSize": "h6" + }, + { + "collapse": false, + "height": 265, + "panels": [ + { + "aliasColors": {}, + "bars": true, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "id": 5, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "span": 12, + "stack": true, + "steppedLine": false, + "targets": [ + { + "expr": "label_replace(sum($Function(service_controller_completions__count_total{instance=~\"$Instance\",spin_service=\"gate\"}[$SamplePeriod])) by (controller, method), \"controller\", \"$1\", \"controller\", \"(.*)Controller\")", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "{{controller}}/{{method}}", + "refId": "A", + "step": 10 + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "Controller Invocations by Method ($Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + } + ] + } + ], + "repeat": null, + "repeatIteration": null, + "repeatRowId": null, + "showTitle": false, + "title": "Invocations by Method", + "titleSize": "h6" + }, + { + "collapse": false, + "height": 269, + "panels": [ + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "id": 24, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "span": 12, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "label_replace(sum(rate(service_controller_completions__totalTime_total{instance=~\"$Instance\",spin_service=\"gate\"}[$SamplePeriod])) by (controller, method) / sum(rate(service_controller_completions__count_total{instance=~\"$Instance\",spin_service=\"gate\"}[$SamplePeriod])) by (controller, method), \"controller\", \"$1\", \"controller\", \"(.*)Controller\")", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "{{controller}}/{{method}}", + "refId": "A", + "step": 10 + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "Controller Invocation Latency by Method ($Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ] + } + ], + "repeat": null, + "repeatIteration": null, + "repeatRowId": null, + "showTitle": false, + "title": "Latency By method", + "titleSize": "h6" + }, + { + "collapse": false, + "height": 203, + "panels": [ + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "id": 21, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "span": 12, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "avg(platform_java_memory{instance=~\"$Instance\", spin_service=\"gate\",scope=\"HEAP\"}) by (segment)", + "intervalFactor": 2, + "legendFormat": "{{segment}}", + "metric": "", + "refId": "E", + "step": 10 + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "JVM Memory Usage ($Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "decbytes", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "decbytes", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ] + } + ], + "repeat": null, + "repeatIteration": null, + "repeatRowId": null, + "showTitle": false, + "title": "JVM Memory", + "titleSize": "h6" + } + ], + "schemaVersion": 14, + "style": "dark", + "tags": [ + "spinnaker" + ], + "templating": { + "list": [ + { + "allValue": ".*", + "current": {}, + "datasource": "${DS_SPINNAKER}", + "hide": 0, + "includeAll": true, + "label": null, + "multi": false, + "name": "Instance", + "options": [], + "query": "label_values(service_controller_completions__count_total{spin_service=\"gate\"}, instance)", + "refresh": 1, + "regex": "", + "sort": 1, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "allValue": null, + "current": { + "tags": [], + "text": "Instant Rate", + "value": "irate" + }, + "hide": 0, + "includeAll": false, + "label": null, + "multi": false, + "name": "Function", + "options": [ + { + "selected": false, + "text": "Delta", + "value": "delta" + }, + { + "selected": false, + "text": "Rate", + "value": "rate" + }, + { + "selected": false, + "text": "Instant Delta", + "value": "idelta" + }, + { + "selected": true, + "text": "Instant Rate", + "value": "irate" + } + ], + "query": "delta,rate,idelta,irate", + "type": "custom" + }, + { + "auto": false, + "auto_count": 30, + "auto_min": "10s", + "current": { + "text": "1m", + "value": "1m" + }, + "hide": 0, + "label": "Sample Period", + "name": "SamplePeriod", + "options": [ + { + "selected": true, + "text": "1m", + "value": "1m" + }, + { + "selected": false, + "text": "5m", + "value": "5m" + }, + { + "selected": false, + "text": "10m", + "value": "10m" + }, + { + "selected": false, + "text": "15m", + "value": "15m" + }, + { + "selected": false, + "text": "30m", + "value": "30m" + }, + { + "selected": false, + "text": "1h", + "value": "1h" + } + ], + "query": "1m,5m,10m,15m,30m,1h", + "refresh": 2, + "type": "interval" + } + ] + }, + "time": { + "from": "now-3h", + "to": "now" + }, + "timepicker": { + "refresh_intervals": [ + "5s", + "10s", + "30s", + "1m", + "5m", + "15m", + "30m", + "1h", + "2h", + "1d" + ], + "time_options": [ + "5m", + "15m", + "1h", + "6h", + "12h", + "24h", + "2d", + "7d", + "30d" + ] + }, + "timezone": "browser", + "title": "Gate Microservice", + "version": 1 +} diff --git a/spinnaker-monitoring-third-party/third_party/prometheus/experimental/google-platform-dashboard.json b/spinnaker-monitoring-third-party/third_party/prometheus/experimental/google-platform-dashboard.json new file mode 100644 index 0000000..95b2c83 --- /dev/null +++ b/spinnaker-monitoring-third-party/third_party/prometheus/experimental/google-platform-dashboard.json @@ -0,0 +1,4084 @@ +{ + "__inputs": [ + { + "name": "DS_SPINNAKER", + "label": "Spinnaker", + "description": "", + "type": "datasource", + "pluginId": "prometheus", + "pluginName": "Prometheus" + } + ], + "__requires": [ + { + "type": "grafana", + "id": "grafana", + "name": "Grafana", + "version": "4.4.3" + }, + { + "type": "panel", + "id": "graph", + "name": "Graph", + "version": "" + }, + { + "type": "datasource", + "id": "prometheus", + "name": "Prometheus", + "version": "1.0.0" + } + ], + "annotations": { + "list": [] + }, + "editable": true, + "gnetId": null, + "graphTooltip": 0, + "id": null, + "links": [], + "panels": [ + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 0 + }, + "id": 74, + "panels": [], + "repeat": null, + "title": "API Errors", + "type": "row" + }, + { + "aliasColors": {}, + "bars": true, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 7, + "w": 12, + "x": 0, + "y": 1 + }, + "id": 62, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": false, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": true, + "steppedLine": true, + "targets": [ + { + "expr": "sum(label_replace($Function(platform_google_api_compute_completions__count_total{instance=~\"$Instance\",status!=\"2xx\"}[$SamplePeriod]), \"resource\", \"$1\", \"method\", \"(.*)\\\\..*\")) by (resource, statusCode)", + "format": "time_series", + "hide": false, + "intervalFactor": 2, + "legendFormat": "{{statusCode}}/{{resource}}", + "metric": "", + "refId": "A", + "step": 30 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "GCP API Failures by Resource (clouddriver, $Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "transparent": false, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": true, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 7, + "w": 12, + "x": 12, + "y": 1 + }, + "id": 63, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": false, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": true, + "steppedLine": true, + "targets": [ + { + "expr": "sum($Function(platform_google_api_compute_completions__count_total{instance=~\"$Instance\",status!=\"2xx\", scope=\"regional\"}[$SamplePeriod])) by (region, statusCode)", + "format": "time_series", + "hide": false, + "intervalFactor": 2, + "legendFormat": "{{statusCode}}/{{region}}", + "metric": "", + "refId": "A", + "step": 30 + }, + { + "expr": "sum(label_replace($Function(platform_google_api_compute_completions__count_total{instance=~\"$Instance\",status!=\"2xx\",scope=\"zonal\"}[$SamplePeriod]), \"zoneRegion\", \"$1\", \"zone\", \"(.*)-.\")) by (zoneRegion, statusCode)", + "format": "time_series", + "hide": false, + "intervalFactor": 2, + "legendFormat": "{{statusCode}}/{{zoneRegion}}+", + "metric": "", + "refId": "B", + "step": 30 + }, + { + "expr": "sum($Function(platform_google_api_compute_completions__count_total{instance=~\"$Instance\",status!=\"2xx\",scope=\"global\"}[$SamplePeriod])) by (zone, statusCode)", + "format": "time_series", + "hide": false, + "intervalFactor": 2, + "legendFormat": "{{statusCode}}/global", + "metric": "", + "refId": "C", + "step": 30 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "GCP API Failures by Region (clouddriver, $Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "transparent": false, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 8 + }, + "id": 75, + "panels": [], + "repeat": null, + "title": "API Call Summary", + "type": "row" + }, + { + "aliasColors": {}, + "bars": true, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 7, + "w": 12, + "x": 0, + "y": 9 + }, + "id": 55, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": false, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": true, + "steppedLine": true, + "targets": [ + { + "expr": "sum(label_replace($Function(platform_google_api_compute_completions__count_total{instance=~\"$Instance\"}[$SamplePeriod]), \"resource\", \"$1\", \"method\", \"(.*)\\\\..*\")) by (resource)", + "format": "time_series", + "hide": true, + "intervalFactor": 2, + "legendFormat": "{{resource}}", + "metric": "", + "refId": "A", + "step": 4 + }, + { + "expr": "sum(label_replace($Function(platform_google_api_compute_completions__count_total{instance=~\"$Instance\"}[$SamplePeriod]), \"resource\", \"$1\", \"method\", \"(.*)\\\\..*\")) by (resource, status, statusCode)", + "format": "time_series", + "hide": false, + "intervalFactor": 2, + "legendFormat": "{{resource}}", + "metric": "", + "refId": "B", + "step": 30 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "GCP API Calls by Resource (clouddriver, $Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "transparent": false, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": true, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 7, + "w": 12, + "x": 12, + "y": 9 + }, + "id": 56, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": false, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": true, + "steppedLine": true, + "targets": [ + { + "expr": "sum($Function(platform_google_api_compute_completions__count_total{instance=~\"$Instance\",scope=\"regional\"}[$SamplePeriod])) by (region)", + "format": "time_series", + "hide": false, + "intervalFactor": 2, + "legendFormat": "{{region}}", + "metric": "", + "refId": "A", + "step": 30 + }, + { + "expr": "sum(label_replace($Function(platform_google_api_compute_completions__count_total{instance=~\"$Instance\",scope=\"zonal\"}[$SamplePeriod]), \"zoneRegion\", \"$1\", \"zone\", \"(.*)-.\")) by (zoneRegion)", + "format": "time_series", + "hide": false, + "intervalFactor": 2, + "legendFormat": "{{zoneRegion}}+", + "metric": "", + "refId": "B", + "step": 30 + }, + { + "expr": "sum($Function(platform_google_api_compute_completions__count_total{instance=~\"$Instance\",scope=\"global\"}[$SamplePeriod])) by (zone)", + "format": "time_series", + "hide": false, + "intervalFactor": 2, + "legendFormat": "global", + "metric": "", + "refId": "C", + "step": 30 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "GCP API Calls by Region (clouddriver, $Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "transparent": false, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 16 + }, + "id": 76, + "panels": [], + "repeat": null, + "title": "Global API Calls", + "type": "row" + }, + { + "aliasColors": {}, + "bars": true, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 6, + "w": 12, + "x": 0, + "y": 17 + }, + "id": 58, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": false, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": true, + "steppedLine": true, + "targets": [ + { + "expr": "sum($Function(platform_google_api_compute_completions__count_total{instance=~\"$Instance\",scope=\"global\"}[$SamplePeriod])) by (method)", + "format": "time_series", + "hide": false, + "intervalFactor": 2, + "legendFormat": "{{method}}", + "metric": "", + "refId": "A", + "step": 30 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Global GCP API Calls (clouddriver, $Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "transparent": false, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 6, + "w": 12, + "x": 12, + "y": 17 + }, + "id": 59, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(rate(platform_google_api_compute_completions__totalTime_total{instance=~\"$Instance\",scope=\"global\"}[$SamplePeriod])) by (method) / sum(rate(platform_google_api_compute_completions__count_total{instance=~\"$Instance\",scope=\"global\"}[$SamplePeriod])) by (method)", + "format": "time_series", + "hide": false, + "intervalFactor": 2, + "legendFormat": "{{method}}", + "metric": "", + "refId": "A", + "step": 30 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Global GCP API Latency (clouddriver, $Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "transparent": false, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 23 + }, + "id": 77, + "panels": [], + "repeat": null, + "title": "Regional API Calls", + "type": "row" + }, + { + "aliasColors": {}, + "bars": true, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 7, + "w": 12, + "x": 0, + "y": 24 + }, + "id": 42, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": false, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": true, + "steppedLine": true, + "targets": [ + { + "expr": "sum($Function(platform_google_api_compute_completions__count_total{instance=~\"$Instance\",scope=\"regional\",region=~\"$GcpRegion\"}[$SamplePeriod])) by (method)", + "format": "time_series", + "hide": false, + "intervalFactor": 2, + "legendFormat": "{{method}}", + "metric": "", + "refId": "A", + "step": 30 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Regional GCP API Calls in $GcpRegion (clouddriver, $Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "transparent": false, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 7, + "w": 12, + "x": 12, + "y": 24 + }, + "id": 60, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(rate(platform_google_api_compute_completions__totalTime_total{instance=~\"$Instance\",scope=\"regional\",region=~\"$GcpRegion\"}[$SamplePeriod])) by (method) / sum(rate(platform_google_api_compute_completions__count_total{instance=~\"$Instance\",scope=\"regional\",region=~\"$GcpRegion\"}[$SamplePeriod])) by (method)", + "format": "time_series", + "hide": false, + "intervalFactor": 2, + "legendFormat": "{{method}}", + "metric": "", + "refId": "A", + "step": 30 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Regional GCP API Latency in $GcpRegion (clouddriver, $Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "transparent": false, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 31 + }, + "id": 78, + "panels": [], + "repeat": null, + "title": "Zonal API Calls", + "type": "row" + }, + { + "aliasColors": {}, + "bars": true, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 6, + "w": 12, + "x": 0, + "y": 32 + }, + "id": 57, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": false, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": true, + "steppedLine": true, + "targets": [ + { + "expr": "label_replace(sum($Function(platform_google_api_compute_completions__count_total{instance=~\"$Instance\",scope=\"zonal\",zone=~\".*$GcpRegion.*\"}[$SamplePeriod])) by (zone, method), \"cell\", \"$1\", \"zone\", \".*-(.)\")", + "format": "time_series", + "hide": false, + "intervalFactor": 2, + "legendFormat": "{{method}}/{{cell}}", + "metric": "", + "refId": "A", + "step": 30 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Zonal GCP API in $GcpRegion (clouddriver, $Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "transparent": false, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 6, + "w": 12, + "x": 12, + "y": 32 + }, + "id": 61, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(rate(platform_google_api_compute_completions__totalTime_total{instance=~\"$Instance\",scope=\"zonal\",zone=~\".*$GcpRegion.*\"}[$SamplePeriod])) by (method, zone) / sum(rate(platform_google_api_compute_completions__count_total{instance=~\"$Instance\",scope=\"zonal\", zone=~\".*$GcpRegion.*\"}[$SamplePeriod])) by (method, zone)", + "format": "time_series", + "hide": false, + "intervalFactor": 2, + "legendFormat": "{{method}}/{{zone}}", + "metric": "", + "refId": "A", + "step": 30 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Zonal GCP API Latency in $GcpRegion (clouddriver, $Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "transparent": false, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 38 + }, + "id": 79, + "panels": [], + "repeat": null, + "title": "Batch Calls", + "type": "row" + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 5, + "w": 6, + "x": 0, + "y": 39 + }, + "id": 47, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "label_replace(sum($Function(platform_google_api_batch_size_total{instance=~\"$Instance\"}[$SamplePeriod])) by (context), \"context\", \"$1$2\", \"context\", \"(.*)Caching(.*)\")", + "intervalFactor": 2, + "legendFormat": "{{context}}", + "metric": "", + "refId": "A", + "step": 60 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "GCP Batch Size (clouddriver, $Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": true, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 5, + "w": 10, + "x": 6, + "y": 39 + }, + "id": 50, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": false, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": true, + "targets": [ + { + "expr": "label_replace(sum($Function(platform_google_api_batch_completions__count_total{instance=~\"$Instance\"}[$SamplePeriod])) by (context), \"context\", \"$1$2\", \"context\", \"(.*)Caching(.*)\")", + "intervalFactor": 2, + "legendFormat": "{{context}}", + "metric": "", + "refId": "A", + "step": 40 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "GCP Batch Count (clouddriver, $Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 5, + "w": 8, + "x": 16, + "y": 39 + }, + "id": 49, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "label_replace(rate(platform_google_api_batch_completions__totalTime_total{instance=~\"$Instance\"}[$SamplePeriod]) / rate(platform_google_api_batch_completions__count_total{instance=~\"$Instance\"}[$SamplePeriod]), \"context\", \"$1$2\", \"context\", \"(.*)Caching(.*)\")", + "intervalFactor": 2, + "legendFormat": "{{context}}", + "metric": "", + "refId": "A", + "step": 40 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "GCP Batch Latency (clouddriver, $Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 44 + }, + "id": 80, + "panels": [], + "repeat": null, + "title": "GCP Operations Outcome", + "type": "row" + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 7, + "w": 12, + "x": 0, + "y": 45 + }, + "id": 54, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum($Function(platform_google_operation_waits__count_total{instance=~\"$Instance\",status=\"DONE\"}[$SamplePeriod])) by (basePhase)", + "format": "time_series", + "hide": false, + "intervalFactor": 2, + "legendFormat": "{{basePhase}}", + "metric": "", + "refId": "A", + "step": 30 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Successful GCP Operations (clouddriver, $Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [ + "total" + ] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 7, + "w": 12, + "x": 12, + "y": 45 + }, + "id": 46, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum($Function(platform_google_operation_waits__count_total{instance=~\"$Instance\",status!=\"DONE\"}[$SamplePeriod])) by (basePhase, scope) ", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "{{scope}}/{{basePhase}}", + "metric": "", + "refId": "A", + "step": 30 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Failed GCP Operations (clouddriver, $Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "s", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 52 + }, + "id": 81, + "panels": [], + "repeat": null, + "title": "Waiting GCP Operations", + "type": "row" + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 6, + "w": 8, + "x": 0, + "y": 53 + }, + "id": 44, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(rate(platform_google_operation_waits__totalTime_total{instance=~\"$Instance\",scope=\"global\"}[$SamplePeriod])) by (basePhase) / sum(rate(platform_google_operation_waits__count_total{instance=~\"$Instance\",scope=\"global\"}[$SamplePeriod])) by (basePhase) ", + "format": "time_series", + "hide": false, + "intervalFactor": 2, + "legendFormat": "{{basePhase}}", + "metric": "", + "refId": "A", + "step": 40 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Global GCP Operation Waiting (clouddriver, $Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 6, + "w": 8, + "x": 8, + "y": 53 + }, + "id": 67, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(rate(platform_google_operation_waits__totalTime_total{instance=~\"$Instance\",scope=\"regional\",region=~\"$GcpRegion\"}[$SamplePeriod])) by (region, basePhase) / sum(rate(platform_google_operation_waits__count_total{instance=~\"$Instance\",scope=\"regional\",region=~\"$GcpRegion\"}[$SamplePeriod])) by (region, basePhase) ", + "format": "time_series", + "hide": false, + "intervalFactor": 2, + "legendFormat": "{{basePhase}}//{{region}}", + "metric": "", + "refId": "A", + "step": 40 + }, + { + "expr": "rate(platform_google_operation_waits__count_total{instance=~\"$Instance\",scope=\"regional\",region=~\"$GcpRegion\"}[$SamplePeriod])", + "format": "time_series", + "hide": true, + "intervalFactor": 2, + "legendFormat": "", + "metric": "", + "refId": "B", + "step": 4 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Regional GCP Operation Waiting in $GcpRegion (clouddriver, $Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 6, + "w": 8, + "x": 16, + "y": 53 + }, + "id": 68, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(label_replace(rate(platform_google_operation_waits__totalTime_total{instance=~\"$Instance\",scope=\"zonal\",zone=~\".*$GcpRegion.*\"}[$SamplePeriod]), \"cell\", \"$1\", \"zone\", \".*-(.)\")) by (basePhase, cell) / sum(label_replace(rate(platform_google_operation_waits__count_total{instance=~\"$Instance\",scope=\"zonal\",zone=~\".*$GcpRegion.*\"}[$SamplePeriod]), \"cell\", \"$1\", \"zone\", \".*-(.)\")) by (basePhase, cell) ", + "format": "time_series", + "hide": false, + "intervalFactor": 2, + "legendFormat": "{{basePhase}}/{{cell}}", + "metric": "", + "refId": "A", + "step": 40 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Zonal GCP Operation Waiting in $GcpRegion (clouddriver, $Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 59 + }, + "id": 82, + "panels": [], + "repeat": null, + "title": "Safe Retry Count", + "type": "row" + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 7, + "w": 8, + "x": 0, + "y": 60 + }, + "id": 69, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(label_replace($Function(platform_google_operation_retryable__count_total{instance=~\"$Instance\",spin_service=\"clouddriver\",scope=\"global\"}[$SamplePeriod]), \"operation\", \"$1\", \"operation\", \"compute.(.*)\")) by (operation, phase)", + "hide": false, + "intervalFactor": 2, + "legendFormat": "{{phase}}.{{operation}}", + "metric": "", + "refId": "A", + "step": 40 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Retryable Global GCP (clouddriver, $Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 7, + "w": 8, + "x": 8, + "y": 60 + }, + "id": 70, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "label_replace(sum($Function(platform_google_operation_retryable__count_total{instance=~\"$Instance\",spin_service=\"clouddriver\",scope=\"regional\",region=~\"$GcpRegion\"}[$SamplePeriod])) by (instance, phase, operation), \"operation\", \"$1\", \"operation\", \"compute.(.*)\")", + "hide": false, + "intervalFactor": 2, + "legendFormat": "{{phase}}.{{operation}}", + "metric": "", + "refId": "A", + "step": 40 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Retryable Regional GCP in $GcpRegion (clouddriver, $Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 7, + "w": 8, + "x": 16, + "y": 60 + }, + "id": 71, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "label_replace(label_replace(sum($Function(platform_google_operation_retryable__count_total{instance=~\"$Instance\",spin_service=\"clouddriver\",scope=\"zonal\",zone=~\".*$GcpRegion.*\"}[$SamplePeriod])) by (instance, phase, operation, cell), \"operation\", \"$1\", \"operation\", \"compute.(.*)\"), \"cell\", \"$1\", \"zone\", \".*-(.)\")", + "hide": false, + "intervalFactor": 2, + "legendFormat": "{{phase}}.{{operation}}/{{cell}}", + "metric": "", + "refId": "A", + "step": 40 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Retryable Zonal GCP in $GcpRegion (clouddriver, $Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 67 + }, + "id": 83, + "panels": [], + "repeat": null, + "title": "Safe Retry Latency", + "type": "row" + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 7, + "w": 8, + "x": 0, + "y": 68 + }, + "id": 53, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "label_replace(sum(rate(platform_google_operation_retryable__totalTime_total{instance=~\"$Instance\",scope=\"global\"}[$SamplePeriod])) by (operation, phase) / sum(rate(platform_google_operation_retryable__count_total{instance=~\"$Instance\",scope=\"global\"}[$SamplePeriod])) by (operation, phase), \"operation\", \"$1\", \"operation\", \"compute.(.*)\")", + "intervalFactor": 2, + "legendFormat": "{{phase}}.{{operation}}", + "metric": "", + "refId": "A", + "step": 40 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Retryable Global GCP Latency (clouddriver, $Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 7, + "w": 8, + "x": 8, + "y": 68 + }, + "id": 72, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "label_replace(sum(rate(platform_google_operation_retryable__totalTime_total{instance=~\"$Instance\",scope=\"regional\",region=~\"$GcpRegion\"}[$SamplePeriod])) by (operation, phase) / sum(rate(platform_google_operation_retryable__count_total{instance=~\"$Instance\",scope=\"regional\",region=~\"$GcpRegion\"}[$SamplePeriod])) by (operation, phase), \"operation\", \"$1\", \"operation\", \"compute.(.*)\")", + "intervalFactor": 2, + "legendFormat": "{{phase}}.{{operation}}", + "metric": "", + "refId": "A", + "step": 40 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Retryable Regional GCP Latency in $GcpRegion (clouddriver, $Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 7, + "w": 8, + "x": 16, + "y": 68 + }, + "id": 73, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "label_replace(sum(label_replace(sum(rate(platform_google_operation_retryable__totalTime_total{instance=~\"$Instance\",spin_service=\"clouddriver\",scope=\"zonal\",zone=~\".*$GcpRegion.*\"}[$SamplePeriod])) by (operation, phase, zone) / sum(rate(platform_google_operation_retryable__count_total{instance=~\"$Instance\",spin_service=\"clouddriver\",scope=\"zonal\",zone=~\".*$GcpRegion.*\"}[$SamplePeriod])) by (operation, phase, zone), \"cell\", \"$1\", \"zone\", \".*-(.)\")) by (phase, operation, cell), \"operation\", \"$1\", \"operation\", \"compute.(.*)\")", + "intervalFactor": 2, + "legendFormat": "{{phase}}.{{operation}}/{{cell}}", + "metric": "", + "refId": "A", + "step": 40 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Retryable Zonal GCP Latency in $GcpRegion (clouddriver, $Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 75 + }, + "id": 84, + "panels": [], + "repeat": null, + "title": "Google Storage", + "type": "row" + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 6, + "w": 12, + "x": 0, + "y": 76 + }, + "id": 9, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum($Function(platform_google_api_storage_completions__count_total{instance=~\"$Front50Instance\",spin_service=\"front50\"}[$SamplePeriod])) by (method)", + "intervalFactor": 2, + "legendFormat": "{{method}}", + "refId": "A", + "step": 30 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Google Storage Service Calls (front50, $Front50Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 6, + "w": 12, + "x": 12, + "y": 76 + }, + "id": 10, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(rate(platform_google_api_storage_completions__totalTime_total{instance=~\"$Front50Instance\",spin_service=\"front50\"}[$SamplePeriod])) by (method) / sum(rate(platform_google_api_storage_completions__count_total{instance=~\"$Front50Instance\",spin_service=\"front50\"}[$SamplePeriod])) by (method)", + "intervalFactor": 2, + "legendFormat": "{{method}}", + "refId": "A", + "step": 30 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Google Storage Service Latency (front50, $Front50Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 82 + }, + "id": 102, + "panels": [], + "title": "OnDemand Cache Performance", + "type": "row" + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 6, + "w": 14, + "x": 0, + "y": 83 + }, + "id": 105, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "avg(label_replace($Function(clouddriver_cache_onDemand_completions__count_total{instance=~\"$Instance\", platform=\"gce\", region=~\"$GcpRegion\"}[$SamplePeriod]), \"agent\", \"$1\", \"agent\", \"Google(.*)CachingAgent.*\")) by (agent, region)", + "format": "time_series", + "hide": false, + "intervalFactor": 1, + "legendFormat": "{{agent}}/{{region}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Avg OnDemand Completions by Agent/Region", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 4, + "w": 10, + "x": 14, + "y": 83 + }, + "id": 100, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(rate(clouddriver_cache_onDemand_errors_total{instance=~\"$Instance\", platform=\"gce\"}[$SamplePeriod])/rate(clouddriver_cache_onDemand_calls_total{instance=~\"$Instance\", platform=\"gce\"}[$SamplePeriod])) by (resource, region)", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "{{resource}}/{{region}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "On Demand Error Percent by Resource / Region", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "percentunit", + "label": null, + "logBase": 1, + "max": "1.25", + "min": null, + "show": true + }, + { + "format": "percentunit", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 4, + "w": 10, + "x": 14, + "y": 87 + }, + "id": 107, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "avg(label_replace($Function(clouddriver_cache_onDemand_errors_total{instance=~\"$Instance\", platform=\"gce\", region=~\"$GcpRegion\"}[$SamplePeriod]), \"agent\", \"$1\", \"agent\", \"Google(.*)CachingAgent.*\")) by (agent, region)", + "format": "time_series", + "hide": false, + "intervalFactor": 1, + "legendFormat": "{{agent}}/{{region}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Avg OnDemand Errors by Agent/Region", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 10, + "w": 14, + "x": 0, + "y": 89 + }, + "id": 106, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "avg(label_replace(rate(clouddriver_cache_onDemand_completions__totalTime_total{instance=~\"$Instance\", platform=\"gce\", region=~\"$GcpRegion\"}[$SamplePeriod]) / rate(clouddriver_cache_onDemand_completions__count_total{instance=~\"$Instance\", platform=\"gce\", region!=\"\"}[$SamplePeriod]), \"agent\", \"$1\", \"agent\", \"Google(.*)CachingAgent.*\")) by (agent, region)", + "format": "time_series", + "hide": false, + "intervalFactor": 1, + "legendFormat": "{{agent}}/{{region}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Avg OnDemand Completion Time by Agent/Region", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 4, + "w": 10, + "x": 14, + "y": 91 + }, + "id": 109, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "avg(label_replace($Function(clouddriver_cache_onDemand_completions__count_total{instance=~\"$Instance\", platform=\"gce\", region=~\"$GcpRegion\"}[$SamplePeriod]) - $Function(clouddriver_cache_onDemand_completions__count_total{instance=~\"$Instance\", platform=\"gce\", region=~\"$GcpRegion\"}[$SamplePeriod]), \"agent\", \"$1\", \"agent\", \"Google(.*)CachingAgent.*\")) by (agent, region)", + "format": "time_series", + "hide": false, + "intervalFactor": 1, + "legendFormat": "{{agent}}/{{region}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Avg OnDemand Skips by Agent/Region", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 4, + "w": 10, + "x": 14, + "y": 95 + }, + "id": 108, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "avg(label_replace($Function(clouddriver_cache_onDemand_calls_total{instance=~\"$Instance\", platform=\"gce\", region=~\"$GcpRegion\"}[$SamplePeriod]), \"agent\", \"$1\", \"agent\", \"Google(.*)CachingAgent.*\")) by (agent, region)", + "format": "time_series", + "hide": false, + "intervalFactor": 1, + "legendFormat": "{{agent}}/{{region}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Avg OnDemand Attempts by Agent/Region", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 99 + }, + "id": 97, + "panels": [], + "title": "Caching Performance", + "type": "row" + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 9, + "w": 12, + "x": 0, + "y": 100 + }, + "id": 110, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "label_replace($Function(clouddriver_cache_execution_successful__count_total{instance=~\"$Instance\", provider=~\".*google.provider.*\", region=\"\"}[$SamplePeriod]), \"name\", \"$1\", \"agent\", \"Google(.*)CachingAgent\")", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "{{name}}", + "refId": "A" + }, + { + "expr": "avg(label_replace($Function(clouddriver_cache_execution_successful__count_total{instance=~\"$Instance\", provider=~\".*google.provider.*\", region!=\"\"}[$SamplePeriod]), \"name\", \"$1\", \"agent\", \"Google(.*)CachingAgent\")) by (region, name)", + "format": "time_series", + "hide": false, + "instant": true, + "intervalFactor": 1, + "legendFormat": "{{name}}/{{region}}", + "refId": "B" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Avg CachingAgent Executions by Resource/Region", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 9, + "w": 12, + "x": 12, + "y": 100 + }, + "id": 99, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "label_replace(rate(clouddriver_cache_execution_successful__totalTime_total{instance=~\"$Instance\", provider=~\".*google.provider.*\", region=~\"$GcpRegion\"}[$SamplePeriod]) / rate(clouddriver_cache_execution_successful__count_total{instance=~\"$Instance\", provider=~\".*google.provider.*\", region=\"\"}[$SamplePeriod]), \"name\", \"$1\", \"agent\", \"Google(.*)CachingAgent\")", + "format": "time_series", + "hide": false, + "intervalFactor": 1, + "legendFormat": "{{name}}", + "refId": "A" + }, + { + "expr": "avg(label_replace(rate(clouddriver_cache_execution_successful__totalTime_total{instance=~\"$Instance\", provider=~\".*google.provider.*\", region=~\"$GcpRegion\"}[$SamplePeriod]) / rate(clouddriver_cache_execution_successful__count_total{instance=~\"$Instance\", provider=~\".*google.provider.*\", region!=\"\"}[$SamplePeriod]), \"name\", \"$1\", \"agent\", \"Google(.*)CachingAgent\")) by (region, name)", + "format": "time_series", + "hide": false, + "intervalFactor": 1, + "legendFormat": "{{name}}/{{region}}", + "refId": "B" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Avg CachingAgent Execution Time by Resource/Region", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 109 + }, + "id": 86, + "panels": [], + "title": "CATS Keys", + "type": "row" + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 9, + "w": 8, + "x": 0, + "y": 110 + }, + "id": 93, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "avg($Function(clouddriver_cache_redis_get_keys_total{instance=~\"$Instance\",platform=\"google\"}[$SamplePeriod])) by (resourceType, spin_variant)", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "{{resourceType}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Avg CATS Keys Requested", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 9, + "w": 8, + "x": 8, + "y": 110 + }, + "id": 89, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "avg($Function(clouddriver_cache_redis_merge_keys_total{instance=~\"$Instance\",platform=\"google\"}[$SamplePeriod])) by (resourceType, spin_variant)", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "{{resourceType}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Avg CATS Keys Merged", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "transparent": false, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 9, + "w": 8, + "x": 16, + "y": 110 + }, + "id": 90, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "avg($Function(clouddriver_cache_redis_evict_keys_total{instance=~\"$Instance\",platform=\"google\"}[$SamplePeriod])) by (resourceType, spin_variant)", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "{{resourceType}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Avg CATS Keys Evicted", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 119 + }, + "id": 92, + "panels": [], + "title": "CATS Items", + "type": "row" + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 9, + "w": 8, + "x": 0, + "y": 120 + }, + "id": 88, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "avg($Function(clouddriver_cache_redis_get_items_total{instance=~\"$Instance\",platform=\"google\"}[$SamplePeriod])) by (resourceType, spin_variant)", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "{{resourceType}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Avg CATS Items Requested", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 9, + "w": 8, + "x": 8, + "y": 120 + }, + "id": 94, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "avg($Function(clouddriver_cache_redis_merge_items_total{instance=~\"$Instance\",platform=\"google\"}[$SamplePeriod])) by (resourceType, spin_variant)", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "{{resourceType}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Avg CATS Items Merged", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 9, + "w": 8, + "x": 16, + "y": 120 + }, + "id": 95, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "avg($Function(clouddriver_cache_redis_evict_items_total{instance=~\"$Instance\",platform=\"google\"}[$SamplePeriod])) by (resourceType, spin_variant)", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "{{resourceType}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Avg CATS Items Evicted", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + } + ], + "refresh": "30s", + "schemaVersion": 16, + "style": "dark", + "tags": [ + "spinnaker", + "google" + ], + "templating": { + "list": [ + { + "allValue": ".*", + "current": { + "text": "All", + "value": "$__all" + }, + "datasource": "${DS_SPINNAKER}", + "definition": "", + "hide": 0, + "includeAll": true, + "label": null, + "multi": false, + "name": "GcpRegion", + "options": [], + "query": "label_values(platform_google_api_compute_completions__count_total, region)", + "refresh": 2, + "regex": "", + "skipUrlSync": false, + "sort": 1, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "allValue": ".*", + "current": { + "text": "All", + "value": "$__all" + }, + "datasource": "${DS_SPINNAKER}", + "definition": "", + "hide": 0, + "includeAll": true, + "label": "Clouddriver", + "multi": false, + "name": "Instance", + "options": [], + "query": "label_values(platform_google_api_compute_completions__count_total, instance)", + "refresh": 2, + "regex": "", + "skipUrlSync": false, + "sort": 1, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "allValue": ".*", + "current": { + "text": "All", + "value": "$__all" + }, + "datasource": "${DS_SPINNAKER}", + "definition": "", + "hide": 0, + "includeAll": true, + "label": "Front50", + "multi": false, + "name": "Front50Instance", + "options": [], + "query": "label_values(platform_google_api_storage_completions__count_total, instance)", + "refresh": 2, + "regex": "", + "skipUrlSync": false, + "sort": 1, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "allValue": null, + "current": { + "selected": true, + "tags": [], + "text": "Delta", + "value": "delta" + }, + "hide": 0, + "includeAll": false, + "label": null, + "multi": false, + "name": "Function", + "options": [ + { + "selected": true, + "text": "Delta", + "value": "delta" + }, + { + "selected": false, + "text": "Rate", + "value": "rate" + }, + { + "selected": false, + "text": "Instant Delta", + "value": "idelta" + }, + { + "selected": false, + "text": "Instant Rate", + "value": "irate" + } + ], + "query": "delta,rate,idelta,irate", + "skipUrlSync": false, + "type": "custom" + }, + { + "auto": false, + "auto_count": 30, + "auto_min": "10s", + "current": { + "text": "1m", + "value": "1m" + }, + "hide": 0, + "label": "Sample Period", + "name": "SamplePeriod", + "options": [ + { + "selected": true, + "text": "1m", + "value": "1m" + }, + { + "selected": false, + "text": "5m", + "value": "5m" + }, + { + "selected": false, + "text": "10m", + "value": "10m" + }, + { + "selected": false, + "text": "15m", + "value": "15m" + }, + { + "selected": false, + "text": "30m", + "value": "30m" + }, + { + "selected": false, + "text": "1h", + "value": "1h" + } + ], + "query": "1m,5m,10m,15m,30m,1h", + "refresh": 2, + "skipUrlSync": false, + "type": "interval" + } + ] + }, + "time": { + "from": "now-3h", + "to": "now" + }, + "timepicker": { + "refresh_intervals": [ + "5s", + "10s", + "30s", + "1m", + "5m", + "15m", + "30m", + "1h", + "2h", + "1d" + ], + "time_options": [ + "5m", + "15m", + "1h", + "6h", + "12h", + "24h", + "2d", + "7d", + "30d" + ] + }, + "timezone": "browser", + "title": "Google Spinnaker Platform", + "version": 1 +} diff --git a/spinnaker-monitoring-third-party/third_party/prometheus/experimental/igor-microservice-dashboard.json b/spinnaker-monitoring-third-party/third_party/prometheus/experimental/igor-microservice-dashboard.json new file mode 100644 index 0000000..37ceb07 --- /dev/null +++ b/spinnaker-monitoring-third-party/third_party/prometheus/experimental/igor-microservice-dashboard.json @@ -0,0 +1,813 @@ +{ + "__inputs": [ + { + "name": "DS_SPINNAKER", + "label": "Spinnaker", + "description": "", + "type": "datasource", + "pluginId": "prometheus", + "pluginName": "Prometheus" + } + ], + "__requires": [ + { + "type": "grafana", + "id": "grafana", + "name": "Grafana", + "version": "4.1.1" + }, + { + "type": "panel", + "id": "graph", + "name": "Graph", + "version": "" + }, + { + "type": "datasource", + "id": "prometheus", + "name": "Prometheus", + "version": "1.0.0" + } + ], + "annotations": { + "list": [] + }, + "editable": true, + "gnetId": null, + "graphTooltip": 0, + "hideControls": false, + "id": null, + "links": [], + "refresh": "30s", + "rows": [ + { + "collapse": false, + "height": 195, + "panels": [ + { + "aliasColors": {}, + "bars": true, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "id": 11, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "span": 4, + "stack": true, + "steppedLine": false, + "targets": [ + { + "expr": "sum(hystrix_rollingCount_shortCircuited{instance=~\"$Instance\",spin_service=\"igor\"}) by (metricGroup, metricType)", + "intervalFactor": 2, + "legendFormat": "{{metricGroup}}({{metricType}})", + "metric": "", + "refId": "A", + "step": 40 + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "Hystrix Short Circuited ($Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "cumulative" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ] + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "id": 37, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "span": 5, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum($Function(hystrix_rollingCount_attempt{instance=~\"$Instance\",spin_service=\"igor\",success=\"true\"}[$SamplePeriod])) by (metricType, metricGroup)", + "format": "time_series", + "interval": "", + "intervalFactor": 2, + "legendFormat": "{{metricType}}({{metricGroup}})/SUCCESS", + "metric": "", + "refId": "A", + "step": 40 + }, + { + "expr": "sum($Function(hystrix_rollingCount_attempt{instance=~\"$Instance\",spin_service=\"igor\",success!=\"true\"}[$SamplePeriod])) by (metricType, metricGroup)", + "format": "time_series", + "interval": "", + "intervalFactor": 2, + "legendFormat": "{{metricType}}({{metricGroup}})/FAIL", + "metric": "", + "refId": "B", + "step": 40 + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "Hystrix Rolling Count Attempts ($Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + } + ] + }, + { + "aliasColors": {}, + "bars": true, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "id": 12, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "span": 3, + "stack": true, + "steppedLine": false, + "targets": [ + { + "expr": "sum(hystrix_rollingCount_attempt{instance=~\"$Instance\",spin_service=\"igor\",success=\"true\"}) by (metricGroup, metricType)", + "hide": true, + "intervalFactor": 2, + "legendFormat": "{{metricGroup}}/{{metricType}}", + "metric": "", + "refId": "B", + "step": 2 + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "Hystrix Rolling Count Fallback Success (front50, $Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "cumulative" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ] + } + ], + "repeat": null, + "repeatIteration": null, + "repeatRowId": null, + "showTitle": false, + "title": "Hystrix Error Signals", + "titleSize": "h6" + }, + { + "collapse": false, + "height": 197, + "panels": [ + { + "aliasColors": {}, + "bars": true, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "id": 65, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "span": 12, + "stack": true, + "steppedLine": false, + "targets": [ + { + "expr": "label_replace(sum($Function(service_controller_completions__count_total{instance=~\"$Instance\",spin_service=\"igor\",status=\"5xx\"}[$SamplePeriod])) by (controller, method, statusCode), \"controller\", \"$1\", \"controller\", \"(.*)Controller\")", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "{{statusCode}}/{{controller}}/{{method}}", + "refId": "A", + "step": 10 + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "5xx Controller Invocations ($Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + } + ] + } + ], + "repeat": null, + "repeatIteration": null, + "repeatRowId": null, + "showTitle": false, + "title": "5xx Errors", + "titleSize": "h6" + }, + { + "collapse": false, + "height": 265, + "panels": [ + { + "aliasColors": {}, + "bars": true, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "id": 5, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "span": 12, + "stack": true, + "steppedLine": false, + "targets": [ + { + "expr": "label_replace(sum($Function(service_controller_completions__count_total{instance=~\"$Instance\",spin_service=\"igor\"}[$SamplePeriod])) by (controller, method), \"controller\", \"$1\", \"controller\", \"(.*)Controller\")", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "{{controller}}/{{method}}", + "refId": "A", + "step": 10 + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "Controller Invocations by Method ($Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + } + ] + } + ], + "repeat": null, + "repeatIteration": null, + "repeatRowId": null, + "showTitle": false, + "title": "Invocations by Method", + "titleSize": "h6" + }, + { + "collapse": false, + "height": 269, + "panels": [ + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "id": 24, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "span": 12, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "label_replace(sum(rate(service_controller_completions__totalTime_total{instance=~\"$Instance\",spin_service=\"igor\"}[$SamplePeriod])) by (controller, method) / sum(rate(service_controller_completions__count_total{instance=~\"$Instance\",spin_service=\"igor\"}[$SamplePeriod])) by (controller, method), \"controller\", \"$1\", \"controller\", \"(.*)Controller\")", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "{{controller}}/{{method}}", + "refId": "A", + "step": 10 + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "Controller Invocation Latency by Method ($Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ] + } + ], + "repeat": null, + "repeatIteration": null, + "repeatRowId": null, + "showTitle": false, + "title": "Latency By method", + "titleSize": "h6" + }, + { + "collapse": false, + "height": 203, + "panels": [ + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "id": 21, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "span": 12, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "avg(platform_java_memory{instance=~\"$Instance\", spin_service=\"igor\",scope=\"HEAP\"}) by (segment)", + "intervalFactor": 2, + "legendFormat": "{{segment}}", + "metric": "", + "refId": "E", + "step": 10 + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "JVM Memory Usage ($Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "decbytes", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "decbytes", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ] + } + ], + "repeat": null, + "repeatIteration": null, + "repeatRowId": null, + "showTitle": false, + "title": "JVM Memory", + "titleSize": "h6" + } + ], + "schemaVersion": 14, + "style": "dark", + "tags": [ + "spinnaker" + ], + "templating": { + "list": [ + { + "allValue": ".*", + "current": { + "text": "All", + "value": "$__all" + }, + "datasource": "${DS_SPINNAKER}", + "hide": 0, + "includeAll": true, + "label": null, + "multi": false, + "name": "Instance", + "options": [ + { + "selected": true, + "text": "All", + "value": "$__all" + } + ], + "query": "label_values(service_controller_invocations__count_total{spin_service=\"igor\"}, instance)", + "refresh": 2, + "regex": "", + "sort": 1, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "allValue": null, + "current": { + "tags": [], + "text": "Instant Rate", + "value": "irate" + }, + "hide": 0, + "includeAll": false, + "label": null, + "multi": false, + "name": "Function", + "options": [ + { + "selected": false, + "text": "Delta", + "value": "delta" + }, + { + "selected": false, + "text": "Rate", + "value": "rate" + }, + { + "selected": false, + "text": "Instant Delta", + "value": "idelta" + }, + { + "selected": true, + "text": "Instant Rate", + "value": "irate" + } + ], + "query": "delta,rate,idelta,irate", + "type": "custom" + }, + { + "auto": false, + "auto_count": 30, + "auto_min": "10s", + "current": { + "text": "1m", + "value": "1m" + }, + "hide": 0, + "label": "Sample Period", + "name": "SamplePeriod", + "options": [ + { + "selected": true, + "text": "1m", + "value": "1m" + }, + { + "selected": false, + "text": "5m", + "value": "5m" + }, + { + "selected": false, + "text": "10m", + "value": "10m" + }, + { + "selected": false, + "text": "15m", + "value": "15m" + }, + { + "selected": false, + "text": "30m", + "value": "30m" + }, + { + "selected": false, + "text": "1h", + "value": "1h" + } + ], + "query": "1m,5m,10m,15m,30m,1h", + "refresh": 2, + "type": "interval" + } + ] + }, + "time": { + "from": "now-3h", + "to": "now" + }, + "timepicker": { + "refresh_intervals": [ + "5s", + "10s", + "30s", + "1m", + "5m", + "15m", + "30m", + "1h", + "2h", + "1d" + ], + "time_options": [ + "5m", + "15m", + "1h", + "6h", + "12h", + "24h", + "2d", + "7d", + "30d" + ] + }, + "timezone": "browser", + "title": "Igor Microservice", + "version": 1 +} diff --git a/spinnaker-monitoring-third-party/third_party/prometheus/experimental/kayenta-microservice-dashboard.json b/spinnaker-monitoring-third-party/third_party/prometheus/experimental/kayenta-microservice-dashboard.json new file mode 100644 index 0000000..94afd04 --- /dev/null +++ b/spinnaker-monitoring-third-party/third_party/prometheus/experimental/kayenta-microservice-dashboard.json @@ -0,0 +1,556 @@ +{ + "__inputs": [ + { + "name": "DS_SPINNAKER", + "label": "Spinnaker", + "description": "", + "type": "datasource", + "pluginId": "prometheus", + "pluginName": "Prometheus" + } + ], + "__requires": [ + { + "type": "grafana", + "id": "grafana", + "name": "Grafana", + "version": "4.1.1" + }, + { + "type": "panel", + "id": "graph", + "name": "Graph", + "version": "" + }, + { + "type": "datasource", + "id": "prometheus", + "name": "Prometheus", + "version": "1.0.0" + } + ], + "annotations": { + "list": [] + }, + "editable": true, + "gnetId": null, + "graphTooltip": 0, + "hideControls": false, + "id": null, + "links": [], + "refresh": "30s", + "rows": [ + { + "collapse": false, + "height": 197, + "panels": [ + { + "aliasColors": {}, + "bars": true, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "id": 65, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "span": 12, + "stack": true, + "steppedLine": false, + "targets": [ + { + "expr": "label_replace(sum($Function(service_controller_completions__count_total{instance=~\"$Instance\",spin_service=\"echo\",status=\"5xx\"}[$SamplePeriod])) by (controller, method, statusCode), \"controller\", \"$1\", \"controller\", \"(.*)Controller\")", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "{{statusCode}}/{{controller}}/{{method}}", + "refId": "A", + "step": 10 + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "5xx Controller Invocations ($Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + } + ] + } + ], + "repeat": null, + "repeatIteration": null, + "repeatRowId": null, + "showTitle": false, + "title": "5xx Errors", + "titleSize": "h6" + }, + { + "collapse": false, + "height": 265, + "panels": [ + { + "aliasColors": {}, + "bars": true, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "id": 5, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "span": 12, + "stack": true, + "steppedLine": false, + "targets": [ + { + "expr": "label_replace(sum($Function(service_controller_completions__count_total{instance=~\"$Instance\",spin_service=\"kayenta\"}[$SamplePeriod])) by (controller, method), \"controller\", \"$1\", \"controller\", \"(.*)Controller\")", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "{{controller}}/{{method}}", + "refId": "A", + "step": 10 + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "Controller Invocations by Method ($Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + } + ] + } + ], + "repeat": null, + "repeatIteration": null, + "repeatRowId": null, + "showTitle": false, + "title": "Invocations by Method", + "titleSize": "h6" + }, + { + "collapse": false, + "height": 269, + "panels": [ + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "id": 24, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "span": 12, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "label_replace(sum(rate(service_controller_completions__totalTime_total{instance=~\"$Instance\",spin_service=\"kayenta\"}[$SamplePeriod])) by (controller, method) / sum(rate(service_controller_completions__count_total{instance=~\"$Instance\",spin_service=\"kayenta\"}[$SamplePeriod])) by (controller, method), \"controller\", \"$1\", \"controller\", \"(.*)Controller\")", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "{{controller}}/{{method}}", + "refId": "A", + "step": 10 + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "Controller Invocation Latency by Method ($Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ] + } + ], + "repeat": null, + "repeatIteration": null, + "repeatRowId": null, + "showTitle": false, + "title": "Latency By method", + "titleSize": "h6" + }, + { + "collapse": false, + "height": 203, + "panels": [ + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "id": 21, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "span": 12, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "avg(platform_java_memory{instance=~\"$Instance\", spin_service=\"kayenta\",scope=\"HEAP\"}) by (segment)", + "intervalFactor": 2, + "legendFormat": "{{segment}}", + "metric": "", + "refId": "E", + "step": 10 + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "JVM Memory Usage ($Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "decbytes", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "decbytes", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ] + } + ], + "repeat": null, + "repeatIteration": null, + "repeatRowId": null, + "showTitle": false, + "title": "JVM Memory", + "titleSize": "h6" + } + ], + "schemaVersion": 14, + "style": "dark", + "tags": [ + "spinnaker" + ], + "templating": { + "list": [ + { + "allValue": ".*", + "current": { + "text": "All", + "value": "$__all" + }, + "datasource": "${DS_SPINNAKER}", + "hide": 0, + "includeAll": true, + "label": null, + "multi": false, + "name": "Instance", + "options": [ + { + "selected": true, + "text": "All", + "value": "$__all" + } + ], + "query": "label_values(service_controller_invocations__count_total{spin_service=\"kayenta\"}, instance)", + "refresh": 2, + "regex": "", + "sort": 1, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "allValue": null, + "current": { + "tags": [], + "text": "Instant Rate", + "value": "irate" + }, + "hide": 0, + "includeAll": false, + "label": null, + "multi": false, + "name": "Function", + "options": [ + { + "selected": false, + "text": "Delta", + "value": "delta" + }, + { + "selected": false, + "text": "Rate", + "value": "rate" + }, + { + "selected": false, + "text": "Instant Delta", + "value": "idelta" + }, + { + "selected": true, + "text": "Instant Rate", + "value": "irate" + } + ], + "query": "delta,rate,idelta,irate", + "type": "custom" + }, + { + "auto": false, + "auto_count": 30, + "auto_min": "10s", + "current": { + "text": "1m", + "value": "1m" + }, + "hide": 0, + "label": "Sample Period", + "name": "SamplePeriod", + "options": [ + { + "selected": true, + "text": "1m", + "value": "1m" + }, + { + "selected": false, + "text": "5m", + "value": "5m" + }, + { + "selected": false, + "text": "10m", + "value": "10m" + }, + { + "selected": false, + "text": "15m", + "value": "15m" + }, + { + "selected": false, + "text": "30m", + "value": "30m" + }, + { + "selected": false, + "text": "1h", + "value": "1h" + } + ], + "query": "1m,5m,10m,15m,30m,1h", + "refresh": 2, + "type": "interval" + } + ] + }, + "time": { + "from": "now-3h", + "to": "now" + }, + "timepicker": { + "refresh_intervals": [ + "5s", + "10s", + "30s", + "1m", + "5m", + "15m", + "30m", + "1h", + "2h", + "1d" + ], + "time_options": [ + "5m", + "15m", + "1h", + "6h", + "12h", + "24h", + "2d", + "7d", + "30d" + ] + }, + "timezone": "browser", + "title": "Kayenta Microservice", + "version": 1 +} diff --git a/spinnaker-monitoring-third-party/third_party/prometheus/experimental/kubernetes-platform-dashboard.json b/spinnaker-monitoring-third-party/third_party/prometheus/experimental/kubernetes-platform-dashboard.json new file mode 100644 index 0000000..3ef4096 --- /dev/null +++ b/spinnaker-monitoring-third-party/third_party/prometheus/experimental/kubernetes-platform-dashboard.json @@ -0,0 +1,2881 @@ +{ + "__inputs": [ + { + "name": "DS_SPINNAKER", + "label": "Spinnaker", + "description": "", + "type": "datasource", + "pluginId": "prometheus", + "pluginName": "Prometheus" + } + ], + "__requires": [ + { + "type": "grafana", + "id": "grafana", + "name": "Grafana", + "version": "4.4.3" + }, + { + "type": "panel", + "id": "graph", + "name": "Graph", + "version": "" + }, + { + "type": "datasource", + "id": "prometheus", + "name": "Prometheus", + "version": "1.0.0" + } + ], + "annotations": { + "list": [] + }, + "editable": true, + "gnetId": null, + "graphTooltip": 0, + "id": null, + "links": [], + "panels": [ + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 0 + }, + "id": 10, + "panels": [], + "title": "K8S Failures", + "type": "row" + }, + { + "aliasColors": {}, + "bars": true, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 7, + "w": 12, + "x": 0, + "y": 1 + }, + "id": 11, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": false, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": true, + "steppedLine": true, + "targets": [ + { + "expr": "sum($Function(platform_kubernetes_api_completions__count_total{instance=~\"$Instance\",spin_service=\"clouddriver\",method!=\"\",namespace=~\"$KubernetesNamespace\",account=~\"$KubernetesAccount\",success!=\"true\"}[$SamplePeriod])) by (method)", + "format": "time_series", + "interval": "", + "intervalFactor": 2, + "legendFormat": "{{method}}", + "metric": "", + "refId": "A", + "step": 4 + }, + { + "expr": "sum($Function(platform_kubernetes_api_completions__count_total{instance=~\"$Instance\",spin_service=\"clouddriver\",method=\"\",kind!=\"\",namespace=~\"$KubernetesNamespace\",account=~\"$KubernetesAccount\",success!=\"true\"}[$SamplePeriod])) by (kind,action)", + "format": "time_series", + "interval": "", + "intervalFactor": 2, + "legendFormat": "{{kind}}.{{action}}", + "metric": "", + "refId": "B", + "step": 4 + }, + { + "expr": "sum($Function(platform_kubernetes_api_completions__count_total{instance=~\"$Instance\",spin_service=\"clouddriver\",method=\"\",kind=\"\",namespace=~\"$KubernetesNamespace\",account=~\"$KubernetesAccount\",success!=\"true\"}[$SamplePeriod])) by (kinds,action)", + "format": "time_series", + "interval": "", + "intervalFactor": 2, + "legendFormat": "{{kinds}}.{{action}}", + "metric": "", + "refId": "C", + "step": 4 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Kubernetes Failure for \"$KubernetesAccount\" in \"$KubernetesNamespace\" (clouddriver)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 7, + "w": 12, + "x": 12, + "y": 1 + }, + "id": 12, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(rate(platform_kubernetes_api_completions__totalTime_total{instance=~\"$Instance\",spin_service=\"clouddriver\",method!=\"\",namespace=~\"$KubernetesNamespace\",success!=\"true\",account=~\"$KubernetesAccount\"}[$SamplePeriod])) by (method) / sum(rate(platform_kubernetes_api_completions__count_total{instance=~\"$Instance\",spin_service=\"clouddriver\",method!=\"\",namespace=~\"$KubernetesNamespace\",account=~\"$KubernetesAccount\",success!=\"true\"}[$SamplePeriod])) by (method)", + "intervalFactor": 2, + "legendFormat": "{{method}}", + "metric": "", + "refId": "A", + "step": 4 + }, + { + "expr": "sum(rate(platform_kubernetes_api_completions__totalTime_total{instance=~\"$Instance\",spin_service=\"clouddriver\",method=\"\",kind!=\"\",namespace=~\"$KubernetesNamespace\",success!=\"true\",account=~\"$KubernetesAccount\"}[$SamplePeriod])) by (kind,action) / sum(rate(platform_kubernetes_api_completions__count_total{instance=~\"$Instance\",spin_service=\"clouddriver\",method=\"\",kind!=\"\",namespace=~\"$KubernetesNamespace\",account=~\"$KubernetesAccount\",success!=\"true\"}[$SamplePeriod])) by (kind,action)", + "intervalFactor": 2, + "legendFormat": "{{kind}}.{{action}}", + "metric": "", + "refId": "B", + "step": 4 + }, + { + "expr": "sum(rate(platform_kubernetes_api_completions__totalTime_total{instance=~\"$Instance\",spin_service=\"clouddriver\",method=\"\",kind=\"\",namespace=~\"$KubernetesNamespace\",success!=\"true\",account=~\"$KubernetesAccount\"}[$SamplePeriod])) by (kinds,action) / sum(rate(platform_kubernetes_api_completions__count_total{instance=~\"$Instance\",spin_service=\"clouddriver\",method=\"\",kind=\"\",namespace=~\"$KubernetesNamespace\",account=~\"$KubernetesAccount\",success!=\"true\"}[$SamplePeriod])) by (kinds,action)", + "intervalFactor": 2, + "legendFormat": "{{kinds,action}}", + "metric": "", + "refId": "C", + "step": 4 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Kubernetes Failure Latency for \"$KubernetesAccount\" in \"$KubernetesNamespace\" (clouddriver)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": true, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 8, + "w": 10, + "x": 0, + "y": 8 + }, + "id": 13, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": false, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": true, + "steppedLine": true, + "targets": [ + { + "expr": "sum(label_replace($Function(platform_kubernetes_api_completions__count_total{instance=~\"$Instance\",spin_service=\"clouddriver\",method!=\"\",success!=\"true\"}[$SamplePeriod]), \"resource\", \"$1\", \"method\", \"([^\\\\.]*).*\")) by (resource)", + "format": "time_series", + "hide": false, + "interval": "", + "intervalFactor": 2, + "legendFormat": "{{resource}} ", + "metric": "", + "refId": "A", + "step": 10 + }, + { + "expr": "sum($Function(platform_kubernetes_api_completions__count_total{instance=~\"$Instance\",spin_service=\"clouddriver\",method=\"\",kind!=\"\",success!=\"true\"}[$SamplePeriod])) by (kind)", + "format": "time_series", + "hide": false, + "interval": "", + "intervalFactor": 2, + "legendFormat": "{{kind}} ", + "metric": "", + "refId": "B", + "step": 10 + }, + { + "expr": "sum($Function(platform_kubernetes_api_completions__count_total{instance=~\"$Instance\",spin_service=\"clouddriver\",method=\"\",kind=\"\",success!=\"true\"}[$SamplePeriod])) by (kinds)", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "{{kinds}} ", + "refId": "C" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Kubernetes Failure by Type (clouddriver, $Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": true, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 8, + "w": 8, + "x": 10, + "y": 8 + }, + "id": 14, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": false, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": true, + "steppedLine": true, + "targets": [ + { + "expr": "sum($Function(platform_kubernetes_platform_api_completions__count_total{instance=~\"$Instance\",spin_service=\"clouddriver\",success!=\"true\"}[$SamplePeriod])) by (account)", + "interval": "", + "intervalFactor": 2, + "legendFormat": "{{account}} ", + "metric": "", + "refId": "A", + "step": 10 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Kubernetes Failure by Account (clouddriver, $Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": true, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 8, + "w": 6, + "x": 18, + "y": 8 + }, + "id": 15, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": false, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": true, + "steppedLine": true, + "targets": [ + { + "expr": "sum($Function(platform_kubernetes_api_completions__count_total{instance=~\"$Instance\",spin_service=\"clouddriver\",success!=\"true\"}[$SamplePeriod])) by (namespace)", + "interval": "", + "intervalFactor": 2, + "legendFormat": "{{namespace}} ", + "metric": "", + "refId": "A", + "step": 10 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Kubernetes Failure by Namespace (clouddriver, $Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 16 + }, + "id": 20, + "panels": [], + "title": "K8S API Success", + "type": "row" + }, + { + "aliasColors": {}, + "bars": true, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 7, + "w": 12, + "x": 0, + "y": 17 + }, + "id": 21, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": false, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": true, + "steppedLine": true, + "targets": [ + { + "expr": "sum($Function(platform_kubernetes_api_completions__count_total{instance=~\"$Instance\",spin_service=\"clouddriver\",method!=\"\",namespace=~\"$KubernetesNamespace\",account=~\"$KubernetesAccount\",success=\"true\"}[$SamplePeriod])) by (method)", + "interval": "", + "intervalFactor": 2, + "legendFormat": "{{method}}", + "metric": "", + "refId": "A", + "step": 4 + }, + { + "expr": "sum($Function(platform_kubernetes_api_completions__count_total{instance=~\"$Instance\",spin_service=\"clouddriver\",method=\"\",kind!=\"\",namespace=~\"$KubernetesNamespace\",account=~\"$KubernetesAccount\",success=\"true\"}[$SamplePeriod])) by (kind, action)", + "interval": "", + "intervalFactor": 2, + "legendFormat": "{{kind}}.{{action}}", + "metric": "", + "refId": "B", + "step": 4 + }, + { + "expr": "sum($Function(platform_kubernetes_api_completions__count_total{instance=~\"$Instance\",spin_service=\"clouddriver\",method=\"\",kind=\"\",namespace=~\"$KubernetesNamespace\",account=~\"$KubernetesAccount\",success=\"true\"}[$SamplePeriod])) by (kinds, action)", + "interval": "", + "intervalFactor": 2, + "legendFormat": "{{kinds}}.{{action}}", + "metric": "", + "refId": "C", + "step": 4 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Kubernetes Success for \"$KubernetesAccount\" in \"$KubernetesNamespace\" (clouddriver)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 7, + "w": 12, + "x": 12, + "y": 17 + }, + "id": 22, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(rate(platform_kubernetes_api_completions__totalTime_total{instance=~\"$Instance\",spin_service=\"clouddriver\",method!=\"\",namespace=~\"$KubernetesNamespace\",success=\"true\",account=~\"$KubernetesAccount\"}[$SamplePeriod])) by (method) / sum(rate(platform_kubernetes_api_completions__count_total{instance=~\"$Instance\",spin_service=\"clouddriver\",method!=\"\",namespace=~\"$KubernetesNamespace\",account=~\"$KubernetesAccount\",success=\"true\"}[$SamplePeriod])) by (method)", + "intervalFactor": 2, + "legendFormat": "{{method}}", + "metric": "", + "refId": "A", + "step": 4 + }, + { + "expr": "sum(rate(platform_kubernetes_api_completions__totalTime_total{instance=~\"$Instance\",spin_service=\"clouddriver\",method=\"\",kind!=\"\",namespace=~\"$KubernetesNamespace\",success=\"true\",account=~\"$KubernetesAccount\"}[$SamplePeriod])) by (kind,action) / sum(rate(platform_kubernetes_api_completions__count_total{instance=~\"$Instance\",spin_service=\"clouddriver\",method!=\"\",kind!=\"\",namespace=~\"$KubernetesNamespace\",account=~\"$KubernetesAccount\",success=\"true\"}[$SamplePeriod])) by (kind,action)", + "intervalFactor": 2, + "legendFormat": "{{kind}}.{{action}}", + "metric": "", + "refId": "B", + "step": 4 + }, + { + "expr": "sum(rate(platform_kubernetes_api_completions__totalTime_total{instance=~\"$Instance\",spin_service=\"clouddriver\",method=\"\",kind=\"\",namespace=~\"$KubernetesNamespace\",success=\"true\",account=~\"$KubernetesAccount\"}[$SamplePeriod])) by (kinds,action) / sum(rate(platform_kubernetes_api_completions__count_total{instance=~\"$Instance\",spin_service=\"clouddriver\",method!=\"\",kind=\"\",namespace=~\"$KubernetesNamespace\",account=~\"$KubernetesAccount\",success=\"true\"}[$SamplePeriod])) by (kinds,action)", + "intervalFactor": 2, + "legendFormat": "{{kinds}}.{{action}}", + "metric": "", + "refId": "C", + "step": 4 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Kubernetes Latency for \"$KubernetesAccount\" in \"$KubernetesNamespace\" (clouddriver)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": true, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 7, + "w": 10, + "x": 0, + "y": 24 + }, + "id": 23, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": false, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": true, + "steppedLine": true, + "targets": [ + { + "expr": "sum(label_replace($Function(platform_kubernetes_api_completions__count_total{instance=~\"$Instance\",method!=\"\",spin_service=\"clouddriver\",success=\"true\"}[$SamplePeriod]), \"resource\", \"$1\", \"method\", \"([^\\\\.]*).*\")) by (resource)", + "interval": "", + "intervalFactor": 2, + "legendFormat": "{{resource}} ", + "metric": "", + "refId": "A", + "step": 10 + }, + { + "expr": "sum($Function(platform_kubernetes_api_completions__count_total{instance=~\"$Instance\",method=\"\",spin_service=\"clouddriver\",method=\"\",kind!=\"\",success=\"true\"}[$SamplePeriod])) by (kind)", + "interval": "", + "intervalFactor": 2, + "legendFormat": "{{kind}} ", + "metric": "", + "refId": "B", + "step": 10 + }, + { + "expr": "sum($Function(platform_kubernetes_api_completions__count_total{instance=~\"$Instance\",method=\"\",spin_service=\"clouddriver\",method=\"\",kind=\"\",success=\"true\"}[$SamplePeriod])) by (kinds)", + "interval": "", + "intervalFactor": 2, + "legendFormat": "{{kinds}} ", + "metric": "", + "refId": "C", + "step": 10 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Kubernetes Success by Type (clouddriver, $Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": true, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 7, + "w": 8, + "x": 10, + "y": 24 + }, + "id": 24, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": false, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": true, + "steppedLine": true, + "targets": [ + { + "expr": "sum($Function(platform_kubernetes_api_completions__count_total{instance=~\"$Instance\",spin_service=\"clouddriver\",success=\"true\"}[$SamplePeriod])) by (account)", + "interval": "", + "intervalFactor": 2, + "legendFormat": "{{account}} ", + "metric": "", + "refId": "A", + "step": 10 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Kubernetes Success by Account (clouddriver, $Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": true, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 7, + "w": 6, + "x": 18, + "y": 24 + }, + "id": 25, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": false, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": true, + "steppedLine": true, + "targets": [ + { + "expr": "sum($Function(platform_kubernetes_api_completions__count_total{instance=~\"$Instance\",spin_service=\"clouddriver\",success=\"true\"}[$SamplePeriod])) by (namespace)", + "interval": "", + "intervalFactor": 2, + "legendFormat": "{{namespace}} ", + "metric": "", + "refId": "A", + "step": 10 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Kubernetes Success by Namespace (clouddriver, $Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 31 + }, + "id": 30, + "panels": [], + "title": "K8S API Latency", + "type": "row" + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 8, + "w": 10, + "x": 0, + "y": 32 + }, + "id": 31, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(label_replace(rate(platform_kubernetes_api_completions__totalTime_total{instance=~\"$Instance\",spin_service=\"clouddriver\",method!=\"\",success=\"true\"}[$SamplePeriod]), \"resource\", \"$1\", \"method\", \"([^\\\\.]+).*\")) by (resource) / sum(label_replace(rate(platform_kubernetes_api_completions__count_total{instance=~\"$Instance\",spin_service=\"clouddriver\",method!=\"\",success=\"true\"}[$SamplePeriod]), \"resource\", \"$1\", \"method\", \"([^\\\\.]+).*\")) by (resource)", + "intervalFactor": 2, + "legendFormat": "{{resource}}", + "metric": "", + "refId": "A", + "step": 10 + }, + { + "expr": "sum(rate(platform_kubernetes_api_completions__totalTime_total{instance=~\"$Instance\",spin_service=\"clouddriver\",method=\"\",kind!=\"\",success=\"true\"}[$SamplePeriod])) by (kind) / sum(rate(platform_kubernetes_api_completions__count_total{instance=~\"$Instance\",spin_service=\"clouddriver\",method=\"\",kind!=\"\",success=\"true\"}[$SamplePeriod])) by (kind)", + "intervalFactor": 2, + "legendFormat": "{{kind}}", + "metric": "", + "refId": "B", + "step": 10 + }, + { + "expr": "sum(rate(platform_kubernetes_api_completions__totalTime_total{instance=~\"$Instance\",spin_service=\"clouddriver\",method=\"\",kind=\"\",success=\"true\"}[$SamplePeriod])) by (kinds) / sum(rate(platform_kubernetes_api_completions__count_total{instance=~\"$Instance\",spin_service=\"clouddriver\",method=\"\",kind=\"\",success=\"true\"}[$SamplePeriod])) by (kinds)", + "intervalFactor": 2, + "legendFormat": "{{kinds}}", + "metric": "", + "refId": "C", + "step": 10 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Kubernetes Latency by Type (clouddriver)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 8, + "w": 8, + "x": 10, + "y": 32 + }, + "id": 32, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(rate(platform_kubernetes_api_completions__totalTime_total{instance=~\"$Instance\",spin_service=\"clouddriver\",success=\"true\"}[$SamplePeriod])) by (account) / sum(rate(platform_kubernetes_api_completions__count_total{instance=~\"$Instance\",spin_service=\"clouddriver\",success=\"true\"}[$SamplePeriod])) by (account)", + "intervalFactor": 2, + "legendFormat": "{{account}}", + "metric": "", + "refId": "A", + "step": 10 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Kubernetes Latency by Account (clouddriver)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 8, + "w": 6, + "x": 18, + "y": 32 + }, + "id": 33, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(rate(platform_kubernetes_api_completions__totalTime_total{instance=~\"$Instance\",spin_service=\"clouddriver\",success=\"true\"}[$SamplePeriod])) by (namespace) / sum(rate(platform_kubernetes_api_completions__count_total{instance=~\"$Instance\",spin_service=\"clouddriver\",success=\"true\"}[$SamplePeriod])) by (namespace)", + "intervalFactor": 2, + "legendFormat": "{{namespace}}", + "metric": "", + "refId": "A", + "step": 10 + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Kubernetes Latency by Namespace (clouddriver)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 82 + }, + "id": 102, + "panels": [], + "title": "OnDemand Cache Performance", + "type": "row" + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 6, + "w": 14, + "x": 0, + "y": 83 + }, + "id": 105, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "avg(label_replace($Function(clouddriver_cache_onDemand_completions__count_total{instance=~\"$Instance\", platform=\"kubernetes\"}[$SamplePeriod]), \"agent\", \"$1\", \"agent\", \"Kubernetes(.*)CachingAgent.*\")) by (agent)", + "format": "time_series", + "hide": false, + "intervalFactor": 1, + "legendFormat": "{{agent}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Avg OnDemand Completions by Agent", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 4, + "w": 10, + "x": 14, + "y": 83 + }, + "id": 100, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(rate(clouddriver_cache_onDemand_errors_total{instance=~\"$Instance\", platform=\"gce\"}[$SamplePeriod])/rate(clouddriver_cache_onDemand_calls_total{instance=~\"$Instance\", platform=\"gce\"}[$SamplePeriod])) by (resource)", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "{{resource}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "On Demand Error Percent by Resource", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "percentunit", + "label": null, + "logBase": 1, + "max": "1.25", + "min": null, + "show": true + }, + { + "format": "percentunit", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 4, + "w": 10, + "x": 14, + "y": 87 + }, + "id": 107, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "avg(label_replace($Function(clouddriver_cache_onDemand_errors_total{instance=~\"$Instance\", platform=\"kubernetes\"}[$SamplePeriod]), \"agent\", \"$1\", \"agent\", \"Kubernetes(.*)CachingAgent.*\")) by (agent)", + "format": "time_series", + "hide": false, + "intervalFactor": 1, + "legendFormat": "{{agent}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Avg OnDemand Errors by Agent", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 10, + "w": 14, + "x": 0, + "y": 89 + }, + "id": 106, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "avg(label_replace(rate(clouddriver_cache_onDemand_completions__totalTime_total{instance=~\"$Instance\", platform=\"kubernetes\"}[$SamplePeriod]) / rate(clouddriver_cache_onDemand_completions__count_total{instance=~\"$Instance\", platform=\"kubernetes\"}[$SamplePeriod]), \"agent\", \"$1\", \"agent\", \"Kubernetes(.*)CachingAgent.*\")) by (agent)", + "format": "time_series", + "hide": false, + "intervalFactor": 1, + "legendFormat": "{{agent}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Avg OnDemand Completion Time by Agent", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 4, + "w": 10, + "x": 14, + "y": 91 + }, + "id": 109, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "avg(label_replace($Function(clouddriver_cache_onDemand_completions__count_total{instance=~\"$Instance\", platform=\"kubernetes\"}[$SamplePeriod]) - $Function(clouddriver_cache_onDemand_completions__count_total{instance=~\"$Instance\", platform=\"kubernetes\"}[$SamplePeriod]), \"agent\", \"$1\", \"agent\", \"Kubernetes(.*)CachingAgent.*\")) by (agent)", + "format": "time_series", + "hide": false, + "intervalFactor": 1, + "legendFormat": "{{agent}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Avg OnDemand Skips by Agent", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 4, + "w": 10, + "x": 14, + "y": 95 + }, + "id": 108, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "avg(label_replace($Function(clouddriver_cache_onDemand_calls_total{instance=~\"$Instance\", platform=\"kubernetes\"}[$SamplePeriod]), \"agent\", \"$1\", \"agent\", \"Kubernetes(.*)CachingAgent.*\")) by (agent)", + "format": "time_series", + "hide": false, + "intervalFactor": 1, + "legendFormat": "{{agent}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Avg OnDemand Attempts by Agent", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 99 + }, + "id": 97, + "panels": [], + "title": "Caching Performance", + "type": "row" + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 9, + "w": 12, + "x": 0, + "y": 100 + }, + "id": 110, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "label_replace($Function(clouddriver_cache_execution_successful__count_total{instance=~\"$Instance\", provider=~\".*kubernetes.*.provider.*\"}[$SamplePeriod]), \"name\", \"$1\", \"agent\", \"Kubernetes(.*)CachingAgent.*\")", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "{{name}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Avg CachingAgent Executions by Resource", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 9, + "w": 12, + "x": 12, + "y": 100 + }, + "id": 99, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "label_replace(rate(clouddriver_cache_execution_successful__totalTime_total{instance=~\"$Instance\", provider=~\".*kubernetes.*.provider.*\"}[$SamplePeriod]) / rate(clouddriver_cache_execution_successful__count_total{instance=~\"$Instance\", provider=~\".*kubernetes.*.provider.*\"}[$SamplePeriod]), \"name\", \"$1\", \"agent\", \"Kubernetes(.*)CachingAgent.*\")", + "format": "time_series", + "hide": false, + "intervalFactor": 1, + "legendFormat": "{{name}}", + "refId": "A" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Avg CachingAgent Execution Time by Resource", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 106 + }, + "id": 60, + "panels": [], + "title": "CATS Keys", + "type": "row" + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 9, + "w": 8, + "x": 0, + "y": 107 + }, + "id": 61, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "avg($Function(clouddriver_cache_redis_get_keys_total{instance=~\"$Instance\",platform=\"kubernetes\"}[$SamplePeriod])) by (resourceType, spin_variant)", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "{{resourceType}}", + "refId": "A" + }, + { + "expr": "avg($Function(clouddriver_cache_redis_get_keys_total{instance=~\"$Instance\",platform=\"invalid\"}[$SamplePeriod])) by (resourceType, spin_variant)", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "{{resourceType}}", + "refId": "B" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Avg CATS Keys Requested", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 9, + "w": 8, + "x": 8, + "y": 107 + }, + "id": 62, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "avg($Function(clouddriver_cache_redis_merge_keys_total{instance=~\"$Instance\",platform=\"kubernetes\"}[$SamplePeriod])) by (resourceType, spin_variant)", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "{{resourceType}}", + "refId": "A" + }, + { + "expr": "avg($Function(clouddriver_cache_redis_merge_keys_total{instance=~\"$Instance\",platform=\"invalid\"}[$SamplePeriod])) by (resourceType, spin_variant)", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "{{resourceType}}", + "refId": "B" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Avg CATS Keys Merged", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "transparent": false, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 9, + "w": 8, + "x": 16, + "y": 107 + }, + "id": 63, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "avg($Function(clouddriver_cache_redis_evict_keys_total{instance=~\"$Instance\",platform=\"kubernetes\"}[$SamplePeriod])) by (resourceType, spin_variant)", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "{{resourceType}}", + "refId": "A" + }, + { + "expr": "avg($Function(clouddriver_cache_redis_evict_keys_total{instance=~\"$Instance\",platform=\"invalid\"}[$SamplePeriod])) by (resourceType, spin_variant)", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "{{resourceType}}", + "refId": "B" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Avg CATS Keys Evicted", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "collapsed": false, + "gridPos": { + "h": 1, + "w": 24, + "x": 0, + "y": 116 + }, + "id": 70, + "panels": [], + "title": "CATS Items", + "type": "row" + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 9, + "w": 8, + "x": 0, + "y": 117 + }, + "id": 71, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "avg($Function(clouddriver_cache_redis_get_items_total{instance=~\"$Instance\",platform=\"kubernetes\"}[$SamplePeriod])) by (resourceType, spin_variant)", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "{{resourceType}}", + "refId": "A" + }, + { + "expr": "avg($Function(clouddriver_cache_redis_get_items_total{instance=~\"$Instance\",platform=\"invalid\"}[$SamplePeriod])) by (resourceType, spin_variant)", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "{{resourceType}}", + "refId": "B" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Avg CATS Items Requested", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 9, + "w": 8, + "x": 8, + "y": 117 + }, + "id": 72, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "avg($Function(clouddriver_cache_redis_merge_items_total{instance=~\"$Instance\",platform=\"kubernetes\"}[$SamplePeriod])) by (resourceType, spin_variant)", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "{{resourceType}}", + "refId": "A" + }, + { + "expr": "avg($Function(clouddriver_cache_redis_merge_items_total{instance=~\"$Instance\",platform=\"invalid\"}[$SamplePeriod])) by (resourceType, spin_variant)", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "{{resourceType}}", + "refId": "B" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Avg CATS Items Merged", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "gridPos": { + "h": 9, + "w": 8, + "x": 16, + "y": 117 + }, + "id": 73, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "avg($Function(clouddriver_cache_redis_evict_items_total{instance=~\"$Instance\",platform=\"kubernetes\"}[$SamplePeriod])) by (resourceType, spin_variant)", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "{{resourceType}}", + "refId": "A" + }, + { + "expr": "avg($Function(clouddriver_cache_redis_evict_items_total{instance=~\"$Instance\",platform=\"invalid\"}[$SamplePeriod])) by (resourceType, spin_variant)", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "{{resourceType}}", + "refId": "B" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Avg CATS Items Evicted", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + } + ], + "refresh": "30s", + "schemaVersion": 16, + "style": "dark", + "tags": [ + "spinnaker", + "kubernetes" + ], + "templating": { + "list": [ + { + "allValue": ".*", + "current": { + "text": "All", + "value": "$__all" + }, + "datasource": "${DS_SPINNAKER}", + "definition": "", + "hide": 0, + "includeAll": true, + "label": "", + "multi": false, + "name": "Instance", + "options": [], + "query": "label_values(platform_kubernetes_api_completions__count_total, instance)", + "refresh": 2, + "regex": "", + "skipUrlSync": false, + "sort": 1, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "allValue": ".*", + "current": { + "text": "All", + "value": "$__all" + }, + "datasource": "${DS_SPINNAKER}", + "definition": "", + "hide": 0, + "includeAll": true, + "label": "", + "multi": false, + "name": "KubernetesAccount", + "options": [], + "query": "label_values(platform_kubernetes_api_completions__count_total, account)", + "refresh": 2, + "regex": "", + "skipUrlSync": false, + "sort": 1, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "allValue": ".*", + "current": { + "text": "All", + "value": "$__all" + }, + "datasource": "${DS_SPINNAKER}", + "definition": "", + "hide": 0, + "includeAll": true, + "label": "", + "multi": false, + "name": "KubernetesNamespace", + "options": [], + "query": "label_values(platform_kubernetes_api_completions__count_total, namespace)", + "refresh": 2, + "regex": "", + "skipUrlSync": false, + "sort": 1, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "allValue": null, + "current": { + "tags": [], + "text": "Instant Rate", + "value": "irate" + }, + "hide": 0, + "includeAll": false, + "label": null, + "multi": false, + "name": "Function", + "options": [ + { + "selected": false, + "text": "Delta", + "value": "delta" + }, + { + "selected": false, + "text": "Rate", + "value": "rate" + }, + { + "selected": false, + "text": "Instant Delta", + "value": "idelta" + }, + { + "selected": true, + "text": "Instant Rate", + "value": "irate" + } + ], + "query": "delta,rate,idelta,irate", + "skipUrlSync": false, + "type": "custom" + }, + { + "auto": false, + "auto_count": 30, + "auto_min": "10s", + "current": { + "text": "1m", + "value": "1m" + }, + "hide": 0, + "label": "Sample Period", + "name": "SamplePeriod", + "options": [ + { + "selected": true, + "text": "1m", + "value": "1m" + }, + { + "selected": false, + "text": "5m", + "value": "5m" + }, + { + "selected": false, + "text": "10m", + "value": "10m" + }, + { + "selected": false, + "text": "15m", + "value": "15m" + }, + { + "selected": false, + "text": "30m", + "value": "30m" + }, + { + "selected": false, + "text": "1h", + "value": "1h" + } + ], + "query": "1m,5m,10m,15m,30m,1h", + "refresh": 2, + "skipUrlSync": false, + "type": "interval" + } + ] + }, + "time": { + "from": "now-3h", + "to": "now" + }, + "timepicker": { + "refresh_intervals": [ + "5s", + "10s", + "30s", + "1m", + "5m", + "15m", + "30m", + "1h", + "2h", + "1d" + ], + "time_options": [ + "5m", + "15m", + "1h", + "6h", + "12h", + "24h", + "2d", + "7d", + "30d" + ] + }, + "timezone": "browser", + "title": "Kubernetes Spinnaker Platform", + "version": 1 +} diff --git a/spinnaker-monitoring-third-party/third_party/prometheus/experimental/minimal-spinnaker-dashboard.json b/spinnaker-monitoring-third-party/third_party/prometheus/experimental/minimal-spinnaker-dashboard.json new file mode 100644 index 0000000..3307ea7 --- /dev/null +++ b/spinnaker-monitoring-third-party/third_party/prometheus/experimental/minimal-spinnaker-dashboard.json @@ -0,0 +1,1073 @@ +{ + "__inputs": [ + { + "name": "DS_SPINNAKER", + "label": "Spinnaker", + "description": "", + "type": "datasource", + "pluginId": "prometheus", + "pluginName": "Prometheus" + } + ], + "__requires": [ + { + "type": "grafana", + "id": "grafana", + "name": "Grafana", + "version": "4.1.1" + }, + { + "type": "panel", + "id": "graph", + "name": "Graph", + "version": "" + }, + { + "type": "datasource", + "id": "prometheus", + "name": "Prometheus", + "version": "1.0.0" + } + ], + "annotations": { + "list": [] + }, + "editable": true, + "gnetId": null, + "graphTooltip": 0, + "hideControls": false, + "id": null, + "links": [], + "refresh": "30s", + "rows": [ + { + "collapse": false, + "height": 200, + "panels": [ + { + "aliasColors": {}, + "bars": true, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "id": 11, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "span": 6, + "stack": true, + "steppedLine": false, + "targets": [ + { + "expr": "sum(hystrix_rollingCount_shortCircuited) by (metricGroup, metricType, spin_service)", + "intervalFactor": 2, + "legendFormat": "{{spin_service}}/{{metricGroup}}({{metricType}})", + "metric": "", + "refId": "A", + "step": 10 + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "Hystrix Short Circuited Rolling Count", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "cumulative" + }, + "type": "graph", + "xaxis": { + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ] + }, + { + "aliasColors": {}, + "bars": true, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "id": 37, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "span": 6, + "stack": true, + "steppedLine": false, + "targets": [ + { + "expr": "sum($Function(hystrix_rollingCount_fallback{success=\"true\"}[$SamplePeriod])) by (metricType, metricGroup, spin_service)", + "intervalFactor": 2, + "legendFormat": "{{spin_service}}/{{metricType}}({{metricGroup}})", + "metric": "", + "refId": "A", + "step": 10 + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "Hystrix Fallback Success", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + } + ] + } + ], + "repeat": null, + "repeatIteration": null, + "repeatRowId": null, + "showTitle": false, + "title": "Hystrix Error Signals", + "titleSize": "h6" + }, + { + "collapse": false, + "height": 291, + "panels": [ + { + "aliasColors": {}, + "bars": true, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "id": 21, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "span": 12, + "stack": true, + "steppedLine": false, + "targets": [ + { + "expr": "label_replace(sum($Function(service_controller_completions__count_total{status=\"5xx\"}[$SamplePeriod])) by (controller, statusCode, spin_service), \"controller\", \"$1\", \"controller\", \"(.*)Controller\")", + "intervalFactor": 2, + "legendFormat": "{{spin_service}}/{{statusCode}}/{{controller}}", + "metric": "", + "refId": "A", + "step": 4 + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "5xx Invocation Errors", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ] + } + ], + "repeat": null, + "repeatIteration": null, + "repeatRowId": null, + "showTitle": false, + "title": "5xx Errors", + "titleSize": "h6" + }, + { + "collapse": false, + "height": 262, + "panels": [ + { + "aliasColors": {}, + "bars": true, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "id": 55, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "span": 6, + "stack": true, + "steppedLine": false, + "targets": [ + { + "expr": "sum($Function(workflow_stage_calls_total{spin_service=\"orca\"}[$SamplePeriod])) by (type, cloudProvider)", + "hide": false, + "intervalFactor": 2, + "legendFormat": "{{type}}/{{cloudProvider}}", + "metric": "", + "refId": "B", + "step": 10 + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "Active Stages per Type/Platform (orca)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + } + ] + }, + { + "aliasColors": {}, + "bars": true, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "id": 58, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "span": 6, + "stack": true, + "steppedLine": false, + "targets": [ + { + "expr": "sum($Function(workflow_stage_durationBucket_total{spin_service=\"orca\"}[$SamplePeriod])) by (type, cloudProvider)", + "hide": false, + "intervalFactor": 2, + "legendFormat": "{{type}}/{{cloudProvider}}", + "metric": "", + "refId": "B", + "step": 10 + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "Completed Stages per Type/Platform (orca)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + } + ] + } + ], + "repeat": null, + "repeatIteration": null, + "repeatRowId": null, + "showTitle": false, + "title": "Orca Stages", + "titleSize": "h6" + }, + { + "collapse": false, + "height": 269, + "panels": [ + { + "aliasColors": {}, + "bars": true, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "id": 18, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "span": 6, + "stack": true, + "steppedLine": false, + "targets": [ + { + "expr": "sum($Function(workflow_stage_durationBucket_total{spin_service=\"orca\",bucket!=\"lt5m\"}[$SamplePeriod])) by (cloudProvider, bucket)", + "intervalFactor": 2, + "legendFormat": "{{bucket}}/{{cloudProvider}}", + "metric": "", + "refId": "A", + "step": 10 + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "Stage Duration > 5m per Time-Bucket/Platform (orca)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ] + }, + { + "aliasColors": {}, + "bars": true, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "id": 38, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "span": 6, + "stack": true, + "steppedLine": false, + "targets": [ + { + "expr": "sum($Function(workflow_trigger_calls_total{spin_service=\"echo\"}[$SamplePeriod])) by (monitor)", + "intervalFactor": 2, + "legendFormat": "{{monitor}}", + "metric": "", + "refId": "A", + "step": 10 + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "Pipelines Triggered (echo)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + } + ] + } + ], + "repeat": null, + "repeatIteration": null, + "repeatRowId": null, + "showTitle": false, + "title": "Threads and Pipelines", + "titleSize": "h6" + }, + { + "collapse": false, + "height": 250, + "panels": [ + { + "aliasColors": {}, + "bars": true, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "id": 41, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "span": 6, + "stack": true, + "steppedLine": false, + "targets": [ + { + "expr": "sum(bakery_bake_active)", + "hide": false, + "intervalFactor": 2, + "legendFormat": "Active", + "metric": "", + "refId": "A", + "step": 10 + }, + { + "expr": "sum($Function(bakery_bake_calls[$SamplePeriod])) by (flavor)", + "hide": false, + "intervalFactor": 2, + "legendFormat": "Request({{flavor}})", + "metric": "", + "refId": "B", + "step": 10 + }, + { + "expr": "-1 * sum($Function(bakery_bake_completions__count_total{success!=\"true\"}[$SamplePeriod])) by (region)", + "hide": false, + "intervalFactor": 2, + "legendFormat": "Failed {{region}}", + "metric": "", + "refId": "C", + "step": 10 + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "Bake Activity (rosco)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "-5", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "-5", + "show": true + } + ] + }, + { + "aliasColors": {}, + "bars": false, + "datasource": "${DS_SPINNAKER}", + "decimals": null, + "fill": 1, + "id": 20, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "span": 6, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(front50_cache_size) by (objectType)", + "intervalFactor": 2, + "legendFormat": "{{objectType}}", + "metric": "", + "refId": "A", + "step": 10 + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "Item Cache Size (front50)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ] + } + ], + "repeat": null, + "repeatIteration": null, + "repeatRowId": null, + "showTitle": false, + "title": "Bakes and Items", + "titleSize": "h6" + }, + { + "collapse": false, + "height": 282, + "panels": [ + { + "aliasColors": {}, + "bars": true, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "id": 1, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "rightSide": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "span": 6, + "stack": true, + "steppedLine": false, + "targets": [ + { + "expr": "sum($Function(clouddriver_cache_execution_finished_total[$SamplePeriod])) by (instance)", + "hide": false, + "intervalFactor": 2, + "legendFormat": "{{instance}}", + "refId": "A", + "step": 10 + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "Execution Count (clouddriver)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + } + ] + }, + { + "aliasColors": {}, + "bars": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "id": 42, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "rightSide": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "span": 6, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(rate(clouddriver_cache_execution_successful__totalTime_total[$SamplePeriod])) by (instance) / sum(rate(clouddriver_cache_execution_successful__count_total[$SamplePeriod])) by (instance)", + "hide": false, + "intervalFactor": 2, + "legendFormat": "{{instance}}", + "refId": "A", + "step": 10 + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "Execution Latency (clouddriver)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + } + ] + } + ], + "repeat": null, + "repeatIteration": null, + "repeatRowId": null, + "showTitle": false, + "title": "Operations", + "titleSize": "h6" + } + ], + "schemaVersion": 14, + "style": "dark", + "tags": [ + "spinnaker" + ], + "templating": { + "list": [ + { + "allValue": null, + "current": { + "tags": [], + "text": "Instant Rate", + "value": "irate" + }, + "hide": 0, + "includeAll": false, + "label": null, + "multi": false, + "name": "Function", + "options": [ + { + "selected": false, + "text": "Delta", + "value": "delta" + }, + { + "selected": false, + "text": "Rate", + "value": "rate" + }, + { + "selected": false, + "text": "Instant Delta", + "value": "idelta" + }, + { + "selected": true, + "text": "Instant Rate", + "value": "irate" + } + ], + "query": "delta,rate,idelta,irate", + "type": "custom" + }, + { + "auto": false, + "auto_count": 30, + "auto_min": "10s", + "current": { + "text": "1m", + "value": "1m" + }, + "hide": 0, + "label": "Sample Period", + "name": "SamplePeriod", + "options": [ + { + "selected": true, + "text": "1m", + "value": "1m" + }, + { + "selected": false, + "text": "5m", + "value": "5m" + }, + { + "selected": false, + "text": "10m", + "value": "10m" + }, + { + "selected": false, + "text": "15m", + "value": "15m" + }, + { + "selected": false, + "text": "30m", + "value": "30m" + }, + { + "selected": false, + "text": "1h", + "value": "1h" + } + ], + "query": "1m,5m,10m,15m,30m,1h", + "refresh": 2, + "type": "interval" + } + ] + }, + "time": { + "from": "now-3h", + "to": "now" + }, + "timepicker": { + "refresh_intervals": [ + "5s", + "10s", + "30s", + "1m", + "5m", + "15m", + "30m", + "1h", + "2h", + "1d" + ], + "time_options": [ + "5m", + "15m", + "1h", + "6h", + "12h", + "24h", + "2d", + "7d", + "30d" + ] + }, + "timezone": "browser", + "title": "Spinnaker Minimalist", + "version": 4 +} diff --git a/spinnaker-monitoring-third-party/third_party/prometheus/experimental/orca-microservice-dashboard.json b/spinnaker-monitoring-third-party/third_party/prometheus/experimental/orca-microservice-dashboard.json new file mode 100644 index 0000000..1d24735 --- /dev/null +++ b/spinnaker-monitoring-third-party/third_party/prometheus/experimental/orca-microservice-dashboard.json @@ -0,0 +1,1115 @@ +{ + "__inputs": [ + { + "name": "DS_SPINNAKER", + "label": "Spinnaker", + "description": "", + "type": "datasource", + "pluginId": "prometheus", + "pluginName": "Prometheus" + } + ], + "__requires": [ + { + "type": "grafana", + "id": "grafana", + "name": "Grafana", + "version": "4.3.2" + }, + { + "type": "panel", + "id": "graph", + "name": "Graph", + "version": "" + }, + { + "type": "datasource", + "id": "prometheus", + "name": "Prometheus", + "version": "1.0.0" + } + ], + "annotations": { + "list": [] + }, + "editable": true, + "gnetId": null, + "graphTooltip": 0, + "hideControls": false, + "id": null, + "links": [], + "refresh": "30s", + "rows": [ + { + "collapse": false, + "height": 181, + "panels": [ + { + "aliasColors": {}, + "bars": true, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "id": 63, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "span": 6, + "stack": true, + "steppedLine": false, + "targets": [ + { + "expr": "label_replace(sum($Function(service_controller_completions__count_total{instance=~\"$Instance\",spin_service=\"orca\",status=\"5xx\"}[$SamplePeriod])) by (controller, method, status), \"controller\", \"$1\", \"controller\", \"(.*)Controller\")", + "format": "time_series", + "interval": "", + "intervalFactor": 2, + "legendFormat": "{{statusCode}}/{{controller}}/{{method}}", + "refId": "A", + "step": 30 + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "5xx Invocation Errors ($Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + } + ] + }, + { + "aliasColors": {}, + "bars": true, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "id": 55, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "span": 6, + "stack": true, + "steppedLine": false, + "targets": [ + { + "expr": "sum($Function(workflow_stage_calls_total{instance=~\"$Instance\",spin_service=\"orca\"}[$SamplePeriod])) by (cloudProvider, type)", + "format": "time_series", + "hide": false, + "intervalFactor": 2, + "legendFormat": "{{type}}/{{cloudProvider}}", + "metric": "", + "refId": "B", + "step": 30 + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "Active Stages per Type/Platform ($Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + } + ] + } + ], + "repeat": null, + "repeatIteration": null, + "repeatRowId": null, + "showTitle": false, + "title": "5xx Errors", + "titleSize": "h6" + }, + { + "collapse": false, + "height": 221, + "panels": [ + { + "aliasColors": {}, + "bars": true, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "id": 6, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "span": 6, + "stack": true, + "steppedLine": false, + "targets": [ + { + "expr": "label_replace(sum($Function(service_controller_completions__count_total{instance=~\"$Instance\",spin_service=\"orca\"}[$SamplePeriod])) by (controller, method), \"controller\", \"$1\", \"controller\", \"(.*)Controller\")", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "{{controller}}/{{method}}", + "refId": "A", + "step": 30 + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "Controller Invocations by Method ($Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + } + ] + }, + { + "aliasColors": {}, + "bars": true, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "id": 56, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "span": 6, + "stack": true, + "steppedLine": false, + "targets": [ + { + "expr": "sum($Function(workflow_stage_durationBucket_total{instance=~\"$Instance\",spin_service=\"orca\"}[$SamplePeriod])) by (cloudProvider, stageType)", + "format": "time_series", + "hide": false, + "intervalFactor": 2, + "legendFormat": "{{stageType}}/{{cloudProvider}}", + "metric": "", + "refId": "C", + "step": 30 + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "Stages Completed per Type/Platform ($Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + } + ] + } + ], + "repeat": null, + "repeatIteration": null, + "repeatRowId": null, + "showTitle": false, + "title": "Invocations by Method", + "titleSize": "h6" + }, + { + "collapse": false, + "height": 267, + "panels": [ + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "id": 26, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "span": 6, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "label_replace(sum(rate(service_controller_completions__totalTime_total{instance=~\"$Instance\",spin_service=\"orca\"}[$SamplePeriod])) by (controller, method) / sum(rate(service_controller_completions__count_total{instance=~\"$Instance\",spin_service=\"orca\"}[$SamplePeriod])) by (controller, method), \"controller\", \"$1\", \"controller\", \"(.*)Controller\")", + "intervalFactor": 2, + "legendFormat": "{{controller}}/{{method}}", + "refId": "A", + "step": 30 + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "Controller Invocation Latency by Method ($Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ] + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "id": 64, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "span": 6, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum($Function(workflow_stage_durationBucket_total{instance=~\"$Instance\",spin_service=\"orca\",bucket!=\"lt5m\"}[$SamplePeriod])) by (stageType, cloudProvider, bucket)", + "format": "time_series", + "interval": "", + "intervalFactor": 2, + "legendFormat": "{{bucket}}/{{cloudProvider}}/{{stageType}}", + "metric": "", + "refId": "A", + "step": 30 + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "Stage Durations > 5m per Time-Bucket/Platform ($Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ] + } + ], + "repeat": null, + "repeatIteration": null, + "repeatRowId": null, + "showTitle": false, + "title": "Invocation Latency", + "titleSize": "h6" + }, + { + "collapse": false, + "height": 168, + "panels": [ + { + "aliasColors": {}, + "bars": true, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "id": 18, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "span": 6, + "stack": true, + "steppedLine": false, + "targets": [ + { + "expr": "sum(threadpool_activeThreads{instance=~\"$Instance\",spin_service=\"orca\"}) by (pool)", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "{{pool}}", + "metric": "", + "refId": "A", + "step": 30 + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "Active Threads ($Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ] + }, + { + "aliasColors": {}, + "bars": true, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "id": 62, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "span": 6, + "stack": true, + "steppedLine": false, + "targets": [ + { + "expr": "sum($Function(threadpool_blockedSize{instance=~\"$Instance\",spin_service=\"orca\"}[$SamplePeriod])) by (pool)", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "{{pool}}", + "metric": "", + "refId": "A", + "step": 30 + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "Blocked Queues ($Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ] + } + ], + "repeat": null, + "repeatIteration": null, + "repeatRowId": null, + "showTitle": false, + "title": "Threads and Queues", + "titleSize": "h6" + }, + { + "collapse": false, + "height": 183, + "panels": [ + { + "aliasColors": {}, + "bars": true, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "id": 65, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "span": 6, + "stack": true, + "steppedLine": false, + "targets": [ + { + "expr": "sum($Function(queue_message_pushed_total{instance=~\"$Instance\",spin_service=\"orca\"}[$SamplePeriod])) by (instance)", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "{{instance}}", + "metric": "", + "refId": "A", + "step": 30 + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "Pushed Messages by Instance ($Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ] + }, + { + "aliasColors": {}, + "bars": true, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "id": 66, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "span": 6, + "stack": true, + "steppedLine": false, + "targets": [ + { + "expr": "sum($Function(queue_message_acked_total{instance=~\"$Instance\",spin_service=\"orca\"}[$SamplePeriod])) by (instance)", + "format": "time_series", + "intervalFactor": 2, + "legendFormat": "{{instance}}", + "metric": "", + "refId": "A", + "step": 30 + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "Acknowledged Messages by Instance ($Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ] + } + ], + "repeat": null, + "repeatIteration": null, + "repeatRowId": null, + "showTitle": false, + "title": "Queues", + "titleSize": "h6" + }, + { + "collapse": false, + "height": 291, + "panels": [ + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "id": 21, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "span": 12, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "avg(platform_java_memory{instance=~\"$Instance\",spin_service=\"orca\",scope=\"HEAP\"}) by (segment)", + "intervalFactor": 2, + "legendFormat": "{{segment}}", + "metric": "", + "refId": "G", + "step": 10 + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "JVM Memory Usage ($Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "decbytes", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "decbytes", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ] + } + ], + "repeat": null, + "repeatIteration": null, + "repeatRowId": null, + "showTitle": false, + "title": "JVM Memory", + "titleSize": "h6" + } + ], + "schemaVersion": 14, + "style": "dark", + "tags": [ + "spinnaker" + ], + "templating": { + "list": [ + { + "allValue": ".*", + "current": {}, + "datasource": "${DS_SPINNAKER}", + "hide": 0, + "includeAll": true, + "label": null, + "multi": false, + "name": "Instance", + "options": [], + "query": "label_values(service_controller_completions__count_total{spin_service=\"orca\"}, instance)", + "refresh": 1, + "regex": "", + "sort": 1, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "allValue": null, + "current": { + "tags": [], + "text": "Instant Rate", + "value": "irate" + }, + "hide": 0, + "includeAll": false, + "label": null, + "multi": false, + "name": "Function", + "options": [ + { + "selected": false, + "text": "Delta", + "value": "delta" + }, + { + "selected": false, + "text": "Rate", + "value": "rate" + }, + { + "selected": false, + "text": "Instant Delta", + "value": "idelta" + }, + { + "selected": true, + "text": "Instant Rate", + "value": "irate" + } + ], + "query": "delta,rate,idelta,irate", + "type": "custom" + }, + { + "auto": false, + "auto_count": 30, + "auto_min": "10s", + "current": { + "text": "1m", + "value": "1m" + }, + "hide": 0, + "label": "Sample Period", + "name": "SamplePeriod", + "options": [ + { + "selected": true, + "text": "1m", + "value": "1m" + }, + { + "selected": false, + "text": "5m", + "value": "5m" + }, + { + "selected": false, + "text": "10m", + "value": "10m" + }, + { + "selected": false, + "text": "15m", + "value": "15m" + }, + { + "selected": false, + "text": "30m", + "value": "30m" + }, + { + "selected": false, + "text": "1h", + "value": "1h" + } + ], + "query": "1m,5m,10m,15m,30m,1h", + "refresh": 2, + "type": "interval" + } + ] + }, + "time": { + "from": "now-3h", + "to": "now" + }, + "timepicker": { + "refresh_intervals": [ + "5s", + "10s", + "30s", + "1m", + "5m", + "15m", + "30m", + "1h", + "2h", + "1d" + ], + "time_options": [ + "5m", + "15m", + "1h", + "6h", + "12h", + "24h", + "2d", + "7d", + "30d" + ] + }, + "timezone": "browser", + "title": "Orca Microservice", + "version": 1 +} diff --git a/spinnaker-monitoring-third-party/third_party/prometheus/experimental/overview-dashboard.json b/spinnaker-monitoring-third-party/third_party/prometheus/experimental/overview-dashboard.json new file mode 100644 index 0000000..ae3bf56 --- /dev/null +++ b/spinnaker-monitoring-third-party/third_party/prometheus/experimental/overview-dashboard.json @@ -0,0 +1,92 @@ +{ + "annotations": { + "list": [] + }, + "editable": true, + "gnetId": null, + "graphTooltip": 0, + "id": null, + "links": [], + "panels": [ + { + "folderId": 39, + "gridPos": { + "h": 9, + "w": 12, + "x": 0, + "y": 0 + }, + "headings": true, + "id": 2, + "limit": 20, + "links": [], + "query": "Microservice", + "recent": false, + "search": true, + "starred": false, + "tags": [], + "title": "Services", + "type": "dashlist" + }, + { + "folderId": 39, + "gridPos": { + "h": 9, + "w": 12, + "x": 12, + "y": 0 + }, + "headings": true, + "id": 3, + "limit": 20, + "links": [], + "query": "Platform", + "recent": false, + "search": true, + "starred": false, + "tags": [], + "title": "Platforms", + "type": "dashlist" + } + ], + "schemaVersion": 16, + "style": "dark", + "tags": [ + "spinnaker" + ], + "templating": { + "list": [] + }, + "time": { + "from": "now-3h", + "to": "now" + }, + "timepicker": { + "refresh_intervals": [ + "5s", + "10s", + "30s", + "1m", + "5m", + "15m", + "30m", + "1h", + "2h", + "1d" + ], + "time_options": [ + "5m", + "15m", + "1h", + "6h", + "12h", + "24h", + "2d", + "7d", + "30d" + ] + }, + "timezone": "", + "title": "Spinnaker Operational Dashboards", + "version": 1 +} diff --git a/spinnaker-monitoring-third-party/third_party/prometheus/experimental/rosco-microservice-dashboard.json b/spinnaker-monitoring-third-party/third_party/prometheus/experimental/rosco-microservice-dashboard.json new file mode 100644 index 0000000..2d9a9c6 --- /dev/null +++ b/spinnaker-monitoring-third-party/third_party/prometheus/experimental/rosco-microservice-dashboard.json @@ -0,0 +1,732 @@ +{ + "__inputs": [ + { + "name": "DS_SPINNAKER", + "label": "Spinnaker", + "description": "", + "type": "datasource", + "pluginId": "prometheus", + "pluginName": "Prometheus" + } + ], + "__requires": [ + { + "type": "grafana", + "id": "grafana", + "name": "Grafana", + "version": "4.1.1" + }, + { + "type": "panel", + "id": "graph", + "name": "Graph", + "version": "" + }, + { + "type": "datasource", + "id": "prometheus", + "name": "Prometheus", + "version": "1.0.0" + } + ], + "annotations": { + "list": [] + }, + "editable": true, + "gnetId": null, + "graphTooltip": 0, + "hideControls": false, + "id": null, + "links": [], + "refresh": "30s", + "rows": [ + { + "collapse": false, + "height": 166, + "panels": [ + { + "aliasColors": {}, + "bars": true, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "id": 73, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "span": 12, + "stack": true, + "steppedLine": false, + "targets": [ + { + "expr": "sum($Function(service_controller_completions__count_total{instance=~\"$Instance\",spin_service=\"rosco\",status=\"5xx\"}[$SamplePeriod])) by (controller, method, statusCode)", + "hide": false, + "intervalFactor": 2, + "legendFormat": "{{statusCode}}/{{controller}}/{{method}}", + "refId": "C", + "step": 10 + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "Controller 5xx Errors ($Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + } + ] + } + ], + "repeat": null, + "repeatIteration": null, + "repeatRowId": null, + "showTitle": false, + "title": "Invocations by Status", + "titleSize": "h6" + }, + { + "collapse": false, + "height": 176, + "panels": [ + { + "aliasColors": {}, + "bars": true, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "id": 4, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "span": 12, + "stack": true, + "steppedLine": false, + "targets": [ + { + "expr": "sum($Function(service_controller_completions__count_total{instance=~\"$Instance\",spin_service=\"rosco\"}[$SamplePeriod])) by (controller, method)", + "hide": false, + "intervalFactor": 2, + "legendFormat": "{{controller}}/{{method}}", + "refId": "C", + "step": 10 + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "Controller Invocations by Method ($Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": "0", + "show": true + } + ] + } + ], + "repeat": null, + "repeatIteration": null, + "repeatRowId": null, + "showTitle": false, + "title": "Invocations by Method", + "titleSize": "h6" + }, + { + "collapse": false, + "height": 178, + "panels": [ + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "id": 23, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "span": 12, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(rate(service_controller_completions__totalTime_total{instance=~\"$Instance\",spin_service=\"rosco\"}[$SamplePeriod])) by (controller, method) / sum(rate(service_controller_completions__count_total{instance=~\"$Instance\",spin_service=\"rosco\"}[$SamplePeriod])) by (controller, method)", + "hide": false, + "intervalFactor": 2, + "legendFormat": "{{controller}}/{{method}}", + "refId": "C", + "step": 10 + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "Controller Invocation Latency by Method ($Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ] + } + ], + "repeat": null, + "repeatIteration": null, + "repeatRowId": null, + "showTitle": false, + "title": "Latency by Method", + "titleSize": "h6" + }, + { + "collapse": false, + "height": 238, + "panels": [ + { + "aliasColors": {}, + "bars": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "id": 14, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": true, + "renderer": "flot", + "seriesOverrides": [], + "span": 6, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(rate(bakery_bake_completions__totalTime_total{instance=~\"$Instance\"}[$SamplePeriod])) by (region) / sum(rate(bakery_bake_completions__count_total{instance=~\"$Instance\"}[$SamplePeriod])) by (region)", + "hide": false, + "intervalFactor": 2, + "legendFormat": "{{region}}", + "metric": "", + "refId": "A", + "step": 4 + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "Bakes Completed ($Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "ns", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ] + }, + { + "aliasColors": {}, + "bars": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "id": 41, + "legend": { + "avg": false, + "current": false, + "hideEmpty": true, + "hideZero": true, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "span": 6, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(bakery_bake_active{instance=~\"$Instance\"}) by (instance)", + "hide": false, + "intervalFactor": 2, + "legendFormat": "Active/{{instance}}", + "metric": "", + "refId": "A", + "step": 4 + }, + { + "expr": "sum($Function(bakery_bake_calls{instance=~\"$Instance\"}[$SamplePeriod])) by (flavor)", + "hide": false, + "intervalFactor": 2, + "legendFormat": "Request/{{flavor}}", + "metric": "", + "refId": "B", + "step": 4 + }, + { + "expr": "-1 * sum($Function(bakery_bake_completions__count_total{instance=~\"$Instance\",success!=\"true\"}[$SamplePeriod])) by (region)", + "hide": false, + "intervalFactor": 2, + "legendFormat": "Failed/{{region}}", + "metric": "", + "refId": "C", + "step": 4 + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "Bake Requests and Failures ($Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ] + } + ], + "repeat": null, + "repeatIteration": null, + "repeatRowId": null, + "showTitle": false, + "title": "Bakes", + "titleSize": "h6" + }, + { + "collapse": false, + "height": 291, + "panels": [ + { + "aliasColors": {}, + "bars": false, + "datasource": "${DS_SPINNAKER}", + "fill": 1, + "id": 21, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": false, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "span": 12, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "avg(platform_java_memory{instance=~\"$Instance\",spin_service=\"rosco\",scope=\"HEAP\"}) by (segment)", + "intervalFactor": 2, + "legendFormat": "{{segment}}", + "metric": "", + "refId": "H", + "step": 2 + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "JVM Memory Usage ($Instance)", + "tooltip": { + "shared": true, + "sort": 2, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "decbytes", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "decbytes", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ] + } + ], + "repeat": null, + "repeatIteration": null, + "repeatRowId": null, + "showTitle": false, + "title": "JVM Memory", + "titleSize": "h6" + } + ], + "schemaVersion": 14, + "style": "dark", + "tags": [ + "spinnaker" + ], + "templating": { + "list": [ + { + "allValue": ".*", + "current": { + "text": "All", + "value": "$__all" + }, + "datasource": "${DS_SPINNAKER}", + "hide": 0, + "includeAll": true, + "label": null, + "multi": false, + "name": "Instance", + "options": [ + { + "selected": true, + "text": "All", + "value": "$__all" + } + ], + "query": "label_values(service_controller_invocations__count_total{spin_service=\"rosco\"}, instance)", + "refresh": 2, + "regex": "", + "sort": 1, + "tagValuesQuery": "", + "tags": [], + "tagsQuery": "", + "type": "query", + "useTags": false + }, + { + "allValue": null, + "current": { + "tags": [], + "text": "Instant Rate", + "value": "irate" + }, + "hide": 0, + "includeAll": false, + "label": null, + "multi": false, + "name": "Function", + "options": [ + { + "selected": false, + "text": "Delta", + "value": "delta" + }, + { + "selected": false, + "text": "Rate", + "value": "rate" + }, + { + "selected": false, + "text": "Instant Delta", + "value": "idelta" + }, + { + "selected": true, + "text": "Instant Rate", + "value": "irate" + } + ], + "query": "delta,rate,idelta,irate", + "type": "custom" + }, + { + "auto": false, + "auto_count": 30, + "auto_min": "10s", + "current": { + "text": "1m", + "value": "1m" + }, + "hide": 0, + "label": "Sample Period", + "name": "SamplePeriod", + "options": [ + { + "selected": true, + "text": "1m", + "value": "1m" + }, + { + "selected": false, + "text": "5m", + "value": "5m" + }, + { + "selected": false, + "text": "10m", + "value": "10m" + }, + { + "selected": false, + "text": "15m", + "value": "15m" + }, + { + "selected": false, + "text": "30m", + "value": "30m" + }, + { + "selected": false, + "text": "1h", + "value": "1h" + } + ], + "query": "1m,5m,10m,15m,30m,1h", + "refresh": 2, + "type": "interval" + } + ] + }, + "time": { + "from": "now-3h", + "to": "now" + }, + "timepicker": { + "refresh_intervals": [ + "5s", + "10s", + "30s", + "1m", + "5m", + "15m", + "30m", + "1h", + "2h", + "1d" + ], + "time_options": [ + "5m", + "15m", + "1h", + "6h", + "12h", + "24h", + "2d", + "7d", + "30d" + ] + }, + "timezone": "browser", + "title": "Rosco Microservice", + "version": 1 +} diff --git a/spinnaker-monitoring-third-party/third_party/stackdriver/experimental/appengine-platform-dashboard.json b/spinnaker-monitoring-third-party/third_party/stackdriver/experimental/appengine-platform-dashboard.json new file mode 100644 index 0000000..e167b5d --- /dev/null +++ b/spinnaker-monitoring-third-party/third_party/stackdriver/experimental/appengine-platform-dashboard.json @@ -0,0 +1,303 @@ +{ + "revision": 0, + "displayName": "AppEngine Platform", + "root": { + "rowLayout": { + "rows": [ + { + "widgets": [ + { + "title": "AppEngine Deploy Rate", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/platform/appengine/deploy/completions__count\"", + "perSeriesAligner": "ALIGN_RATE", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.region" + ], + "unitOverride": "1" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "AppEngine Deploy Error Rate", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/platform/appengine/deploy/completions__count\" AND metric.label.success=False", + "perSeriesAligner": "ALIGN_RATE", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.region" + ], + "unitOverride": "1" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "AppEngine Deploy Duration", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilterRatio": { + "numerator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/platform/appengine/deploy/completions__totalTime\"", + "perSeriesAligner": "ALIGN_DELTA" + }, + "denominator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/platform/appengine/deploy/completions__count\"", + "perSeriesAligner": "ALIGN_DELTA" + } + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "Repository Download Duration", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilterRatio": { + "numerator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/platform/appengine/repository/downloads__totalTime\"", + "perSeriesAligner": "ALIGN_DELTA", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.repositoryType" + ], + "unitOverride": "1" + }, + "denominator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/platform/appengine/repository/downloads__count\"", + + "perSeriesAligner": "ALIGN_DELTA", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.repositoryType" + ], + "unitOverride": "1" + } + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "AppEngine Deployment Attempt Rate", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/platform/appengine/deploy/calls\"", + + "perSeriesAligner": "ALIGN_RATE", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.region" + ], + "unitOverride": "1" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "CATS Keys Requested", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/clouddriver/cache/redis/get/keys\" AND metric.label.spin_service=\"clouddriver\" AND metric.label.platform=\"appengine\"", + "perSeriesAligner": "ALIGN_RATE" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + }, + { + "title": "CATS Keys Written", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/clouddriver/cache/redis/merge/keys\" AND metric.label.spin_service=\"clouddriver\" AND metric.label.platform=\"appengine\"", + "perSeriesAligner": "ALIGN_RATE" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + }, + { + "title": "CATS Keys Deleted", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/clouddriver/cache/redis/evict/keys\" AND metric.label.spin_service=\"clouddriver\" AND metric.label.platform=\"appengine\"", + "perSeriesAligner": "ALIGN_RATE" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "CATS Items Requested", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/clouddriver/cache/redis/get/items\" AND metric.label.spin_service=\"clouddriver\" AND metric.label.platform=\"appengine\"", + "perSeriesAligner": "ALIGN_RATE" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + }, + { + "title": "CATS Items Written", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/clouddriver/cache/redis/merge/items\" AND metric.label.spin_service=\"clouddriver\" AND metric.label.platform=\"appengine\"", + "perSeriesAligner": "ALIGN_RATE" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + }, + { + "title": "CATS Items Deleted", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/clouddriver/cache/redis/evict/items\" AND metric.label.spin_service=\"clouddriver\" AND metric.label.platform=\"appengine\"", + "perSeriesAligner": "ALIGN_RATE" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + } + ] + } + } +} + diff --git a/spinnaker-monitoring-third-party/third_party/stackdriver/experimental/aws-platform-dashboard.json b/spinnaker-monitoring-third-party/third_party/stackdriver/experimental/aws-platform-dashboard.json new file mode 100644 index 0000000..8f3872f --- /dev/null +++ b/spinnaker-monitoring-third-party/third_party/stackdriver/experimental/aws-platform-dashboard.json @@ -0,0 +1,734 @@ +{ + "revision": 0, + "displayName": "Amazon Platform", + "root": { + "rowLayout": { + "rows": [ + { + "widgets": [ + { + "title": "Cache Drift", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/platform/aws/cacheDrift\"", + "perSeriesAligner": "ALIGN_RATE", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.region", + "metric.label.agent" + ], + "unitOverride": "1" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "AWS Request Throttling Rate", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/platform/aws/api/throttled\"", + "perSeriesAligner": "ALIGN_RATE" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "AWS API Rate", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/platform/aws/api/http/equests__count\"", + "perSeriesAligner": "ALIGN_RATE", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.serviceName" + ], + "unitOverride": "1" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "AWS API Error Rate", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/platform/aws/api/http/completions__count\" AND metric.label.status!=\"2xx\"", + "perSeriesAligner": "ALIGN_RATE", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.serviceEndpoint", + "metric.label.statusCode" + ], + "unitOverride": "1" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "AWS API Latency", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilterRatio": { + "numerator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/platform/aws/api/http/completions__totalTime\"", + "perSeriesAligner": "ALIGN_DELTA", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.requestType" + ], + "unitOverride": "1" + }, + "denominator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/platform/aws/api/http/completions__count\"", + "perSeriesAligner": "ALIGN_DELTA", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.requestType" + ], + "unitOverride": "1" + } + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "EC2 API Rate", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/platform/aws/api/http/completions__count\" AND metric.label.serviceName=\"AmazonEC2\"", + "perSeriesAligner": "ALIGN_RATE", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.serviceEndpoint", + "metric.label.requestType" + ], + "unitOverride": "1" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "EC2 API Error Rate", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/platform/aws/api/http/completions__count\" AND metric.label.status!=\"2xx\" AND metric.label.serviceName=\"AmazonEC2\"", + "perSeriesAligner": "ALIGN_RATE", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.serviceEndpoint", + "metric.label.requestType", + "metric.label.statusCode" + ], + "unitOverride": "1" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "EC2 API Latency", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilterRatio": { + "numerator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/platform/aws/api/http/completions__totalTime\" AND metric.label.serviceName=\"AmazonEC2\"", + "perSeriesAligner": "ALIGN_DELTA", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.requestType" + ], + "unitOverride": "1" + }, + "denominator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/platform/aws/api/http/completions__count\" AND metric.label.serviceName=\"AmazonEC2\"", + "perSeriesAligner": "ALIGN_DELTA", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.requestType" + ], + "unitOverride": "1" + } + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "AutoScaling API Rate", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/platform/aws/api/http/completions__count\" AND metric.label.serviceName=\"AmazonAutoScaling\"", + "perSeriesAligner": "ALIGN_RATE", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.serviceEndpoint", + "metric.label.requestType" + ], + "unitOverride": "1" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "AutoScaling API Error Rate", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/platform/aws/api/http/completions__count\" AND metric.label.status!=\"2xx\" AND metric.label.serviceName=\"AmazonAutoScaling\"", + "perSeriesAligner": "ALIGN_RATE", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.serviceEndpoint", + "metric.label.requestType", + "metric.label.statusCode" + ], + "unitOverride": "1" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "AutoScaling API Latency", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilterRatio": { + "numerator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/platform/aws/api/http/completions__totalTime\" AND metric.label.serviceName=\"AmazonAutoScaling\"", + "perSeriesAligner": "ALIGN_DELTA", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.requestType" + ], + "unitOverride": "1" + }, + "denominator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/platform/aws/api/http/completions__count\" AND metric.label.serviceName=\"AmazonEC2\"", + "perSeriesAligner": "ALIGN_DELTA", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.requestType" + ], + "unitOverride": "1" + } + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "ElasticLoadBalancing API Rate", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/platform/aws/api/http/completions__count\" AND metric.label.serviceName=\"AmazonElasticLoadBalancing\"", + "perSeriesAligner": "ALIGN_RATE", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.serviceEndpoint", + "metric.label.requestType" + ], + "unitOverride": "1" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "ElasticLoadBalancing API Error Rate", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/platform/aws/api/http/completions__count\" AND metric.label.status!=\"2xx\" AND metric.label.serviceName=\"AmazonElasticLoadBalancing\"", + "perSeriesAligner": "ALIGN_RATE", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.serviceEndpoint", + "metric.label.requestType", + "metric.label.statusCode" + ], + "unitOverride": "1" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "ElasticLoadBalancing API Latency", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilterRatio": { + "numerator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/platform/aws/api/http/completions__totalTime\" AND metric.label.serviceName=\"AmazonElasticLoadBalancing\"", + "perSeriesAligner": "ALIGN_DELTA", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.requestType" + ], + "unitOverride": "1" + }, + "denominator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/platform/aws/api/http/completions__count\" AND metric.label.serviceName=\"AmazonElasticLoadBalancing\"", + "perSeriesAligner": "ALIGN_DELTA", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.requestType" + ], + "unitOverride": "1" + } + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "Other API Rate", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/platform/aws/api/http/completions__count\" AND metric.label.serviceName!=\"AmazonEC2\" AND metric.label.serviceName!=\"AmazonAutoScaling\" AND metric.label.serviceName!=\"AmazonElasticLoadBalancing\"", + "perSeriesAligner": "ALIGN_RATE", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.serviceEndpoint", + "metric.label.requestType" + ], + "unitOverride": "1" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "Other API Error Rate", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/platform/aws/api/http/completions__count\" AND metric.label.status!=\"2xx\" AND metric.label.serviceName!=\"AmazonEC2\" AND metric.label.serviceName!=\"AmazonAutoScaling\" AND metric.label.serviceName!=\"AmazonElasticLoadBalancing\"", + "perSeriesAligner": "ALIGN_RATE", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.serviceEndpoint", + "metric.label.requestType", + "metric.label.statusCode" + ], + "unitOverride": "1" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "Other API Latency", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilterRatio": { + "numerator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/platform/aws/api/http/completions__totalTime\" AND metric.label.serviceName!=\"AmazonEC2\" AND metric.label.serviceName!=\"AmazonAutoScaling\" AND metric.label.serviceName!=\"AmazonElasticLoadBalancing\"", + "perSeriesAligner": "ALIGN_DELTA", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.serviceEndpoint", + "metric.label.requestType" + ], + "unitOverride": "1" + }, + "denominator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/platform/aws/api/http/completions__count\" AND metric.label.serviceName!=\"AmazonEC2\" AND metric.label.serviceName!=\"AmazonAutoScaling\" AND metric.label.serviceName!=\"AmazonElasticLoadBalancing\"", + "perSeriesAligner": "ALIGN_DELTA", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.serviceEndpoint", + "metric.label.requestType" + ], + "unitOverride": "1" + } + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "CATS Keys Requested", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/clouddriver/cache/redis/get/keys\" AND metric.label.spin_service=\"clouddriver\" AND metric.label.platform=\"aws\"", + "perSeriesAligner": "ALIGN_RATE" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + }, + { + "title": "CATS Keys Written", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/clouddriver/cache/redis/merge/keys\" AND metric.label.spin_service=\"clouddriver\" AND metric.label.platform=\"aws\"", + "perSeriesAligner": "ALIGN_RATE" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + }, + { + "title": "CATS Keys Deleted", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/clouddriver/cache/redis/evict/keys\" AND metric.label.spin_service=\"clouddriver\" AND metric.label.platform=\"aws\"", + "perSeriesAligner": "ALIGN_RATE" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "CATS Items Requested", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/clouddriver/cache/redis/get/items\" AND metric.label.spin_service=\"clouddriver\" AND metric.label.platform=\"aws\"", + "perSeriesAligner": "ALIGN_RATE" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + }, + { + "title": "CATS Items Written", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/clouddriver/cache/redis/merge/items\" AND metric.label.spin_service=\"clouddriver\" AND metric.label.platform=\"aws\"", + "perSeriesAligner": "ALIGN_RATE" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + }, + { + "title": "CATS Items Deleted", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/clouddriver/cache/redis/evict/items\" AND metric.label.spin_service=\"clouddriver\" AND metric.label.platform=\"aws\"", + "perSeriesAligner": "ALIGN_RATE" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + } + ] + } + } +} diff --git a/spinnaker-monitoring-third-party/third_party/stackdriver/experimental/clouddriver-service-dashboard.json b/spinnaker-monitoring-third-party/third_party/stackdriver/experimental/clouddriver-service-dashboard.json new file mode 100644 index 0000000..206aeec --- /dev/null +++ b/spinnaker-monitoring-third-party/third_party/stackdriver/experimental/clouddriver-service-dashboard.json @@ -0,0 +1,480 @@ +{ + "revision": 0, + "displayName": "Clouddriver", + "root": { + "rowLayout": { + "rows": [ + { + "widgets": [ + { + "title": "Successful Task Rate", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/clouddriver/task/finished\" AND metric.label.spin_service=\"clouddriver\" AND metric.label.success=True", + "perSeriesAligner": "ALIGN_RATE" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + }, + + { + "title": "Failed Task Rate", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/clouddriver/task/finished\" AND metric.label.spin_service=\"clouddriver\" AND metric.label.success!=True", + "perSeriesAligner": "ALIGN_RATE" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "Successful Invocations", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/service/controller/completions__count\" AND metric.label.spin_service=\"clouddriver\" AND metric.label.status=\"2xx\"", + "perSeriesAligner": "ALIGN_RATE" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + }, + { + "title": "Failed Invocations", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/service/controller/completions__count\" AND metric.label.spin_service=\"clouddriver\" AND metric.label.status!=\"2xx\"", + "perSeriesAligner": "ALIGN_RATE" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + + { + "widgets": [ + { + "title": "Invocation Latency", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilterRatio": { + "numerator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/service/controller/completions__totalTime\" AND metric.label.spin_service=\"clouddriver\"", + "perSeriesAligner": "ALIGN_DELTA" + }, + "denominator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/service/controller/completions__count\" AND metric.label.spin_service=\"clouddriver\"", + "perSeriesAligner": "ALIGN_DELTA" + } + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "Operations", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/clouddriver/operations__count\" AND metric.label.spin_service=\"clouddriver\"", + "perSeriesAligner": "ALIGN_RATE" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + }, + + { + "title": "Operation Time", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilterRatio": { + "numerator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/clouddriver/operations__totalTime\" AND metric.label.spin_service=\"clouddriver\"", + "perSeriesAligner": "ALIGN_DELTA" + }, + "denominator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/clouddriver/operations__count\" AND metric.label.spin_service=\"clouddriver\"", + "perSeriesAligner": "ALIGN_DELTA" + } + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "Caching Agent Execution Rate", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/clouddriver/cache/execution/finished\" AND metric.label.spin_service=\"clouddriver\"", + "perSeriesAligner": "ALIGN_RATE" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + }, + { + "title": "Caching Agent Execution Time (success)", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilterRatio": { + "numerator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/clouddriver/cache/execution/successful__totalTime\" AND metric.label.spin_service=\"clouddriver\"", + "perSeriesAligner": "ALIGN_DELTA" + }, + "denominator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/clouddriver/cache/execution/successful__count\" AND metric.label.spin_service=\"clouddriver\"", + "perSeriesAligner": "ALIGN_DELTA" + } + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "On-Demand Completions Time by Platform", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilterRatio": { + "numerator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/clouddriver/cache/onDemand/completions__totalTime\" AND metric.label.spin_service=\"clouddriver\"", + "perSeriesAligner": "ALIGN_DELTA", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.platform" + ], + "unitOverride": "1" + }, + "denominator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/clouddriver/cache/onDemand/completions__count\" AND metric.label.spin_service=\"clouddriver\"", + "perSeriesAligner": "ALIGN_DELTA", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.platform" + ], + "unitOverride": "1" + } + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + }, + { + "title": "On-Demand Request Rate by Platform", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/clouddriver/cache/onDemand/calls\" AND metric.label.spin_service=\"clouddriver\"", + "perSeriesAligner": "ALIGN_RATE", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.platform" + ], + "unitOverride": "1" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "CATS Keys Requested by Platform", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/clouddriver/cache/redis/get/keys\" AND metric.label.spin_service=\"clouddriver\"", + "perSeriesAligner": "ALIGN_RATE", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.platform" + ], + "unitOverride": "1" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + }, + { + "title": "CATS Keys Written by Platform", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/clouddriver/cache/redis/merge/keys\" AND metric.label.spin_service=\"clouddriver\"", + "perSeriesAligner": "ALIGN_RATE", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.platform" + ], + "unitOverride": "1" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + }, + { + "title": "CATS Keys Deleted", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/clouddriver/cache/redis/evict/keys\" AND metric.label.spin_service=\"clouddriver\"", + "perSeriesAligner": "ALIGN_RATE" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "CATS Items Requested by Platform", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/clouddriver/cache/redis/get/items\" AND metric.label.spin_service=\"clouddriver\"", + "perSeriesAligner": "ALIGN_RATE", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.platform" + ], + "unitOverride": "1" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + }, + { + "title": "CATS Items Written by Platform", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/clouddriver/cache/redis/merge/items\" AND metric.label.spin_service=\"clouddriver\"", + "perSeriesAligner": "ALIGN_RATE", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.platform" + ], + "unitOverride": "1" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + }, + { + "title": "CATS Items Deleted by Platform", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/clouddriver/cache/redis/evict/items\" AND metric.label.spin_service=\"clouddriver\"", + "perSeriesAligner": "ALIGN_RATE", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.platform" + ], + "unitOverride": "1" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "JVM Memory", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/platform/java/memory\" AND metric.label.spin_service=\"clouddriver\" AND metric.label.scope=\"HEAP\"", + "perSeriesAligner": "ALIGN_MEAN" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + } + ] + } + } +} + diff --git a/spinnaker-monitoring-third-party/third_party/stackdriver/experimental/echo-service-dashboard.json b/spinnaker-monitoring-third-party/third_party/stackdriver/experimental/echo-service-dashboard.json new file mode 100644 index 0000000..6126fa4 --- /dev/null +++ b/spinnaker-monitoring-third-party/third_party/stackdriver/experimental/echo-service-dashboard.json @@ -0,0 +1,203 @@ +{ + "revision": 0, + "displayName": "Echo", + "root": { + "rowLayout": { + "rows": [ + { + "widgets": [ + { + "title": "Trigger Rate", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/workflow/trigger/calls\" AND metric.label.spin_service=\"echo\"", + "perSeriesAligner": "ALIGN_RATE" + } + } + ] + } + }, + { + "title": "Trigger Error Rate", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/workflow/trigger/errors\" AND metric.label.spin_service=\"echo\"", + "perSeriesAligner": "ALIGN_RATE" + } + } + ] + } + } + ] + }, + + { + "widgets": [ + { + "title": "Events Processed Rate", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/echo/event/processed\" AND metric.label.spin_service=\"echo\"", + "perSeriesAligner": "ALIGN_RATE" + } + } + ] + } + }, + { + "title": "Events Per Poll", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/echo/event/perPoll\" AND metric.label.spin_service=\"echo\"", + "perSeriesAligner": "ALIGN_RATE" + } + } + ] + } + } + ] + }, + + { + "widgets": [ + { + "title": "OkHttp Request Rate per Status Code", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/okhttp/completions__count\" AND metric.label.spin_service=\"gate\"", + "perSeriesAligner": "ALIGN_RATE", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.spin_variant", + "metric.label.statusCode" + ], + "unitOverride": "1" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "OkHttp Request Latency per Status Code", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilterRatio": { + "numerator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/okhttp/completions__totalTime\" AND metric.label.spin_service=\"echo\"", + "perSeriesAligner": "ALIGN_DELTA", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.spin_variant", + "metric.label.statusCode" + ], + "unitOverride": "1" + }, + "denominator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/okhttp/completions__count\" AND metric.label.spin_service=\"echo\"", + "perSeriesAligner": "ALIGN_DELTA", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.spin_variant", + "metric.label.statusCode" + ], + "unitOverride": "1" + } + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "Invocation Latency", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilterRatio": { + "numerator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/service/controller/completions__totalTime\" AND metric.label.spin_service=\"echo\"", + "perSeriesAligner": "ALIGN_DELTA" + }, + "denominator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/service/controller/completions__count\" AND metric.label.spin_service=\"echo\"", + "perSeriesAligner": "ALIGN_DELTA" + } + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "JVM Memory", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/platform/java/memory\" AND metric.label.spin_service=\"echo\" AND metric.label.scope=\"HEAP\"", + "perSeriesAligner": "ALIGN_MEAN" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + } + ] + } + } +} diff --git a/spinnaker-monitoring-third-party/third_party/stackdriver/experimental/errors-system-dashboard.json b/spinnaker-monitoring-third-party/third_party/stackdriver/experimental/errors-system-dashboard.json new file mode 100644 index 0000000..05eff4b --- /dev/null +++ b/spinnaker-monitoring-third-party/third_party/stackdriver/experimental/errors-system-dashboard.json @@ -0,0 +1,137 @@ +{ + "revision": 0, + "displayName": "Error Overview", + "root": { + "rowLayout": { + "rows": [ + { + "widgets": [ + { + "title": "Controller Invocation Error Rate", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/service/controller/completions__count\" AND metric.label.status!=\"2xx\"", + "perSeriesAligner": "ALIGN_RATE", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.spin_service", + "metric.label.spin_variant", + "metric.label.method", + "metric.label.statusCode" + ], + "unitOverride": "1" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "Hystrix Short Circuit Open", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/hystrix/circuitBreaker/open\"", + "perSeriesAligner": "ALIGN_SUM", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.spin_service", + "metric.label.spin_variant" + ], + "unitOverride": "1" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "Hystrix Fallback Failure", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/hystrix/rollingCount/fallback\" AND metric.label.success!=True", + "perSeriesAligner": "ALIGN_SUM", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.spin_service", + "metric.label.spin_variant", + "metric.label.metricGroup" + ], + "unitOverride": "1" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + }, + { + "title": "Hystrix Fallback Success", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/hystrix/rollingCount/fallback\" AND metric.label.success=True", + "perSeriesAligner": "ALIGN_SUM", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.spin_service", + "metric.label.spin_variant", + "metric.label.metricGroup" + ], + "unitOverride": "1" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + } + ] + } + } +} + diff --git a/spinnaker-monitoring-third-party/third_party/stackdriver/experimental/fiat-service-dashboard.json b/spinnaker-monitoring-third-party/third_party/stackdriver/experimental/fiat-service-dashboard.json new file mode 100644 index 0000000..8ca895e --- /dev/null +++ b/spinnaker-monitoring-third-party/third_party/stackdriver/experimental/fiat-service-dashboard.json @@ -0,0 +1,224 @@ +{ + "revision": 0, + "displayName": "Fiat", + "root": { + "rowLayout": { + "rows": [ + { + "widgets": [ + { + "title": "Get Permission Rate", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/fiat/authz/lookups\" AND metric.label.spin_service=\"fiat\"", + "perSeriesAligner": "ALIGN_RATE", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.spin_variant", + "metric.label.cached" + ], + "unitOverride": "1" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + }, + { + "title": "Get Permission Failure Rate", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/fiat/authz/lookups\" AND metric.label.success=False AND metric.label.spin_service=\"fiat\"", + "perSeriesAligner": "ALIGN_RATE", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.spin_variant", + "metric.label.cached" + ], + "unitOverride": "1" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "Get User Permission Rate", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/fiat/authz/lookups\" AND metric.label.spin_service=\"fiat\"", + "perSeriesAligner": "ALIGN_RATE", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.spin_variant", + "metric.label.fallback" + ], + "unitOverride": "1" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + }, + { + "title": "Get User Permission Failure Rate", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/fiat/authz/userLookups\" AND metric.label.success=False AND metric.label.spin_service=\"fiat\"", + "perSeriesAligner": "ALIGN_RATE", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.spin_variant", + "metric.label.fallback" + ], + "unitOverride": "1" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "Successful Invocations", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/service/controller/completions__count\" AND metric.label.spin_service=\"fiat\" AND metric.label.status=\"2xx\"", + "perSeriesAligner": "ALIGN_RATE" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + }, + { + "title": "Failed Invocations", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/service/controller/completions__count\" AND metric.label.spin_service=\"fiat\" AND metric.label.status!=\"2xx\"", + "perSeriesAligner": "ALIGN_RATE" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "Invocation Latency", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilterRatio": { + "numerator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/service/controller/completions__totalTime\" AND metric.label.spin_service=\"fiat\"", + "perSeriesAligner": "ALIGN_DELTA" + }, + "denominator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/service/controller/completions__count\" AND metric.label.spin_service=\"fiat\"", + "perSeriesAligner": "ALIGN_DELTA" + } + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "JVM Memory", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/platform/java/memory\" AND metric.label.spin_service=\"fiat\" AND metric.label.scope=\"HEAP\"", + "perSeriesAligner": "ALIGN_MEAN" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + } + ] + } + } +} diff --git a/spinnaker-monitoring-third-party/third_party/stackdriver/experimental/front50-service-dashboard.json b/spinnaker-monitoring-third-party/third_party/stackdriver/experimental/front50-service-dashboard.json new file mode 100644 index 0000000..d34de2f --- /dev/null +++ b/spinnaker-monitoring-third-party/third_party/stackdriver/experimental/front50-service-dashboard.json @@ -0,0 +1,501 @@ +{ + "revision": 0, + "displayName": "Front50", + "root": { + "rowLayout": { + "rows": [ + { + "widgets": [ + { + "title": "Hystrix Fallback Failure", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/hystrix/rollingCount/fallback\" AND metric.label.spin_service=\"front50\" AND metric.label.success!=True", + "perSeriesAligner": "ALIGN_SUM", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.spin_variant", + "metric.label.metricGroup" + ], + "unitOverride": "1" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + }, + { + "title": "Hystrix Fallback Success vs Failure", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/hystrix/rollingCount/fallback\" AND metric.label.spin_service\"front50\"", + "perSeriesAligner": "ALIGN_SUM", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.spin_variant", + "metric.label.metricGroup", + "metric.label.success" + ], + "unitOverride": "1" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "Google Storage Error Rate", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/platform/google/api/storage/completions__count\" AND metric.label.spin_service=\"front50\" AND metric.label.status!=\"2xx\"", + "perSeriesAligner": "ALIGN_SUM", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.spin_variant", + "metric.label.method", + "metric.label.statusCode" + ], + "unitOverride": "1" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "Cache Size Per Item Type", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/front50/cache/size\" AND metric.label.spin_service=\"front50\"", + "perSeriesAligner": "ALIGN_MEAN", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.objectType" + ], + "unitOverride": "1" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + }, + { + "title": "Cache Age (mean) Per Item Type", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/front50/cache/age\" AND metric.label.spin_service=\"front50\"", + "perSeriesAligner": "ALIGN_MEAN", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.objectType" + ], + "unitOverride": "1" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "Scheduled Cache Refresh Time", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilterRatio": { + "numerator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/front50/cache/refresh__totalTime\" AND metric.label.spin_service=\"front50\" AND metric.label.scheduled=True", + "perSeriesAligner": "ALIGN_DELTA", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.objectType" + ], + "unitOverride": "1" + }, + "denominator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/front50/cache/refresh__count\" AND metric.label.spin_service=\"front50\" AND metric.label.scheduled=True", + "perSeriesAligner": "ALIGN_DELTA", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.objectType" + ], + "unitOverride": "1" + } + } + } + ] + } + }, + { + "title": "On-Demand Cache Refresh Time", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilterRatio": { + "numerator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/front50/cache/refresh__totalTime\" AND metric.label.spin_service=\"front50\" AND metric.label.scheduled!=True", + "perSeriesAligner": "ALIGN_DELTA", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.objectType" + ], + "unitOverride": "1" + }, + "denominator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/front50/cache/refresh__count\" AND metric.label.spin_service=\"front50\" AND metric.label.scheduled=True", + "perSeriesAligner": "ALIGN_DELTA", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.objectType" + ], + "unitOverride": "1" + } + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "Added Item Rate", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/front50/cache/added\" AND metric.label.spin_service=\"front50\"", + "perSeriesAligner": "ALIGN_RATE", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.objectType" + ], + "unitOverride": "1" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + }, + { + "title": "Removed Item Rate", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/front50/cache/removed\" AND metric.label.spin_service=\"front50\"", + "perSeriesAligner": "ALIGN_RATE", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.objectType" + ], + "unitOverride": "1" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + }, + { + "title": "Updated Item Rate", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/front50/cache/updated\" AND metric.label.spin_service=\"front50\"", + "perSeriesAligner": "ALIGN_RATE", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.objectType" + ], + "unitOverride": "1" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "Google Retryable Operation Time", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilterRatio": { + "numerator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/platform/google/operation/retryable__totalTime\" AND metric.label.spin_service=\"front50\"", + "perSeriesAligner": "ALIGN_RATE", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.action" + ], + "unitOverride": "1" + }, + "denominator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/platform/google/operation/retryable__count\" AND metric.label.spin_service=\"front50\"", + "perSeriesAligner": "ALIGN_RATE", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.action" + ], + "unitOverride": "1" + } + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + }, + { + "title": "Google Storage API Latency", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilterRatio": { + "numerator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/platform/google/api/storage/completions__totalTime\" AND metric.label.spin_service=\"front50\"", + "perSeriesAligner": "ALIGN_RATE", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.method" + ], + "unitOverride": "1" + }, + "denominator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/platform/google/api/storage/completions__count\" AND metric.label.spin_service=\"front50\"", + "perSeriesAligner": "ALIGN_RATE", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.method" + ], + "unitOverride": "1" + } + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + + { + "widgets": [ + { + "title": "Successful Invocations", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/service/controller/completions__count\" AND metric.label.spin_service=\"front50\" AND metric.label.status=\"2xx\"", + "perSeriesAligner": "ALIGN_RATE" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + }, + { + "title": "Failed Invocations", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/service/controller/completions__count\" AND metric.label.spin_service=\"front50\" AND metric.label.status!=\"2xx\"", + "perSeriesAligner": "ALIGN_RATE" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + + { + "widgets": [ + { + "title": "Invocation Latency", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilterRatio": { + "numerator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/service/controller/completions__totalTime\" AND metric.label.spin_service=\"front50\"", + "perSeriesAligner": "ALIGN_DELTA" + }, + "denominator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/service/controller/completions__count\" AND metric.label.spin_service=\"front50\"", + "perSeriesAligner": "ALIGN_DELTA" + } + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "JVM Memory", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/platform/java/memory\" AND metric.label.spin_service=\"front50\" AND metric.label.scope=\"HEAP\"", + "perSeriesAligner": "ALIGN_MEAN" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + } + ] + } + } +} diff --git a/spinnaker-monitoring-third-party/third_party/stackdriver/experimental/gate-service-dashboard.json b/spinnaker-monitoring-third-party/third_party/stackdriver/experimental/gate-service-dashboard.json new file mode 100644 index 0000000..35245d3 --- /dev/null +++ b/spinnaker-monitoring-third-party/third_party/stackdriver/experimental/gate-service-dashboard.json @@ -0,0 +1,312 @@ +{ + "revision": 0, + "displayName": "Gate", + "root": { + "rowLayout": { + "rows": [ + { + "widgets": [ + { + "title": "Hystrix Fallback Failure", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/hystrix/rollingCount/fallback\" AND metric.label.spin_service=\"gate\" AND metric.label.success!=True", + "perSeriesAligner": "ALIGN_SUM", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.spin_variant", + "metric.label.metricGroup" + ], + "unitOverride": "1" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + }, + { + "title": "Hystrix Fallback Success vs Failure", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/hystrix/rollingCount/fallback\" AND metric.label.spin_service\"gate\"", + "perSeriesAligner": "ALIGN_SUM", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.spin_variant", + "metric.label.metricGroup", + "metric.label.success" + ], + "unitOverride": "1" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "Eureka Ok Rate", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/eureka/okclient/completions__count\" AND metric.label.spin_service=\"gate\"", + "perSeriesAligner": "ALIGN_RATE", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.spin_variant", + "metric.label.statusCode" + ], + "unitOverride": "1" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + }, + { + "title": "Eureka Ok Latency", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilterRatio": { + "numerator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/eureka/okclient/completions__totalTime\" AND metric.label.spin_service=\"gate\"", + "perSeriesAligner": "ALIGN_DELTA", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.spin_variant", + "metric.label.statusCode" + ], + "unitOverride": "1" + }, + "denominator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/eureka/okclient/completions__count\" AND metric.label.spin_service=\"gate\"", + "perSeriesAligner": "ALIGN_DELTA", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.spin_variant", + "metric.label.statusCode" + ], + "unitOverride": "1" + } + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "OkHttp Request Rate per Status Code", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/okhttp/completions__count\" AND metric.label.spin_service=\"gate\"", + "perSeriesAligner": "ALIGN_RATE", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.spin_variant", + "metric.label.statusCode" + ], + "unitOverride": "1" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + }, + { + "title": "OkHttp Request Latency per Status Code", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilterRatio": { + "numerator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/okhttp/completions__totalTime\" AND metric.label.spin_service=\"gate\"", + "perSeriesAligner": "ALIGN_DELTA", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.spin_variant", + "metric.label.statusCode" + ], + "unitOverride": "1" + }, + "denominator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/okhttp/completions__count\" AND metric.label.spin_service=\"gate\"", + "perSeriesAligner": "ALIGN_DELTA", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.spin_variant", + "metric.label.statusCode" + ], + "unitOverride": "1" + } + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "Successful Invocations", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/service/controller/completions__count\" AND metric.label.spin_service=\"gate\" AND metric.label.status=\"2xx\"", + "perSeriesAligner": "ALIGN_RATE" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + }, + { + "title": "Failed Invocations", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/service/controller/completions__count\" AND metric.label.spin_service=\"gate\" AND metric.label.status!=\"2xx\"", + "perSeriesAligner": "ALIGN_RATE" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "Invocation Latency", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilterRatio": { + "numerator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/service/controller/completions__totalTime\" AND metric.label.spin_service=\"gate\"", + "perSeriesAligner": "ALIGN_DELTA" + }, + "denominator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/service/controller/completions__count\" AND metric.label.spin_service=\"gate\"", + "perSeriesAligner": "ALIGN_DELTA" + } + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "JVM Memory", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/platform/java/memory\" AND metric.label.spin_service=\"gate\" AND metric.label.scope=\"HEAP\"", + "perSeriesAligner": "ALIGN_MEAN" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + } + ] + } + } +} diff --git a/spinnaker-monitoring-third-party/third_party/stackdriver/experimental/google-platform-dashboard.json b/spinnaker-monitoring-third-party/third_party/stackdriver/experimental/google-platform-dashboard.json new file mode 100644 index 0000000..ea69c96 --- /dev/null +++ b/spinnaker-monitoring-third-party/third_party/stackdriver/experimental/google-platform-dashboard.json @@ -0,0 +1,782 @@ +{ + "revision": 0, + "displayName": "Google Platform", + "root": { + "rowLayout": { + "rows": [ + { + "widgets": [ + { + "title": "Compute API Rate", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/platform/google/api/compute/completions__count\"", + "perSeriesAligner": "ALIGN_RATE", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.method" + ], + "unitOverride": "1" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "Compute API Error Rate", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/platform/google/api/compute/completions__count\" AND metric.label.status!=\"2xx\"", + "perSeriesAligner": "ALIGN_RATE", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.method", + "metric.label.statusCode" + ], + "unitOverride": "1" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "Compute API Latency", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilterRatio": { + "numerator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/platform/google/api/compute/completions__totalTime\"", + "perSeriesAligner": "ALIGN_DELTA", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.method" + ], + "unitOverride": "1" + }, + "denominator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/platform/google/api/compute/completions__count\"", + "perSeriesAligner": "ALIGN_DELTA", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.method" + ], + "unitOverride": "1" + } + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "Compute API Rate (global)", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/platform/google/api/compute/completions__count\" AND metric.label.scope=\"global\"", + "perSeriesAligner": "ALIGN_RATE", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.method" + ], + "unitOverride": "1" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "Compute API Error Rate (global)", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/platform/google/api/compute/completions__count\" AND metric.label.status!=\"2xx\" AND metric.label.scope=\"global\"", + "perSeriesAligner": "ALIGN_RATE", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.method", + "metric.label.statusCode" + ], + "unitOverride": "1" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "Compute API Latency (global)", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilterRatio": { + "numerator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/platform/google/api/compute/completions__totalTime\" AND metric.label.scope=\"global\"", + "perSeriesAligner": "ALIGN_DELTA", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.method" + ], + "unitOverride": "1" + }, + "denominator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/platform/google/api/compute/completions__count\" AND metric.label.scope=\"global\"", + "perSeriesAligner": "ALIGN_DELTA", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.method" + ], + "unitOverride": "1" + } + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "Compute API Rate (regional)", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/platform/google/api/compute/completions__count\" AND metric.label.scope=\"regional\"", + "perSeriesAligner": "ALIGN_RATE", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.method", + "metric.label.region" + ], + "unitOverride": "1" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "Compute API Error Rate (regional)", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/platform/google/api/compute/completions__count\" AND metric.label.status!=\"2xx\" AND metric.label.scope=\"regional\"", + "perSeriesAligner": "ALIGN_RATE", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.method", + "metric.label.region", + "metric.label.statusCode" + ], + "unitOverride": "1" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "Compute API Latency (regional)", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilterRatio": { + "numerator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/platform/google/api/compute/completions__totalTime\" AND metric.label.scope=\"regional\"", + "perSeriesAligner": "ALIGN_DELTA", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.method", + "metric.label.region" + ], + "unitOverride": "1" + }, + "denominator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/platform/google/api/compute/completions__count\" AND metric.label.scope=\"regional\"", + "perSeriesAligner": "ALIGN_DELTA", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.method", + "metric.label.region" + ], + "unitOverride": "1" + } + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "Compute API Rate (zonal)", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/platform/google/api/compute/completions__count\" AND metric.label.scope=\"zonal\"", + "perSeriesAligner": "ALIGN_RATE", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.method", + "metric.label.zone" + ], + "unitOverride": "1" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "Compute API Error Rate (zonal)", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/platform/google/api/compute/completions__count\" AND metric.label.status!=\"2xx\" AND metric.label.scope=\"zonal\"", + "perSeriesAligner": "ALIGN_RATE", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.method", + "metric.label.zone", + "metric.label.statusCode" + ], + "unitOverride": "1" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "Compute API Latency (zonal)", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilterRatio": { + "numerator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/platform/google/api/compute/completions__totalTime\" AND metric.label.scope=\"zonal\"", + "perSeriesAligner": "ALIGN_DELTA", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.method", + "metric.label.zone" + ], + "unitOverride": "1" + }, + "denominator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/platform/google/api/compute/completions__count\" AND metric.label.scope=\"zonal\"", + "perSeriesAligner": "ALIGN_DELTA", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.method", + "metric.label.zone" + ], + "unitOverride": "1" + } + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "Batch Call Rate", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/platform/google/api/batch/completions__count\"", + "perSeriesAligner": "ALIGN_RATE", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.context" + ], + "unitOverride": "1" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "Batch Call Sizes", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/platform/google/api/batch/size\"", + "perSeriesAligner": "ALIGN_RATE", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.context" + ], + "unitOverride": "1" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "Batch Call Latency", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilterRatio": { + "numerator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/platform/google/api/batch/completions__totalTime\"", + "perSeriesAligner": "ALIGN_DELTA", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.context" + ], + "unitOverride": "1" + }, + "denominator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/platform/google/api/batch/completions__count\"", + "perSeriesAligner": "ALIGN_DELTA", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.context" + ], + "unitOverride": "1" + } + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "Storage API Rate", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/platform/google/api/storage/completions__count\"", + "perSeriesAligner": "ALIGN_RATE", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.method" + ], + "unitOverride": "1" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "Storage API Error Rate", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/platform/google/api/storage/completions__count\" AND metric.label.success!=\"2xx\"", + "perSeriesAligner": "ALIGN_RATE", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.method", + "metric.label.statusCode" + ], + "unitOverride": "1" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "Storage API Latency", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilterRatio": { + "numerator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/platform/google/api/storage/completions__totalTime\"", + "perSeriesAligner": "ALIGN_DELTA", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.method" + ], + "unitOverride": "1" + }, + "denominator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/platform/google/api/storage/completions__count\"", + "perSeriesAligner": "ALIGN_DELTA", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.method" + ], + "unitOverride": "1" + } + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "CATS Keys Requested", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/clouddriver/cache/redis/get/keys\" AND metric.label.spin_service=\"clouddriver\" AND metric.label.platform=\"google\"", + "perSeriesAligner": "ALIGN_RATE" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + }, + { + "title": "CATS Keys Written", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/clouddriver/cache/redis/merge/keys\" AND metric.label.spin_service=\"clouddriver\" AND metric.label.platform=\"google\"", + "perSeriesAligner": "ALIGN_RATE" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + }, + { + "title": "CATS Keys Deleted", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/clouddriver/cache/redis/evict/keys\" AND metric.label.spin_service=\"clouddriver\" AND metric.label.platform=\"google\"", + "perSeriesAligner": "ALIGN_RATE" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "CATS Items Requested", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/clouddriver/cache/redis/get/items\" AND metric.label.spin_service=\"clouddriver\" AND metric.label.platform=\"google\"", + "perSeriesAligner": "ALIGN_RATE" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + }, + { + "title": "CATS Items Written", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/clouddriver/cache/redis/merge/items\" AND metric.label.spin_service=\"clouddriver\" AND metric.label.platform=\"google\"", + "perSeriesAligner": "ALIGN_RATE" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + }, + { + "title": "CATS Items Deleted", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/clouddriver/cache/redis/evict/items\" AND metric.label.spin_service=\"clouddriver\" AND metric.label.platform=\"google\"", + "perSeriesAligner": "ALIGN_RATE" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + } + ] + } + } +} diff --git a/spinnaker-monitoring-third-party/third_party/stackdriver/experimental/igor-service-dashboard.json b/spinnaker-monitoring-third-party/third_party/stackdriver/experimental/igor-service-dashboard.json new file mode 100644 index 0000000..29a16d5 --- /dev/null +++ b/spinnaker-monitoring-third-party/third_party/stackdriver/experimental/igor-service-dashboard.json @@ -0,0 +1,255 @@ +{ + "revision": 0, + "displayName": "Igor", + "root": { + "rowLayout": { + "rows": [ + { + "widgets": [ + { + "title": "Hystrix Fallback Failure", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/hystrix/rollingCount/fallback\" AND metric.label.spin_service=\"igor\" AND metric.label.success!=True", + "perSeriesAligner": "ALIGN_SUM", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.spin_variant", + "metric.label.metricGroup" + ], + "unitOverride": "1" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + }, + { + "title": "Hystrix Fallback Success vs Failure", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/hystrix/rollingCount/fallback\" AND metric.label.spin_service\"igor\"", + "perSeriesAligner": "ALIGN_SUM", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.spin_variant", + "metric.label.metricGroup", + "metric.label.success" + ], + "unitOverride": "1" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "Polling Monitor Failure Rate", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/monitor/polling/failures\" AND metric.label.spin_service=\"igor\"", + "perSeriesAligner": "ALIGN_RATE", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.spin_variant" + ], + "unitOverride": "1" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + }, + { + "title": "Polling Monitor Items Over Threshold", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/monitor/polling/excessItems\" AND metric.label.spin_service=\"igor\"", + "perSeriesAligner": "ALIGN_RATE", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.spin_variant" + ], + "unitOverride": "1" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "Health Errors", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/health/component/errors\" AND metric.label.spin_service=\"igor\"", + "perSeriesAligner": "ALIGN_RATE", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.spin_variant", + "metric.label.component" + ], + "unitOverride": "1" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "Successful Invocations", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/service/controller/completions__count\" AND metric.label.spin_service=\"igor\" AND metric.label.status=\"2xx\"", + "perSeriesAligner": "ALIGN_RATE" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + }, + { + "title": "Failed Invocations", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/service/controller/completions__count\" AND metric.label.spin_service=\"igor\" AND metric.label.status!=\"2xx\"", + "perSeriesAligner": "ALIGN_RATE" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "Invocation Latency", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilterRatio": { + "numerator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/service/controller/completions__totalTime\" AND metric.label.spin_service=\"igor\"", + "perSeriesAligner": "ALIGN_DELTA" + }, + "denominator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/service/controller/completions__count\" AND metric.label.spin_service=\"igor\"", + "perSeriesAligner": "ALIGN_DELTA" + } + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "JVM Memory", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/platform/java/memory\" AND metric.label.spin_service=\"igor\" AND metric.label.scope=\"HEAP\"", + "perSeriesAligner": "ALIGN_MEAN" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + } + ] + } + } +} diff --git a/spinnaker-monitoring-third-party/third_party/stackdriver/experimental/java-platform-dashboard.json b/spinnaker-monitoring-third-party/third_party/stackdriver/experimental/java-platform-dashboard.json new file mode 100644 index 0000000..53bc3c4 --- /dev/null +++ b/spinnaker-monitoring-third-party/third_party/stackdriver/experimental/java-platform-dashboard.json @@ -0,0 +1,329 @@ +{ + "revision": 0, + "displayName": "Java Memory", + "root": { + "rowLayout": { + "rows": [ + { + "widgets": [ + { + "title": "Memory By Service", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/platform/java/memory\" AND metric.label.scope=\"HEAP\"", + "perSeriesAligner": "ALIGN_MEAN", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.spin_service" + ], + "unitOverride": "1" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "Clouddriver Memory", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/platform/java/memory\" AND metric.label.spin_service=\"clouddriver\" AND metric.label.scope=\"HEAP\"", + "perSeriesAligner": "ALIGN_MEAN", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.spin_variant", + "metric.label.segment" + ], + "unitOverride": "1" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "Echo Memory", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/platform/java/memory\" AND metric.label.spin_service=\"echo\" AND metric.label.scope=\"HEAP\"", + "perSeriesAligner": "ALIGN_MEAN", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.spin_variant", + "metric.label.segment" + ], + "unitOverride": "1" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "Fiat Memory", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/platform/java/memory\" AND metric.label.spin_service=\"fiat\" AND metric.label.scope=\"HEAP\"", + "perSeriesAligner": "ALIGN_MEAN", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.spin_variant", + "metric.label.segment" + ], + "unitOverride": "1" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "Front50 Memory", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/platform/java/memory\" AND metric.label.spin_service=\"front50\" AND metric.label.scope=\"HEAP\"", + "perSeriesAligner": "ALIGN_MEAN", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.spin_variant", + "metric.label.segment" + ], + "unitOverride": "1" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "Gate Memory", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/platform/java/memory\" AND metric.label.spin_service=\"gate\" AND metric.label.scope=\"HEAP\"", + "perSeriesAligner": "ALIGN_MEAN", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.spin_variant", + "metric.label.segment" + ], + "unitOverride": "1" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "Igor Memory", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/platform/java/memory\" AND metric.label.spin_service=\"igor\" AND metric.label.scope=\"HEAP\"", + "perSeriesAligner": "ALIGN_MEAN", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.spin_variant", + "metric.label.segment" + ], + "unitOverride": "1" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "Kayenta Memory", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/platform/java/memory\" AND metric.label.spin_service=\"kayenta\" AND metric.label.scope=\"HEAP\"", + "perSeriesAligner": "ALIGN_MEAN", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.spin_variant", + "metric.label.segment" + ], + "unitOverride": "1" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "Orca Memory", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/platform/java/memory\" AND metric.label.spin_service=\"orca\" AND metric.label.scope=\"HEAP\"", + "perSeriesAligner": "ALIGN_MEAN", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.spin_variant", + "metric.label.segment" + ], + "unitOverride": "1" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "Rosco Memory", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/platform/java/memory\" AND metric.label.spin_service=\"rosco\" AND metric.label.scope=\"HEAP\"", + "perSeriesAligner": "ALIGN_MEAN", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.spin_variant", + "metric.label.segment" + ], + "unitOverride": "1" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + } + ] + } + } +} + diff --git a/spinnaker-monitoring-third-party/third_party/stackdriver/experimental/k8s-platform-dashboard.json b/spinnaker-monitoring-third-party/third_party/stackdriver/experimental/k8s-platform-dashboard.json new file mode 100644 index 0000000..e3c1d3a --- /dev/null +++ b/spinnaker-monitoring-third-party/third_party/stackdriver/experimental/k8s-platform-dashboard.json @@ -0,0 +1,311 @@ +{ + "revision": 0, + "displayName": "Kubernetes Platform", + "root": { + "rowLayout": { + "rows": [ + { + "widgets": [ + { + "title": "API Rate", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/platform/kubernetes/api/completions__count\"", + "perSeriesAligner": "ALIGN_RATE", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.method" + ], + "unitOverride": "1" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "API Error Rate", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/platform/kubernetes/api/completions__count\" AND metric.label.success!=True", + "perSeriesAligner": "ALIGN_RATE", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.method" + ], + "unitOverride": "1" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "API Latency", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilterRatio": { + "numerator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/platform/kubernetes/api/completions__totalTime\"", + "perSeriesAligner": "ALIGN_DELTA", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.method" + ], + "unitOverride": "1" + }, + "denominator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/platform/kubernetes/api/completions__count\"", + "perSeriesAligner": "ALIGN_DELTA", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.method" + ], + "unitOverride": "1" + } + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "CATS Keys Requested", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/clouddriver/cache/redis/get/keys\" AND metric.label.spin_service=\"clouddriver\" AND metric.label.platform=\"kubernetes\"", + "perSeriesAligner": "ALIGN_RATE" + } + }, + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/clouddriver/cache/redis/get/keys\" AND metric.label.spin_service=\"clouddriver\" AND metric.label.platform=\"docker\"", + "perSeriesAligner": "ALIGN_RATE" + } + }, + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/clouddriver/cache/redis/get/keys\" AND metric.label.spin_service=\"clouddriver\" AND metric.label.platform=\"internal\"", + "perSeriesAligner": "ALIGN_RATE" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + }, + { + "title": "CATS Keys Written", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/clouddriver/cache/redis/merge/keys\" AND metric.label.spin_service=\"clouddriver\" AND metric.label.platform=\"kubernetes\"", + "perSeriesAligner": "ALIGN_RATE" + } + }, + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/clouddriver/cache/redis/get/keys\" AND metric.label.spin_service=\"clouddriver\" AND metric.label.platform=\"docker\"", + "perSeriesAligner": "ALIGN_RATE" + } + }, + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/clouddriver/cache/redis/merge/keys\" AND metric.label.spin_service=\"clouddriver\" AND metric.label.platform=\"internal\"", + "perSeriesAligner": "ALIGN_RATE" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + }, + { + "title": "CATS Keys Deleted", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/clouddriver/cache/redis/evict/keys\" AND metric.label.spin_service=\"clouddriver\" AND metric.label.platform=\"kubernetes\"", + "perSeriesAligner": "ALIGN_RATE" + } + }, + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/clouddriver/cache/redis/get/keys\" AND metric.label.spin_service=\"clouddriver\" AND metric.label.platform=\"docker\"", + "perSeriesAligner": "ALIGN_RATE" + } + }, + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/clouddriver/cache/redis/evict/keys\" AND metric.label.spin_service=\"clouddriver\" AND metric.label.platform=\"internal\"", + "perSeriesAligner": "ALIGN_RATE" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "CATS Items Requested", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/clouddriver/cache/redis/get/items\" AND metric.label.spin_service=\"clouddriver\" AND metric.label.platform=\"kubernetes\"", + "perSeriesAligner": "ALIGN_RATE" + } + }, + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/clouddriver/cache/redis/get/keys\" AND metric.label.spin_service=\"clouddriver\" AND metric.label.platform=\"docker\"", + "perSeriesAligner": "ALIGN_RATE" + } + }, + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/clouddriver/cache/redis/get/items\" AND metric.label.spin_service=\"clouddriver\" AND metric.label.platform=\"invalid\"", + "perSeriesAligner": "ALIGN_RATE" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + }, + { + "title": "CATS Items Written", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/clouddriver/cache/redis/merge/items\" AND metric.label.spin_service=\"clouddriver\" AND metric.label.platform=\"kubernetes\")", + "perSeriesAligner": "ALIGN_RATE" + } + }, + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/clouddriver/cache/redis/get/keys\" AND metric.label.spin_service=\"clouddriver\" AND metric.label.platform=\"docker\"", + "perSeriesAligner": "ALIGN_RATE" + } + }, + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/clouddriver/cache/redis/merge/items\" AND metric.label.spin_service=\"clouddriver\" AND metric.label.platform=\"invalid\"", + "perSeriesAligner": "ALIGN_RATE" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + }, + { + "title": "CATS Items Deleted", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/clouddriver/cache/redis/evict/items\" AND metric.label.spin_service=\"clouddriver\" AND metric.label.platform=\"kubernetes\"", + "perSeriesAligner": "ALIGN_RATE" + } + }, + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/clouddriver/cache/redis/get/keys\" AND metric.label.spin_service=\"clouddriver\" AND metric.label.platform=\"docker\"", + "perSeriesAligner": "ALIGN_RATE" + } + }, + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/clouddriver/cache/redis/evict/items\" AND metric.label.spin_service=\"clouddriver\" AND metric.label.platform=\"invalid\"", + "perSeriesAligner": "ALIGN_RATE" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + } + ] + } + } +} diff --git a/spinnaker-monitoring-third-party/third_party/stackdriver/experimental/kayenta-service-dashboard.json b/spinnaker-monitoring-third-party/third_party/stackdriver/experimental/kayenta-service-dashboard.json new file mode 100644 index 0000000..54123ac --- /dev/null +++ b/spinnaker-monitoring-third-party/third_party/stackdriver/experimental/kayenta-service-dashboard.json @@ -0,0 +1,637 @@ +{ + "revision": 0, + "displayName": "Kayenta", + "root": { + "rowLayout": { + "rows": [ + { + "widgets": [ + { + "title": "Telemetry Query Rate", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/canary/telemetry/query\" AND metric.label.spin_service=\"kayenta\"", + "perSeriesAligner": "ALIGN_SUM", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.metricStore" + ], + "unitOverride": "1" + } + } + ] + } + }, + { + "title": "Stackdriver Fetch Time", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilterRatio": { + "numerator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/canary/repository/stackriver/fetch__totalTime\" AND metric.label.spin_service=\"kayenta\"", + "perSeriesAligner": "ALIGN_SUM", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.metricStore" + ], + "unitOverride": "1" + }, + "denominator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/canary/repository/stackriver/fetch__count\" AND metric.label.spin_service=\"kayenta\"", + "perSeriesAligner": "ALIGN_SUM", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.metricStore" + ], + "unitOverride": "1" + } + } + } + ] + } + } + ] + }, + { + "widgets": [ + { + "title": "Canary Pipelines Initiated", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/canary/pipeline/initiated\" AND metric.label.spin_service=\"kayenta\"", + "perSeriesAligner": "ALIGN_RATE", + "unitOverride": "1" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + }, + { + "title": "Canary Pipelines Initiation Failures", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/canary/pipeline/startupFailures\" AND metric.label.spin_service=\"kayenta\"", + "perSeriesAligner": "ALIGN_RATE" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "Active Threads", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/threadpool/activeThreads\" AND metric.label.spin_service=\"kayenta\"", + "perSeriesAligner": "ALIGN_MEAN" + } + } + ] + } + }, + { + "title": "Blocked Thread Queues", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/threadpool/blockedSize\" AND metric.label.spin_service=\"kayenta\"", + "perSeriesAligner": "ALIGN_MEAN" + } + } + ] + } + } + ] + }, + + { + "widgets": [ + { + "title": "Message Queue Depth", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/queue/message/depth\" AND metric.label.spin_service=\"kayenta\"", + "perSeriesAligner": "ALIGN_MEAN" + } + } + ] + } + }, + { + "title": "Ready Messages", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/queue/message/ready\" AND metric.label.spin_service=\"kayenta\"", + "perSeriesAligner": "ALIGN_MEAN" + } + } + ] + } + }, + { + "title": "Unacked Messages", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/queue/message/unacked\" AND metric.label.spin_service=\"kayenta\"", + "perSeriesAligner": "ALIGN_MEAN" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "Message Pushed Rate", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/queue/message/pushed\" AND metric.label.spin_service=\"kayenta\"", + "perSeriesAligner": "ALIGN_RATE" + } + } + ] + } + }, + { + "title": "Message Acked Rate", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/queue/message/acked\" AND metric.label.spin_service=\"kayenta\"", + "perSeriesAligner": "ALIGN_RATE" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + { + "widgets": [ + { + "title": "Message Lag", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilterRatio": { + "numerator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/queue/message/lag__totalTime\" AND metric.label.spin_service=\"kayenta\"", + "perSeriesAligner": "ALIGN_DELTA" + }, + "denominator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/queue/message/lag__count\" AND metric.label.spin_service=\"kayenta\"", + "perSeriesAligner": "ALIGN_DELTA" + } + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + { + "widgets": [ + { + "title": "Dead Message Rate", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/queue/message/dead\" AND metric.label.spin_service=\"kayenta\"", + "perSeriesAligner": "ALIGN_RATE" + } + } + ] + } + }, + { + "title": "Orphaned Messages", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/queue/message/orphaned\" AND metric.label.spin_service=\"kayenta\"", + "perSeriesAligner": "ALIGN_MEAN" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "Task Result Rate", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/orca/tasks/finished\" AND metric.label.spin_service=\"kayenta\"", + "perSeriesAligner": "ALIGN_RATE" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "Active Executions", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/workflow/execution/active\" AND metric.label.spin_service=\"kayenta\"", + "perSeriesAligner": "ALIGN_SUM", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.executionType" + ], + "unitOverride": "1" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + }, + { + "title": "Started Executions", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/workflow/execution/started\" AND metric.label.spin_service=\"kayenta\"", + "perSeriesAligner": "ALIGN_RATE", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.executionType" + ], + "unitOverride": "1" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "Completed Task Execution", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilterRatio": { + "numerator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/workflow/task/execution/completions/withType__totalTime\" AND metric.label.spin_service=\"kayenta\"", + "perSeriesAligner": "ALIGN_DELTA", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.executionType" + ], + "unitOverride": "1" + }, + "denominator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/workflow/task/execution/completions/withType__count\" AND metric.label.spin_service=\"kayenta\"", + "perSeriesAligner": "ALIGN_DELTA", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.executionType" + ], + "unitOverride": "1" + } + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + }, + { + "title": "Individual Task Invocations", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilterRatio": { + "numerator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/workflow/task/invocation/completions/withType__totalTime\" AND metric.label.spin_service=\"kayenta\"", + "perSeriesAligner": "ALIGN_DELTA", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.executionType" + ], + "unitOverride": "1" + }, + "denominator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/workflow/task/invocation/completions/withType__count\" AND metric.label.spin_service=\"kayenta\"", + "perSeriesAligner": "ALIGN_DELTA", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.executionType" + ], + "unitOverride": "1" + } + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "Stage Invocation Rate", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/workflow/stage/calls\" AND metric.label.spin_service=\"kayenta\"", + "perSeriesAligner": "ALIGN_RATE" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "Stage Duration (bucketed)", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/workflow/stage/durationBucket\" AND metric.label.spin_service=\"kayenta\"", + "perSeriesAligner": "ALIGN_RATE" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "OkHttp Request Rate per Status Code", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/okhttp/completions__count\" AND metric.label.spin_service=\"gate\"", + "perSeriesAligner": "ALIGN_RATE", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.spin_variant", + "metric.label.statusCode" + ], + "unitOverride": "1" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "OkHttp Request Latency per Status Code", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilterRatio": { + "numerator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/okhttp/completions__totalTime\" AND metric.label.spin_service=\"kayenta\"", + "perSeriesAligner": "ALIGN_DELTA", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.spin_variant", + "metric.label.statusCode" + ], + "unitOverride": "1" + }, + "denominator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/okhttp/completions__count\" AND metric.label.spin_service=\"kayenta\"", + "perSeriesAligner": "ALIGN_DELTA", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.spin_variant", + "metric.label.statusCode" + ], + "unitOverride": "1" + } + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "Invocation Latency", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilterRatio": { + "numerator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/service/controller/completions__totalTime\" AND metric.label.spin_service=\"kayenta\"", + "perSeriesAligner": "ALIGN_DELTA" + }, + "denominator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/service/controller/completions__count\" AND metric.label.spin_service=\"kayenta\"", + "perSeriesAligner": "ALIGN_DELTA" + } + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "JVM Memory", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/platform/java/memory\" AND metric.label.spin_service=\"kayenta\" AND metric.label.scope=\"HEAP\"", + "perSeriesAligner": "ALIGN_MEAN" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + } + ] + } + } +} diff --git a/spinnaker-monitoring-third-party/third_party/stackdriver/experimental/orca-service-dashboard.json b/spinnaker-monitoring-third-party/third_party/stackdriver/experimental/orca-service-dashboard.json new file mode 100644 index 0000000..8c4f5e8 --- /dev/null +++ b/spinnaker-monitoring-third-party/third_party/stackdriver/experimental/orca-service-dashboard.json @@ -0,0 +1,556 @@ +{ + "revision": 0, + "displayName": "Orca", + "root": { + "rowLayout": { + "rows": [ + { + "widgets": [ + { + "title": "Active Threads", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/threadpool/active_threads\" AND metric.label.spin_service=\"orca\"", + "perSeriesAligner": "ALIGN_MEAN" + } + } + ] + } + }, + { + "title": "Blocked Thread Queues", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/threadpool/blockedSize\" AND metric.label.spin_service=\"orca\"", + "perSeriesAligner": "ALIGN_MEAN" + } + } + ] + } + }, + { + "title": "Threadpool Size", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/threadpool/size\" AND metric.label.spin_service=\"orca\"", + "perSeriesAligner": "ALIGN_MEAN" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "Message Queue Depth", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/queue/message/depth\" AND metric.label.spin_service=\"orca\"", + "perSeriesAligner": "ALIGN_MEAN" + } + } + ] + } + }, + { + "title": "Ready Messages", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/queue/message/ready\" AND metric.label.spin_service=\"orca\"", + "perSeriesAligner": "ALIGN_MEAN" + } + } + ] + } + }, + { + "title": "Unacked Messages", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/queue/message/unacked\" AND metric.label.spin_service=\"orca\"", + "perSeriesAligner": "ALIGN_MEAN" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "Message Pushed Rate", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/queue/message/pushed\" AND metric.label.spin_service=\"orca\"", + "perSeriesAligner": "ALIGN_RATE" + } + } + ] + } + }, + { + "title": "Message Acked Rate", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/queue/message/acked\" AND metric.label.spin_service=\"orca\"", + "perSeriesAligner": "ALIGN_RATE" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + { + "widgets": [ + { + "title": "Message Lag", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilterRatio": { + "numerator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/queue/message/lag__totalTime\" AND metric.label.spin_service=\"orca\"", + "perSeriesAligner": "ALIGN_DELTA" + }, + "denominator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/queue/message/lag__count\" AND metric.label.spin_service=\"orca\"", + "perSeriesAligner": "ALIGN_DELTA" + } + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + { + "widgets": [ + { + "title": "Dead Message Rate", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/queue/message/dead\" AND metric.label.spin_service=\"orca\"", + "perSeriesAligner": "ALIGN_RATE" + } + } + ] + } + }, + { + "title": "Orphaned Messages", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/queue/message/orphaned\" AND metric.label.spin_service=\"orca\"", + "perSeriesAligner": "ALIGN_MEAN" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "Task Result Rate", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/orca/task/finished\" AND metric.label.spin_service=\"orca\"", + "perSeriesAligner": "ALIGN_RATE" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "Active Executions", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/workflow/execution/activeThreads\" AND metric.label.spin_service=\"orca\"", + "perSeriesAligner": "ALIGN_SUM", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.executionType" + ], + "unitOverride": "1" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + }, + { + "title": "Started Executions", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/workflow/execution/calls\" AND metric.label.spin_service=\"orca\"", + "perSeriesAligner": "ALIGN_RATE", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.executionType" + ], + "unitOverride": "1" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "Completed Task Execution", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilterRatio": { + "numerator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/workflow/task/execution/completions/withType__totalTime\" AND metric.label.spin_service=\"orca\"", + "perSeriesAligner": "ALIGN_DELTA", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.executionType" + ], + "unitOverride": "1" + }, + "denominator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/workflow/task/execution/completions/withType__count\" AND metric.label.spin_service=\"orca\"", + "perSeriesAligner": "ALIGN_DELTA", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.executionType" + ], + "unitOverride": "1" + } + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + }, + { + "title": "Individual Task Invocations", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilterRatio": { + "numerator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/workflow/task/invocation/completions/withType__totalTime\" AND metric.label.spin_service=\"orca\"", + "perSeriesAligner": "ALIGN_DELTA", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.executionType" + ], + "unitOverride": "1" + }, + "denominator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/workflow/task/invocation/completions/withType__count\" AND metric.label.spin_service=\"orca\"", + "perSeriesAligner": "ALIGN_DELTA", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.executionType" + ], + "unitOverride": "1" + } + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "Stage Invocation Rate", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/workflow/stage/calls\" AND metric.label.spin_service=\"orca\"", + "perSeriesAligner": "ALIGN_RATE" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "Stage Duration (bucketed)", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/workflow/stage/durationBucket\" AND metric.label.spin_service=\"orca\"", + "perSeriesAligner": "ALIGN_RATE" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "OkHttp Request Rate per Status Code", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/okhttp/completions__count\" AND metric.label.spin_service=\"gate\"", + "perSeriesAligner": "ALIGN_RATE", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.spin_variant", + "metric.label.statusCode" + ], + "unitOverride": "1" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "OkHttp Request Latency per Status Code", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilterRatio": { + "numerator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/okhttp/completions__totalTime\" AND metric.label.spin_service=\"orca\"", + "perSeriesAligner": "ALIGN_DELTA", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.spin_variant", + "metric.label.statusCode" + ], + "unitOverride": "1" + }, + "denominator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/okhttp/completions__count\" AND metric.label.spin_service=\"orca\"", + "perSeriesAligner": "ALIGN_DELTA", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.spin_variant", + "metric.label.statusCode" + ], + "unitOverride": "1" + } + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "Invocation Latency", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilterRatio": { + "numerator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/service/controller/completions__totalTime\" AND metric.label.spin_service=\"orca\"", + "perSeriesAligner": "ALIGN_DELTA" + }, + "denominator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/service/controller/completions__count\" AND metric.label.spin_service=\"orca\"", + "perSeriesAligner": "ALIGN_DELTA" + } + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "JVM Memory", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/platform/java/memory\" AND metric.label.spin_service=\"orca\" AND metric.label.scope=\"HEAP\"", + "perSeriesAligner": "ALIGN_MEAN" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + } + ] + } + } +} + diff --git a/spinnaker-monitoring-third-party/third_party/stackdriver/experimental/redis-system-dashboard.json b/spinnaker-monitoring-third-party/third_party/stackdriver/experimental/redis-system-dashboard.json new file mode 100644 index 0000000..35b84a4 --- /dev/null +++ b/spinnaker-monitoring-third-party/third_party/stackdriver/experimental/redis-system-dashboard.json @@ -0,0 +1,360 @@ +{ + "revision": 0, + "displayName": "Redis Interactions", + "root": { + "rowLayout": { + "rows": [ + { + "widgets": [ + { + "title": "Error Rate", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/external/redis/completions__count\" AND metric.label.success!=True", + "perSeriesAligner": "ALIGN_RATE", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.spin_service" + ], + "unitOverride": "1" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "Call Rate By Service", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/external/redis/completions__count\"", + "perSeriesAligner": "ALIGN_RATE", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.spin_service" + ], + "unitOverride": "1" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + }, + { + "title": "Call Rate By Service/Variant", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/external/redis/completions__count\"", + "perSeriesAligner": "ALIGN_RATE", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.spin_service", + "metric.label.spin_variant" + ], + "unitOverride": "1" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "Call Rate By Method", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/external/redis/completions__count\"", + "perSeriesAligner": "ALIGN_RATE", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.method" + ], + "unitOverride": "1" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "Method Latency", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilterRatio": { + "numerator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/external/redis/completions__totalTime\"", + "perSeriesAligner": "ALIGN_DELTA", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.method" + ], + "unitOverride": "1" + }, + "denominator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/external/redis/completions__count\"", + "perSeriesAligner": "ALIGN_DELTA", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.method" + ], + "unitOverride": "1" + } + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "Method Latency by Pool", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilterRatio": { + "numerator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/external/redis/completions__totalTime\"", + "perSeriesAligner": "ALIGN_DELTA", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.method", + "metric.label.poolName" + ], + "unitOverride": "1" + }, + "denominator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/external/redis/completions__count\"", + "perSeriesAligner": "ALIGN_DELTA", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.method", + "metric.label.poolName" + ], + "unitOverride": "1" + } + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "Method Latency by Service", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilterRatio": { + "numerator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/external/redis/completions__totalTime\"", + "perSeriesAligner": "ALIGN_DELTA", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.method", + "metric.label.spin_service" + ], + "unitOverride": "1" + }, + "denominator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/external/redis/completions__count\"", + "perSeriesAligner": "ALIGN_DELTA", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.method", + "metric.label.spin_service" + ], + "unitOverride": "1" + } + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "Method Latency by Pipelined", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilterRatio": { + "numerator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/external/redis/completions__totalTime\"", + "perSeriesAligner": "ALIGN_DELTA", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.method", + "metric.label.pipelined" + ], + "unitOverride": "1" + }, + "denominator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/external/redis/completions__count\"", + "perSeriesAligner": "ALIGN_DELTA", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.method", + "metric.label.pipelined" + ], + "unitOverride": "1" + } + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "Payload Size by Method", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilterRatio": { + "numerator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/external/redis/payloadSize__totalAmount\"", + "perSeriesAligner": "ALIGN_DELTA", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.method", + "metric.label.spin_service", + "metric.label.spin_variant" + ], + "unitOverride": "1" + }, + "denominator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/external/redis/payloadSize__count\"", + "perSeriesAligner": "ALIGN_DELTA", + "crossSeriesReducer": "REDUCE_SUM", + "secondaryCrossSeriesReducer": "REDUCE_NONE", + "minAlignmentPeriod": "60s", + "groupByFields": [ + "metric.label.method", + "metric.label.spin_service", + "metric.label.spin_variant" + ], + "unitOverride": "1" + } + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + } + ] + } + } +} + diff --git a/spinnaker-monitoring-third-party/third_party/stackdriver/experimental/rosco-service-dashboard.json b/spinnaker-monitoring-third-party/third_party/stackdriver/experimental/rosco-service-dashboard.json new file mode 100644 index 0000000..717288d --- /dev/null +++ b/spinnaker-monitoring-third-party/third_party/stackdriver/experimental/rosco-service-dashboard.json @@ -0,0 +1,131 @@ +{ + "revision": 0, + "displayName": "Rosco", + "root": { + "rowLayout": { + "rows": [ + { + "widgets": [ + { + "title": "Bake Request Rate", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/bakery/bake/calls\" AND metric.label.spin_service=\"rosco\"", + "perSeriesAligner": "ALIGN_RATE" + } + } + ] + } + }, + { + "title": "Active Bakes", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/bakery/bake/active\" AND metric.label.active=True AND metric.label.spin_service=\"rosco\"", + "perSeriesAligner": "ALIGN_SUM" + } + } + ] + } + } + ] + }, + + { + "widgets": [ + { + "title": "Bake Completion Rate", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/bakery/bake/completions__count\" AND metric.label.spin_service=\"rosco\"", + "perSeriesAligner": "ALIGN_RATE" + } + } + ] + } + }, + { + "title": "Bake Time", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilterRatio": { + "numerator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/bakery/bake/completions__totalTime\" AND metric.label.spin_service=\"rosco\"", + "perSeriesAligner": "ALIGN_DELTA" + }, + "denominator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/bakery/bake/completions__count\" AND metric.label.spin_service=\"rosco\"", + "perSeriesAligner": "ALIGN_DELTA" + } + } + } + ] + } + } + ] + }, + + { + "widgets": [ + { + "title": "Invocation Latency", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilterRatio": { + "numerator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/service/controller/completions__totalTime\" AND metric.label.spin_service=\"rosco\"", + "perSeriesAligner": "ALIGN_DELTA" + }, + "denominator_filter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/service/controller/completions__count\" AND metric.label.spin_service=\"rosco\"", + "perSeriesAligner": "ALIGN_DELTA" + } + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + }, + + { + "widgets": [ + { + "title": "JVM Memory", + "xyChart": { + "dataSets": [ + { + "timeSeriesFilter": { + "filter": "metric.type=\"custom.googleapis.com/spinnaker/platform/java/memory\" AND metric.label.spin_service=\"rosco\" AND metric.label.scope=\"HEAP\"", + "perSeriesAligner": "ALIGN_MEAN" + } + } + ], + "constantLines": [ + {} + ], + "options": {}, + "y1Axis": {}, + "xAxis": {} + } + } + ] + } + ] + } + } +}