<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Armory Docs – Observability</title><link>/continuous-deployment/armory-admin/observe/</link><description>Recent content in Observability on Armory Docs</description><generator>Hugo -- gohugo.io</generator><atom:link href="/continuous-deployment/armory-admin/observe/index.xml" rel="self" type="application/rss+xml"/><item><title>Continuous-Deployment: Armory Continuous Deployment Monitoring Indicators</title><link>/continuous-deployment/armory-admin/observe/spinnaker-monitoring-and-metrics/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/continuous-deployment/armory-admin/observe/spinnaker-monitoring-and-metrics/</guid><description>
&lt;h2 id="common-metrics---all-services">Common Metrics - All Services&lt;/h2>
&lt;h3 id="service-level-indicators-sli">Service Level Indicators (SLI)&lt;/h3>
&lt;figure>
&lt;img src="/images/monitoring-and-metrics/service-to-service.png"/>
&lt;/figure>
&lt;p>For all java based services, Spinnaker exposes common metrics like HTTP and JVM ones.&lt;/p>
&lt;h3 id="controller-latency">Controller latency&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-fallback" data-lang="fallback">&lt;span style="display:flex;">&lt;span>sum(rate($service:controller:invocations__totalTime_total[1m])) by
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>(controller, method) / sum(rate($service:controller:invocations__count_total[1m])) by
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>(controller, method)
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>→ Y axis is in nanoseconds.&lt;/p>
&lt;p>To get milliseconds:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-fallback" data-lang="fallback">&lt;span style="display:flex;">&lt;span>totalTime query / 1000000 / count query
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Indicates how long it takes for each HTTP controller to respond.
&lt;figure>
&lt;img src="/images/monitoring-and-metrics/gate-controller-latency.png"/>
&lt;/figure>
&lt;/p>
&lt;p>&lt;strong>Service Level Objective (SLO)&lt;/strong>: Average rate below 10 seconds.&lt;/p>
&lt;p>&lt;strong>Troubleshoot&lt;/strong>: Determine if slowness is caused by downstream, external services or by the affected service itself, by looking at other metrics.&lt;/p>
&lt;h3 id="outgoing-requests-latency">Outgoing requests latency&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-fallback" data-lang="fallback">&lt;span style="display:flex;">&lt;span>sum(rate($service:okhttp:requests__totalTime_total[1m])) by (requestHost) / sum(rate($service:okhttp:requests__count_total[1m])) by (requestHost)
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>→ Y axis is in nanoseconds.&lt;/p>
&lt;p>To get milliseconds:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-fallback" data-lang="fallback">&lt;span style="display:flex;">&lt;span>totalTime query / 1000000 / count query
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Shows how long it takes for downstream Spinnaker services to respond.&lt;/p>
&lt;figure>
&lt;img src="/images/monitoring-and-metrics/outgoing-gate-requests.png"/>
&lt;/figure>
&lt;p>&lt;strong>SLO&lt;/strong>: Average rate below 10 seconds.&lt;/p>
&lt;p>&lt;strong>Troubleshoot&lt;/strong>: Look at specific metrics of slow service.&lt;/p>
&lt;h3 id="5xx-errors-sent">5xx errors sent&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-fallback" data-lang="fallback">&lt;span style="display:flex;">&lt;span>sum(rate($service:controller:invocations__count_total{status=&amp;#34;5xx&amp;#34;}[1m])) by
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>(controller, method, statusCode)
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Indicates the number of 5xx errors produced by the service.&lt;/p>
&lt;figure>
&lt;img src="/images/monitoring-and-metrics/gate-500-errors-sent.png"/>
&lt;/figure>
&lt;p>&lt;strong>SLO&lt;/strong>: Average rate below 0.25 errors per second.&lt;/p>
&lt;p>&lt;strong>Troubleshoot&lt;/strong>: Investigate in logs and metrics for other services, if the errors are caused in the affected service or by downstream, external services.&lt;/p>
&lt;h3 id="5xx-errors-received">5xx errors received&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-fallback" data-lang="fallback">&lt;span style="display:flex;">&lt;span>sum(rate($service:okhttp:requests__count_total{status=&amp;#34;5xx&amp;#34;}[1m])) by
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>(requestHost)
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Shows the number of errors received from other Spinnaker services.&lt;/p>
&lt;figure>
&lt;img src="/images/monitoring-and-metrics/gate-500-errors-received.png"/>
&lt;/figure>
&lt;p>&lt;strong>SLO&lt;/strong>: Average rate below 0.25 errors per second.&lt;/p>
&lt;p>&lt;strong>Troubleshoot&lt;/strong>: Look at logs and metrics of the service throwing the errors.&lt;/p>
&lt;h3 id="hystrix-fallbacks">Hystrix fallbacks&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-fallback" data-lang="fallback">&lt;span style="display:flex;">&lt;span>sum(rate($service:hystrix:countFallbackSuccess[1m])) by (metricGroup, metricType)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>sum(rate($service:hystrix:countFallbackFailure[1m])) by (metricGroup, metricType)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>sum(rate($service:hystrix:isCircuitBreakerOpen[1m])) by (metricGroup, metricType)
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Not all services have Hystrix. It is a disaster recovery library, meaning that if the original request to an external service fails, Hystrix will execute a “Plan B” to produce an acceptable response. If errors accumulate and the downstream service is still not healthy, Hystrix circuit breaker opens and errors start to flow upstream.&lt;/p>
&lt;figure>
&lt;img src="/images/monitoring-and-metrics/gate-hysterix-fallbacks.png"/>
&lt;/figure>
&lt;p>&lt;strong>SLO&lt;/strong>: Average rate below 0.10 Hystrix events per second.&lt;/p>
&lt;p>&lt;strong>Troubleshoot&lt;/strong>: Investigate log files of affected service, it’s possible that downstream external services are either failing or are too slow to respond. Look at “Outgoing requests latency” metric.&lt;/p>
&lt;h3 id="jvm-memory-usage">JVM memory usage&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-fallback" data-lang="fallback">&lt;span style="display:flex;">&lt;span>sum($service:jvm:memory:used{memtype=&amp;#34;HEAP&amp;#34;}) by (instance)
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Shows memory consumption of a java based service.&lt;/p>
&lt;figure>
&lt;img src="/images/monitoring-and-metrics/gate-jvm-usage.png"/>
&lt;/figure>
&lt;p>&lt;strong>SLO&lt;/strong>: No pods restarting due to OutOfMemory errors.&lt;/p>
&lt;p>&lt;strong>Troubleshoot&lt;/strong>: There’s no ideal value identified, but pod memory requests/limits MUST be 2x max JVM heap value. This is because services use &lt;code>-XX:MaxRAMFraction=2 flag&lt;/code>, which means that the JVM memory will be limited to take at most half of the available RAM to the pod. For example if the pod memory request/limit is 2GB, the java service will take up to 1GB before OutOfMemory errors appear and the container gets killed. Increase pod memory requests/limits.&lt;/p>
&lt;h3 id="configurations-affecting-performance">Configurations affecting performance&lt;/h3>
&lt;h4 id="okhttp-client-timeout">OkHttp client timeout&lt;/h4>
&lt;p>Add the following config to &lt;code>profiles/&amp;lt;service&amp;gt;-local.yml&lt;/code> (such as &lt;code>clouddriver-local.yml&lt;/code>) to change the default timeout of the OkHttp client. This can be a temporary, quick workaround to fix increased 5xx errors and Hystrix fallbacks.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-fallback" data-lang="fallback">&lt;span style="display:flex;">&lt;span>ok-http-client:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> connectTimeoutMs: &amp;lt;TIMEOUT MS&amp;gt;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> readTimeoutMs: &amp;lt;TIMEOUT MS&amp;gt;
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h4 id="jvm-memory-requestslimits">JVM memory requests/limits&lt;/h4>
&lt;p>Example in main hal config:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-fallback" data-lang="fallback">&lt;span style="display:flex;">&lt;span>deploymentEnvironment:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>  customSizing:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>   spin-clouddriver:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>    requests:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>     memory: 8Gi
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>    limits:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>     memory: 8Gi
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="clouddriver-metrics">Clouddriver Metrics&lt;/h2>
&lt;h3 id="average-caching-agent-time">Average caching agent time&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-fallback" data-lang="fallback">&lt;span style="display:flex;">&lt;span>avg(label_replace(
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> delta(clouddriver:executionTime__totalTime_total{}[1m])
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>, &amp;#34;agentType&amp;#34;, &amp;#34;$1&amp;#34;, &amp;#34;agent&amp;#34;, &amp;#34;^.*/(\\w+)\\[.*$&amp;#34;)) by (agent)
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Indicates how long it takes for clouddriver caching agents to complete a caching cycle.&lt;/p>
&lt;figure>
&lt;img src="/images/monitoring-and-metrics/clouddriver-avg-cache.png"/>
&lt;/figure>
&lt;p>&lt;strong>SLO&lt;/strong>: Max time below 1 minute.&lt;/p>
&lt;p>&lt;strong>Troubleshoot&lt;/strong>: Usually caching cycles are done every 30 seconds. Caching time can be improved by increasing clouddriver pods and memory/cpu requests and limits. Number of pods are related with number of caching threads. More pods, more caching threads can be used to balance workload among pods. Example:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-fallback" data-lang="fallback">&lt;span style="display:flex;">&lt;span>providers:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>  kubernetes:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>   accounts:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>   - kubernetes
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>    cacheThreads: 3
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>----------------
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> deploymentEnvironment:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>  customSizing:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>   spin-clouddriver:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>    replicas: 5
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Also using SQL instead of Redis may improve caching agent times. When this metric is too high, it can cause “Deploy (Manifest)” stage to last 12 “Force Cache Refresh task during deployments taking up to 12 minutes to complete. Long Cloudddriver startup times if it checks for permissions on startup (more than 30 minutes). 500 timeouts on UI during deployments.&lt;/p>
&lt;h3 id="number-of-caching-agents">Number of caching agents&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-fallback" data-lang="fallback">&lt;span style="display:flex;">&lt;span>count(label_replace(
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> delta(clouddriver:executionTime__totalTime_total{}[1m])
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>, &amp;#34;agentType&amp;#34;, &amp;#34;$1&amp;#34;, &amp;#34;agent&amp;#34;, &amp;#34;^.*/(\\w+)\\[.*$&amp;#34;)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>) by (agent)
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Shows how many caching agents are running in clouddriver.&lt;/p>
&lt;figure>
&lt;img src="/images/monitoring-and-metrics/clouddriver-number-of-cache-agents.png"/>
&lt;/figure>
&lt;p>&lt;strong>SLO&lt;/strong>: No deviation in time, the number of agents should stay constant.&lt;/p>
&lt;p>&lt;strong>Troubleshoot&lt;/strong>: When this metric varies it typically means a pod was killed.&lt;/p>
&lt;h3 id="kubernetes-kubectl-latency">Kubernetes, kubectl latency&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-fallback" data-lang="fallback">&lt;span style="display:flex;">&lt;span>sum(rate(clouddriver:kubernetes:api__totalTime_total{success=&amp;#34;true&amp;#34;}[1m])) by
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>(account, action) / sum(rate($service:kubernetes:api__count_total{success=&amp;#34;true&amp;#34;}[1m])) by
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>(account, action)
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>→ Y axis is in nanoseconds.&lt;/p>
&lt;p>To get seconds: &lt;code>totalTime query / 1000000000 / count query&lt;/code>&lt;/p>
&lt;p>Shows how long kubectl takes for completing requests like kubectl get.
&lt;figure>
&lt;img src="/images/monitoring-and-metrics/clouddriver-kube-latency.png"/>
&lt;/figure>
&lt;/p>
&lt;p>&lt;strong>SLO&lt;/strong>: This metric is impacted by the target Kubernetes cluster and is not directly responsibility of Spinnaker, but a latency below 5 seconds average is good.&lt;/p>
&lt;p>&lt;strong>Troubleshoot&lt;/strong>: You can log in to clouddriver pod and list processes, there are likely kubetcl running processes from which you can grab the full command used by clouddriver:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-fallback" data-lang="fallback">&lt;span style="display:flex;">&lt;span>bash-4.4$ ps -f | cat
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>PID USER  TIME COMMAND
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>17103 spinnake 0:00 kubectl --kubeconfig=/Users/german/.hal/default/staging/dependencies/1062698630-kubecfg-german --namespace=istio-system -o json get configMap,controllerRevision,cronJob,daemonSet,deployment,event,horizontalpodautoscaler,ingress,job,limitRange,networkPolicy,persistentVolumeClaim,pod,podDisruptionBudget,replicaSet,role,roleBinding,secret,service,serviceAccount,statefulSet
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>If you repeat this command with &lt;code>--v=10&lt;/code> flag, you’ll get all requests, responses and internal cache hits done by the command. From there, you can know where’s spending most of the time. &lt;code>kubectl&lt;/code> has an internal cache expiring every 10 minutes or so in &lt;code>~/.kube&lt;/code>.&lt;/p>
&lt;p>Output of the &lt;code>kubectl --v=10 get xxx&lt;/code> command can be analyzed with &lt;a href="https://github.com/armory/troubleshooting-toolbox/blob/master/scripts/analyze-kubectl.sh">this script&lt;/a>.&lt;/p>
&lt;h3 id="aws-failed-requests">AWS failed requests&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-fallback" data-lang="fallback">&lt;span style="display:flex;">&lt;span>sum(rate(clouddriver:aws:request:requestCount_total{error=&amp;#34;true&amp;#34;}[1m])) by (AWSErrorCode, requestType)
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Indicates the amount of failed requests from Spinnaker to AWS infrastructure.&lt;/p>
&lt;figure>
&lt;img src="/images/monitoring-and-metrics/clouddriver-failed-requests.png"/>
&lt;/figure>
&lt;p>&lt;strong>SLO&lt;/strong>: Average rate below 0.10 errors per second.&lt;/p>
&lt;p>&lt;strong>Troubleshoot&lt;/strong>: Adjust Cloudddriver &lt;a href="/continuous-deployment/armory-admin/rate-limit/">rate limits&lt;/a>.&lt;/p>
&lt;h3 id="sql-blocked-connections">SQL blocked connections&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-fallback" data-lang="fallback">&lt;span style="display:flex;">&lt;span>clouddriver:sql:pool:default:blocked{}
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Shows how many SQL connections are hanging waiting for processes to complete.&lt;/p>
&lt;figure>
&lt;img src="/images/monitoring-and-metrics/clouddriver-sql-default-connection.png"/>
&lt;/figure>
&lt;p>&lt;strong>SLO&lt;/strong>: Zero blocked connections.&lt;/p>
&lt;p>&lt;strong>Troubleshoot&lt;/strong>: Take a look at database provider specific metrics to see if database is reaching maximum resource capacity, or maximum number of allowed concurrent active connections.&lt;/p>
&lt;h3 id="redis-latency">Redis latency&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-fallback" data-lang="fallback">&lt;span style="display:flex;">&lt;span>sum(rate(clouddriver:redis:command:latency:sscan__count_total[1m])) /
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>sum(rate(clouddriver:redis:command:latency:sscan__totalTime_total[1m]))
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>There are around 10 different redis actions and each one has its own metric. This is the time it takes for a redis read or write operation to complete.&lt;/p>
&lt;figure>
&lt;img src="/images/monitoring-and-metrics/clouddriver-redis-latency.png"/>
&lt;/figure>
&lt;p>&lt;strong>SLO&lt;/strong>: Average rate below 100 milliseconds.&lt;/p>
&lt;p>&lt;strong>Troubleshoot&lt;/strong>: Investigate overall network latency from clouddriver to redis, and if redis is reaching its capacity limit.&lt;/p>
&lt;h3 id="configurations-affecting-performance-1">Configurations affecting performance&lt;/h3>
&lt;h4 id="checkpermissionsonstartup">checkPermissionsOnStartup&lt;/h4>
&lt;p>Kubernetes account level. When set to false, clouddriver startup time is much faster because permissions are checked on demand. Bad side effects: unknown.&lt;/p>
&lt;h4 id="livemanifestcalls">liveManifestCalls&lt;/h4>
&lt;p>Kubernetes account level. When set to true, “Force Cache Refresh” task during Deploy stage execution is reduced to zero, because Spinnaker will not try to refresh the cache to check if the manifest was deployed. Bad side effects: many more &lt;code>kubectl&lt;/code> calls than needed during deployments. Ideally this flag should always be &lt;strong>false&lt;/strong> (default).&lt;/p>
&lt;h4 id="cachethreads">cacheThreads&lt;/h4>
&lt;p>Kubernetes account level. This should only be increased when the number of pods increases, it allows to spread the load of caching across different pods and threads.&lt;/p>
&lt;h4 id="metrics">metrics&lt;/h4>
&lt;p>Kubernetes account level. When set to false, Spinnaker will not try to constantly retrieve memory and cpu usage of each and every pod, reducing the caching cycle time of the metrics caching agent to almost zero. Side effects: on &lt;code>Infrastructure&lt;/code> screen, when you click a pod, on the right side panel there’s information about its cpu/memory usage. When this flag is set to false, those values show as &lt;code>unknown&lt;/code>.&lt;/p>
&lt;h4 id="replicas">replicas&lt;/h4>
&lt;p>&lt;code>deploymentEnvironment.customSizing.&amp;lt;service&amp;gt;.replicas&lt;/code>. Indicates the number of pods for each service.&lt;/p>
&lt;h4 id="cpumemory-requestslimits">cpu/memory requests/limits&lt;/h4>
&lt;p>&lt;code>deploymentEnvironment.customSizing.&amp;lt;service&amp;gt;.requests.cpu&lt;/code>, &lt;code>deploymentEnvironment.customSizing.&amp;lt;service&amp;gt;.limits.cpu&lt;/code>. Indicates the max value for cpu and memory usage for pods.&lt;/p>
&lt;h4 id="ondemandclusterthreshold">onDemandClusterThreshold&lt;/h4>
&lt;p>File: &lt;code>default/profiles/settings-local.js setting&lt;/code>: &lt;code>window.spinnakerSettings.onDemandClusterThreshold&lt;/code>. This is a Deck setting that controls the threshold at which the &lt;code>Infrastructure&lt;/code> screen will change to not show all server groups at the same time, and instead show a dropdown to select the server group to show. This setting has a huge impact on improving performance because the get server groups call is usually one of the most expensive ones, and is done periodically as long as the UI is open.&lt;/p>
&lt;h4 id="max-concurrent-agents">max-concurrent-agents&lt;/h4>
&lt;p>File: &lt;code>clouddriver-local.yml&lt;/code>&lt;/p>
&lt;p>&lt;code>redis.agent.max-concurrent-agents&lt;/code>, default: 1000.&lt;/p>
&lt;p>&lt;code>sql.agent.max-concurrent-agents&lt;/code>, default: 100.&lt;/p>
&lt;p>This is the maximum amount of caching agents running simultaneously. Limiting this value may benefit to avoid having spikes of high resource usage, specially when clouddriver handles a lot of accounts. Example for kubernetes provider: having 10 accounts and 5 max agents, will spawn a maximsuum of 5 &lt;code>kubectl&lt;/code> simultaneous calls, whereas using the default value may spawn 10 * 2 = 20 simultaneous &lt;code>kubectl&lt;/code> calls, because each account has at least a CoreCachingAgent and a CustomResourceDefinition caching agent.&lt;/p>
&lt;h4 id="jobslocaltimeout-minutes">jobs.local.timeout-minutes&lt;/h4>
&lt;p>File: &lt;code>clouddriver-local.yml&lt;/code>&lt;/p>
&lt;p>&lt;code>jobs.local.timeout-minutes&lt;/code> . Default: 10. The maximum amount of time for spawned kubectl processes to finish before being killed. A change is proposed to Spinnaker 1.24 to send a SIGKILL signal to those processes (kill -9) instead of just the usual SIGTERM, which may still leave misbehaving kubectl processes running.&lt;/p></description></item><item><title>Continuous-Deployment: Configure Monitoring</title><link>/continuous-deployment/armory-admin/observe/observability-configure/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/continuous-deployment/armory-admin/observe/observability-configure/</guid><description>
&lt;h2 id="configure-monitoring-using-the-observability-plugin">Configure monitoring using the Observability Plugin&lt;/h2>
&lt;div class="alert alert-warning" role="alert">
&lt;h4 class="alert-heading">Caution&lt;/h4>
&lt;p>Before configuring monitoring, read and understand the following information about the security implications.
If any of your services, typically Gate (API), are exposed to the open internet, there is a risk that you can publicly expose information. Armory recommends that you filter these paths at your edge layer in some manner. Be aware of any endpoints you expose. Spring boot exposes the health endpoint by default though with some restrictions on what information is exposed. When auth is enabled, Gate restricts access to the endpoints other than &lt;code>/health&lt;/code>, preventing access to metric data.&lt;/p>
&lt;p>For more information on Spring actuators, see the &lt;a href="https://docs.spring.io/spring-boot/docs/current/reference/html/production-ready-features.html#production-ready-monitoring">Monitoring and Management&lt;/a>.&lt;/p>
&lt;!-- Spinnaker issue discussing management endpoints: https://github.com/spinnaker/spinnaker/issues/3883-->
&lt;/div>
&lt;p>Armory recommends that you monitor your systems by using the &lt;a href="https://github.com/armory-plugins/armory-observability-plugin/">Armory Observability Plugin&lt;/a>. This is an open source solution for monitoring Armory Continuous Deployment. The plugin supports the following:&lt;/p>
&lt;ul>
&lt;li>Adding Prometheus (OpenMetrics) endpoints to Armory Continuous Deployment pods.&lt;/li>
&lt;li>Sending data to NewRelic (see the &lt;a href="https://github.com/armory-plugins/armory-observability-plugin">plugin&amp;rsquo;s README&lt;/a>).&lt;/li>
&lt;/ul>
&lt;p>The Observability Plugin removes the service name from the metric. This is incompatible with the behavior of the open source Spinnaker monitoring daemon system, which was the default monitoring solution in versions earlier than 2.20 and is now deprecated.&lt;/p>
&lt;h3 id="install-the-plugin">Install the plugin&lt;/h3>
&lt;p>You have two options for installing the Observability plugin:&lt;/p>
&lt;ul>
&lt;li>Add the plugin configuration for all services the &lt;code>spinnaker&lt;/code> profile section.&lt;/li>
&lt;li>Add the plugin configuration to only the services you want to monitor.&lt;/li>
&lt;/ul>
&lt;p>The following example adds the Observability Plugin configuration for all services to the &lt;code>spinnaker-local.yml&lt;/code> file and enables Prometheus:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-yaml" data-lang="yaml">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#6272a4"># These lines are spring-boot configuration to allow access to the metrics&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#6272a4"># endpoints. This plugin adds the &amp;#34;aop-prometheus&amp;#34; endpoint on the&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#6272a4"># &amp;#34;&amp;lt;service&amp;gt;:&amp;lt;port&amp;gt;/aop-prometheus&amp;#34; path.&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#ff79c6">management&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">endpoints&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">web&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#6272a4"># Read the security warning at the start of this section about what gets exposed!!&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">exposure.include&lt;/span>: health,info,aop-prometheus
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#ff79c6">spinnaker&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">extensibility&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">plugins&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">Armory.ObservabilityPlugin&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">enabled&lt;/span>: &lt;span style="color:#ff79c6">true&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">version&lt;/span>: &amp;lt;VERSION&amp;gt;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#6272a4"># This is the basic configuration for prometheus to be enabled&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">config.metrics&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">prometheus&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">enabled&lt;/span>: &lt;span style="color:#ff79c6">true&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">repositories&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">armory-observability-plugin-releases&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">url&lt;/span>: https://raw.githubusercontent.com/armory-plugins/armory-observability-plugin-releases/master/repositories.json
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>You can find more options for management endpoints and the plugin in the &lt;a href="https://github.com/armory-plugins/armory-observability-plugin">plugin&amp;rsquo;s README&lt;/a>.&lt;/p></description></item><item><title>Continuous-Deployment: Configure Support Diagnostics for Armory Continuous Deployment</title><link>/continuous-deployment/armory-admin/observe/diagnostics-configure/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/continuous-deployment/armory-admin/observe/diagnostics-configure/</guid><description>
&lt;h2 id="advantages-to-enabling-armory-diagnostics">Advantages to enabling Armory Diagnostics&lt;/h2>
&lt;p>When you engage Armory Support, the support team might ask you about enabling Armory Diagnostics. This sends the log and event data from the your system to Armory so that the support team can remotely investigate what might be going on with your system, resulting in a faster turnaround on solutions.&lt;/p>
&lt;blockquote>
&lt;p>UUIDs are not checked for uniqueness. As a result, if you have two environments and you provide both with the same UUID, the logs sent to Armory will conflict with each other. Please ensure unique UUIDs for each environment.&lt;/p>
&lt;/blockquote>
&lt;h2 id="turning-on-armory-diagnostics">Turning on Armory Diagnostics&lt;/h2>
&lt;p>Generate a unique UUID before adding the information. You can do this at a number of 3rd party websites that you can find via a Google search.&lt;/p>
&lt;p>Add to your &lt;code>SpinnakerService.yml&lt;/code> file:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-yaml" data-lang="yaml">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#ff79c6">spec&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">spinnakerConfig&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">config&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">armory&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">diagnostics&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">enabled&lt;/span>: &lt;span style="color:#ff79c6">true&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">uuid&lt;/span>: &lt;span style="color:#6272a4"># Enter uniquely Generated UUID&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">logging&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">enabled&lt;/span>: &lt;span style="color:#6272a4"># true/false to enable&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">endpoint&lt;/span>: &lt;span style="color:#6272a4"># Enter Endpoint, e.g. https://debug.armory.io/v1/logs&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>kubectl -n spinnaker apply -f spinnakerservice.yml
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>You can find a description of diagnostic parameters in the &amp;ldquo;Diagnostics Parameters&amp;rdquo; section of the Operator &lt;a href="/continuous-deployment/installation/armory-operator/op-manifest-reference/armory/#diagnostics-parameters">&lt;code>armory&lt;/code> reference&lt;/a>.&lt;/p>
&lt;h2 id="migrating-diagnostics-to-operator-from-halyard">Migrating Diagnostics to Operator from Halyard&lt;/h2>
&lt;p>Follow the same steps as above, but you do not have to generate a UUID, as you already have one in your Halyard config. Please use the same UUID to ensure diagnostics continue.&lt;/p>
&lt;h2 id="what-data-gets-sent-to-armory">What data gets sent to Armory&lt;/h2>
&lt;p>You&amp;rsquo;re probably wondering exactly what gets sent to Armory when you&amp;rsquo;re sharing
your log output with us.&lt;/p>
&lt;p>There are actually two streams of output that we will receive from an enabled
system. The first is the easiest, it&amp;rsquo;s a copy of what gets logged in the
pod (the same output you get from running &lt;code>kubectl logs -f &amp;lt;pod_id&amp;gt;&lt;/code>). This
tends to be status messages, but we will also capture any software failures
that might have gotten caught. This often gives us the best insight into
why something is going wrong.&lt;/p>
&lt;p>The second stream is actually the set of events being passed internally from
Spinnaker microservice to microservice. These are JSON payloads that are
then tagged on our side with your unique customer ID (so we can isolate your
instances), a timestamp, and then two primary keys, &amp;ldquo;details&amp;rdquo; and &amp;ldquo;content&amp;rdquo;.&lt;/p>
&lt;p>The Details key maps some very common elements for the event:&lt;/p>
&lt;ul>
&lt;li>application &amp;ndash; The name of the Spinnaker application&lt;/li>
&lt;li>created &amp;ndash; Timestamp of when the event was created&lt;/li>
&lt;li>requestHeaders &amp;ndash; HTTP request headers for the internal request&lt;/li>
&lt;li>source &amp;ndash; The microservice that generated the event (ex. &amp;lsquo;clouddriver&amp;rsquo;)&lt;/li>
&lt;li>type &amp;ndash; An identifier as to what kind of event this was (ex. &lt;code>orca:pipeline:starting&lt;/code>)&lt;/li>
&lt;/ul>
&lt;p>The Content section is variable, and depends on what kind of event is being
tracked. Here are some of the more common events:&lt;/p>
&lt;ul>
&lt;li>
&lt;p>Web access events contain your basic web event data, the request
headers, URL, User Agent, encoding directives, etc.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Build events pass along the name of the build job (from Jenkins, Travis, etc),
the success/failure, duration of the job.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Webhook events (like commits from Github) will contain whatever the webhook has sent along in its payload. For most SCMs, this is just the name of the organization, the repo name, a hash representing the commit, and a timestamp. If you&amp;rsquo;ve set up any other webhook events that you using to trigger Spinnaker, take care with what data is being sent.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Pipeline events will contain all the same data you would see in Spinnaker if
you click on &amp;ldquo;Source&amp;rdquo; under a pipeline&amp;rsquo;s stage. This includes the name of
the application, pipeline, the build information, the trigger information,
and the status and results of all the stages included in that pipeline
(including stages that have not been executed yet).&lt;/p>
&lt;/li>
&lt;/ul>
&lt;p>Other events may be the result of performing operations within Spinnaker,
such as creating a new load balancer, or resizing a server group.&lt;/p>
&lt;h2 id="how-armory-uses-the-data">How Armory uses the data&lt;/h2>
&lt;p>Armory&amp;rsquo;s Technical Account Manager and Support teams may use this data to generate reports for customers and provide summary information to customers. Additionally, Armory may look at environment configuration data and view error logs in order to reduce resolution time on open support cases.&lt;/p>
&lt;figure>
&lt;img src="/images/armory-admin/diagnostics-configure/ModeExample02.jpg"
alt="Technical Account Manager Report Example"/> &lt;figcaption>
&lt;p>Technical Account Manager Report Example&lt;/p>
&lt;/figcaption>
&lt;/figure>
&lt;figure>
&lt;img src="/images/armory-admin/diagnostics-configure/ModeExample01.jpg"
alt="Customer Configuration Example"/> &lt;figcaption>
&lt;p>Customer Configuration Example&lt;/p>
&lt;/figcaption>
&lt;/figure>
&lt;h2 id="a-note-on-private-data-exposure-risks">A Note on Private Data Exposure Risks&lt;/h2>
&lt;p>The data passed out of Spinnaker is based on payloads controlled by the
open source Spinnaker community (except for those proprietary microservices
provided by Armory specifically). Armory is not aware of any cases where
private data (passwords, source code, etc.) would be passed out of Spinnaker
as part of an event payload during normal operation. Armory is not responsible
for secrets a customer has entered into an otherwise unprotected field being
transmitted (for example, entering a password into a &amp;ldquo;Notes&amp;rdquo; field of a
pipeline stage).&lt;/p></description></item><item><title>Continuous-Deployment: Enable Logging in Armory Continuous Deployment</title><link>/continuous-deployment/armory-admin/observe/integrations-logging/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/continuous-deployment/armory-admin/observe/integrations-logging/</guid><description>
&lt;h2 id="metrics-and-logging-overview">Metrics and logging overview&lt;/h2>
&lt;p>Metrics allow you to investigate the health of your Armory Continuous Deployment system. Armory&amp;rsquo;s &lt;a href="/continuous-deployment/armory-admin/observe/observability-configure/">Observability Plugin&lt;/a> provides a good overview of data over time about what is happening in particular services. You can monitor data points such as overall load, number of errors, and connection speeds.&lt;/p>
&lt;p>Logging, on the other hand, is more useful for tracing data about what individual accounts and functions are doing within Armory Continuous Deployment. This data provides an overview on applications and errors and is primarily for auditing purposes. Armory Continuous Deployment captures logging data in the Echo service, so you can configure Echo to send logging data to your data aggregator.&lt;/p>
&lt;h2 id="before-you-begin">Before you begin&lt;/h2>
&lt;p>You have set up a data aggregator with a unique endpoint. You need the endpoint and an authorization token when you enable logging in Armory Continuous Deployment. Documentation for some popular data aggregators:&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://docs.splunk.com/Documentation/Splunk/8.2.4/Data/UsetheHTTPEventCollector">Create an HTTP Event Collector in Splunk&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://docs.datadoghq.com/logs/log_collection/?tab=tcp">Datadog Log Collection&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://docs.aws.amazon.com/apigateway/latest/developerguide/set-up-logging.html">Cloudwatch REST API Logging&lt;/a>&lt;/li>
&lt;/ul>
&lt;h2 id="enable-logging-data">Enable logging data&lt;/h2>
&lt;p>The following configuration example shows how to configure Echo to send data to Splunk. If you are using another data aggregator, replace the &lt;code>url&lt;/code> value with the endpoint for your aggregator.&lt;/p>
&lt;p>Add the &lt;b>rest&lt;/b> block to the &lt;b>spec.spinnakerConfig.profiles.echo&lt;/b> section of your Operator manifest.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-yaml" data-lang="yaml">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#ff79c6">apiVersion&lt;/span>: spinnaker.armory.io/v1alpha2
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#ff79c6">kind&lt;/span>: SpinnakerService
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#ff79c6">metadata&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">name&lt;/span>: spinnaker
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#ff79c6">spec&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">spinnakerConfig&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">profiles&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">echo&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">rest&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">enabled&lt;/span>: &lt;span style="color:#ff79c6">true&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">endpoints&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> - &lt;span style="color:#ff79c6">wrap&lt;/span>: &lt;span style="color:#ff79c6">true&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">url&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;http://&amp;lt;SERVICE_URL&amp;gt;:&amp;lt;PORT&amp;gt;/services/collector/event?&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">headers&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">Authorization&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;&amp;lt;TOKEN&amp;gt;&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">template&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#39;{&amp;#34;event&amp;#34;:{{event}} }&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">insecure&lt;/span>: &lt;span style="color:#ff79c6">true&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;ul>
&lt;li>&lt;code>SERVICE_URL&lt;/code>: the FQDN of the service; for example &lt;code>https://splunk.armory.io&lt;/code>.&lt;/li>
&lt;li>&lt;code>PORT&lt;/code>: the TCP listener port available in your aggregator.&lt;/li>
&lt;li>&lt;code>TOKEN&lt;/code>: the authorization token for your aggregator.&lt;/li>
&lt;/ul>
&lt;blockquote>
&lt;p>The default port for Splunk&amp;rsquo;s HTTP Event Collector (HEC) is either 8088 or 8089 depending on your Splunk version. This port is used if you &lt;strong>do not&lt;/strong> configure a TCP listener. Any TCP listener config is a custom port assignment. See the &lt;a href="https://support.armory.io/support?id=kb_article_view&amp;amp;sysparm_article=KB0010554">Metric data does not flow into Splunk despite setting up HEC Connection&lt;/a> KB article for more on Splunk HEC and ports.&lt;/p>
&lt;/blockquote>
&lt;p>The &lt;code>SERVICE_URL:PORT&lt;/code> can be HTTPS, which would remove the need for the insecure &lt;code>TOKEN&lt;/code>. Consult your specific data aggregator provider&amp;rsquo;s documentation for how to configure an HTTPS endpoint.&lt;/p>
&lt;h2 id="verify-data-flow-to-your-aggregator">Verify data flow to your aggregator&lt;/h2>
&lt;p>You can either wait for events to flow or run a new pipeline to test that Echo is sending logging details to your aggregator. You should now be able to search the Armory Continuous Deployment index and see events coming in. If you don&amp;rsquo;t see any data, Echo&amp;rsquo;s logs may point to the source of the problem.&lt;/p>
&lt;h2 id="creating-dashboards">Creating dashboards&lt;/h2>
&lt;p>After data is sent to your aggregator, you can set up dashboards to display useful data. Consult your data aggregator&amp;rsquo;s documentation for details on creating dashboards.&lt;/p>
&lt;h2 id="splunk-dashboard-examples">Splunk dashboard examples&lt;/h2>
&lt;p>If you are using Splunk, you can create a dashboard and then define the dashboard characteristics using a JSON file. The following examples show different dashboards created from logging data. Each example includes the JSON file that defines the dashboard characteristics.&lt;/p>
&lt;h3 id="developer-insights">Developer insights&lt;/h3>
&lt;figure>
&lt;img src="/images/armory-admin/metrics/dash-developer-insights.png"
alt="Developer insights dashboard"/>
&lt;/figure>
&lt;details>&lt;summary>Show me the JSON&lt;/summary>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-json" data-lang="json">&lt;span style="display:flex;">&lt;span>{
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;visualizations&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;viz_chart_1&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;type&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;viz.pie&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;options&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;drilldown&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;all&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;refresh.display&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;progressbar&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;dataSources&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;primary&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;ds_search_2&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;title&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;Top Artifacts fetched by Spinnaker&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;viz_table_1&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;type&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;splunk.table&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;options&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;drilldown&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;none&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;refresh.display&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;progressbar&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;dataSources&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;primary&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;ds_search_3&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;title&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;Top Pipeline Executions by User&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;viz_table_2&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;type&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;splunk.table&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;options&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;drilldown&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;none&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;refresh.display&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;progressbar&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;dataSources&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;primary&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;ds_search_4&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;title&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;Top Spinnaker Kubernetes Deployments&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;viz_chart_2&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;type&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;viz.column&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;options&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;axisLabelsX.majorLabelStyle.rotation&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">0&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;axisTitleX.visibility&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;visible&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;axisTitleY.visibility&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;visible&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;axisTitleY2.visibility&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;visible&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;axisY.abbreviation&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;none&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;axisY.scale&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;linear&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;chart.showDataLabels&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;none&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;chart.stackMode&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;stacked&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;drilldown&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;all&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;legend.placement&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;bottom&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;refresh.display&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;progressbar&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;trellis.enabled&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">0&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;dataSources&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;primary&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;ds_search_5&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;title&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;Spinnaker Deployments by Application&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;viz_chart_3&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;type&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;viz.column&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;options&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;chart.stackMode&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;default&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;drilldown&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;none&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;refresh.display&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;progressbar&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;dataSources&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;primary&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;ds_search_6&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;title&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;Top Spinnaker Executions&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;dataSources&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;ds_search_1&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;type&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;ds.search&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;options&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;query&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;index=Spinnaker | fields content.execution.application | dedup content.execution.application | table content.execution.application | rename content.execution.application as \&amp;#34;AppName\&amp;#34;&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;queryParameters&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;earliest&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;0&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;ds_search_2&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;type&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;ds.search&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;options&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;query&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;index = Spinnaker \&amp;#34;event.details.type\&amp;#34;=\&amp;#34;orca:pipeline:starting\&amp;#34; event.content.execution.application=$field2$ | top limit=20 \&amp;#34;event.content.execution.stages{}.context.inputArtifacts{}.artifact.name\&amp;#34; | rename event.content.execution.stages{}.context.inputArtifacts{}.artifact.name as \&amp;#34;Artifact Name\&amp;#34;&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;queryParameters&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;earliest&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;$field1.earliest$&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;latest&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;$field1.latest$&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;ds_search_3&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;type&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;ds.search&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;options&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;query&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;index=\&amp;#34;Spinnaker\&amp;#34; event.content.execution.application=$field2$ | top limit=20 \&amp;#34;event.content.execution.authentication.user\&amp;#34; | rename event.content.execution.authentication.user as \&amp;#34;Spinnaker Users\&amp;#34;&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;queryParameters&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;earliest&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;$field1.earliest$&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;latest&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;$field1.latest$&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;ds_search_4&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;type&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;ds.search&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;options&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;query&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;index=Spinnaker event.content.execution.application=$field2$ | top limit=20 \&amp;#34;event.content.execution.stages{}.context.deployedManifests{}.name\&amp;#34; | rename event.content.execution.stages{}.context.deployedManifests{}.name as \&amp;#34;Top Deployed Manifests\&amp;#34;&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;queryParameters&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;earliest&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;$field1.earliest$&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;latest&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;$field1.latest$&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;ds_search_5&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;type&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;ds.search&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;options&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;query&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;index=Spinnaker event.content.execution.application=$field2$ | fields event.content.execution.application | timechart count by event.content.execution.application limit=10 usenull=f&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;queryParameters&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;earliest&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;$field1.earliest$&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;latest&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;$field1.latest$&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;ds_search_6&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;type&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;ds.search&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;options&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;query&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;index=Spinnaker \&amp;#34;event.details.type\&amp;#34;=\&amp;#34;orca:pipeline:starting\&amp;#34; event.content.execution.application=$field2$ | top limit=20 \&amp;#34;event.content.execution.name\&amp;#34; | rename event.content.execution.name as \&amp;#34;Top Spinnaker Executions\&amp;#34;&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;queryParameters&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;earliest&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;$field1.earliest$&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;latest&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;$field1.latest$&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;defaults&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;dataSources&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;ds.search&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;options&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;queryParameters&amp;#34;&lt;/span>: {}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;inputs&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;input_1&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;type&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;input.timerange&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;title&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;Select Time&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;options&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;token&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;field1&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;defaultValue&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;-7d@h,now&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;input_2&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;type&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;input.dropdown&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;title&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;Spinnaker Application Name&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;options&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;token&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;field2&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;defaultValue&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;*&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;items&amp;#34;&lt;/span>: [
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;value&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;*&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;label&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;All&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> ]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;encoding&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;value&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;primary.AppName&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;label&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;primary.AppName&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;dataSources&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;primary&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;ds_search_1&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;layout&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;type&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;absolute&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;options&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;submitButton&amp;#34;&lt;/span>: &lt;span style="color:#ff79c6">false&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;display&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;auto-scale&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;height&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">500&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;structure&amp;#34;&lt;/span>: [
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;item&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;viz_chart_1&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;type&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;block&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;position&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;x&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">0&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;y&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">0&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;w&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">400&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;h&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">250&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;item&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;viz_table_1&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;type&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;block&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;position&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;x&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">400&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;y&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">0&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;w&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">400&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;h&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">250&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;item&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;viz_table_2&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;type&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;block&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;position&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;x&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">800&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;y&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">0&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;w&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">400&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;h&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">250&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;item&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;viz_chart_2&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;type&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;block&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;position&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;x&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">0&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;y&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">250&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;w&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">600&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;h&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">250&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;item&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;viz_chart_3&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;type&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;block&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;position&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;x&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">600&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;y&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">250&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;w&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">600&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;h&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">250&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> ],
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;globalInputs&amp;#34;&lt;/span>: [
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f1fa8c">&amp;#34;input_1&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f1fa8c">&amp;#34;input_2&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> ]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;description&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;title&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;Developer Insights&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>
&lt;/details>
&lt;h3 id="software-deployments">Software deployments&lt;/h3>
&lt;figure>
&lt;img src="/images/armory-admin/metrics/dash-software-deployments.png"
alt="Software deployments dashboard"/>
&lt;/figure>
&lt;details>&lt;summary>Show me the JSON&lt;/summary>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-json" data-lang="json">&lt;span style="display:flex;">&lt;span>{
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;visualizations&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;viz_single_1&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;type&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;splunk.singlevalue&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;options&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;drilldown&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;all&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;refresh.display&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;progressbar&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;trendInterval&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;-24h&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;underLabel&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;Compared to a day before&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;shouldUseThousandSeparators&amp;#34;&lt;/span>: &lt;span style="color:#ff79c6">true&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;dataSources&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;primary&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;ds_search_1&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;title&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;Deployment Frequency (DF)&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;viz_chart_1&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;type&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;viz.pie&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;options&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;drilldown&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;none&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;dataSources&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;primary&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;ds_search_2&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;title&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;Top Deployments by Application&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;viz_table_1&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;type&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;splunk.table&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;options&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;drilldown&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;none&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;refresh.display&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;progressbar&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;dataSources&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;primary&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;ds_search_3&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;title&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;Production Approvals - Manual Judgements&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;viz_chart_2&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;type&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;viz.column&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;options&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;axisTitleX.text&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;Mouse over chart (click to drilldown)&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;drilldown&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;all&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;dataSources&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;primary&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;ds_search_4&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;title&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;Software Deployments by Application&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;viz_Cgz4gtYq&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;type&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;viz.pie&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;dataSources&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;primary&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;ds_1xOoneRR&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;title&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;Failed Deployments&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;dataSources&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;ds_search_1&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;type&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;ds.search&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;options&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;query&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;index=Spinnaker \&amp;#34;event.details.type\&amp;#34;=\&amp;#34;orca:task:complete\&amp;#34; | fields event.details.type | timechart count&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;queryParameters&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;earliest&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;$field1.earliest$&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;latest&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;$field1.latest$&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;ds_search_2&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;type&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;ds.search&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;options&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;query&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;index=Spinnaker \&amp;#34;event.details.type\&amp;#34;=\&amp;#34;orca:pipeline:complete\&amp;#34;| top limit=20 \&amp;#34;event.details.application\&amp;#34;&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;queryParameters&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;earliest&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;$field1.earliest$&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;latest&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;$field1.latest$&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;ds_search_3&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;type&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;ds.search&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;options&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;query&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;index=Spinnaker \&amp;#34;event.content.execution.stages{}.name\&amp;#34;=\&amp;#34;Manual Judgment\&amp;#34; | stats count by event.content.execution.trigger.user | rename event.content.execution.trigger.user as \&amp;#34;Approval Users\&amp;#34;&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;queryParameters&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;earliest&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;$field1.earliest$&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;latest&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;$field1.latest$&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;ds_search_4&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;type&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;ds.search&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;options&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;query&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;index=Spinnaker \&amp;#34;event.details.type\&amp;#34;=\&amp;#34;orca:pipeline:complete\&amp;#34;| timechart count by event.details.application limit=10&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;queryParameters&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;earliest&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;$field1.earliest$&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;latest&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;$field1.latest$&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;ds_1xOoneRR&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;type&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;ds.search&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;options&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;queryParameters&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;earliest&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;$field1.earliest$&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;latest&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;$field1.latest$&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;query&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;index=Spinnaker \&amp;#34;event.details.type\&amp;#34;=\&amp;#34;orca:pipeline:failed\&amp;#34;| top limit=20 \&amp;#34;event.details.application\&amp;#34;&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;name&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;Failed Deployments&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;defaults&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;dataSources&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;ds.search&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;options&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;queryParameters&amp;#34;&lt;/span>: {}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;inputs&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;input_1&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;type&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;input.timerange&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;title&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;Select Time&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;options&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;token&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;field1&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;defaultValue&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;-30d@d,now&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;layout&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;type&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;absolute&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;options&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;submitButton&amp;#34;&lt;/span>: &lt;span style="color:#ff79c6">false&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;display&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;auto-scale&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;height&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">500&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;structure&amp;#34;&lt;/span>: [
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;item&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;viz_single_1&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;type&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;block&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;position&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;x&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">0&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;y&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">0&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;w&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">400&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;h&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">250&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;item&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;viz_chart_1&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;type&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;block&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;position&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;x&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">400&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;y&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">0&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;w&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">400&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;h&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">250&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;item&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;viz_table_1&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;type&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;block&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;position&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;x&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">800&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;y&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">0&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;w&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">400&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;h&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">250&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;item&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;viz_chart_2&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;type&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;block&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;position&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;x&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">0&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;y&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">250&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;w&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">610&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;h&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">250&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;item&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;viz_Cgz4gtYq&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;type&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;block&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;position&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;x&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">610&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;y&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">250&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;w&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">590&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;h&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">250&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> ],
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;globalInputs&amp;#34;&lt;/span>: [
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f1fa8c">&amp;#34;input_1&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> ]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;description&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;title&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;Software Deployments&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>
&lt;/details>
&lt;h3 id="armory-continuous-deployment-platform">Armory Continuous Deployment platform&lt;/h3>
&lt;figure>
&lt;img src="/images/armory-admin/metrics/dash-ae-platform.png"
alt="Armory Continuous Deployment platform dashboard"/>
&lt;/figure>
&lt;details>&lt;summary>Show me the JSON&lt;/summary>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-json" data-lang="json">&lt;span style="display:flex;">&lt;span>{
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;visualizations&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;viz_chart_1&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;type&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;viz.area&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;options&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;chart.stackMode&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;stacked&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;drilldown&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;all&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;dataSources&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;primary&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;ds_search_1&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;title&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;Gate Sessions with Errors - Spinnaker API&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;viz_chart_2&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;type&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;viz.column&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;options&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;chart.stackMode&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;stacked&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;refresh.display&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;progressbar&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;dataSources&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;primary&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;ds_search_2&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;title&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;Orca Functions Failure Count&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;viz_table_1&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;type&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;splunk.table&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;options&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;drilldown&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;row&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;rowNumbers&amp;#34;&lt;/span>: &lt;span style="color:#ff79c6">true&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;dataSources&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;primary&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;ds_search_3&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;title&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;Top Errors from Spinnaker Orca Service (System Scheduler)&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;dataSources&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;ds_search_1&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;type&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;ds.search&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;options&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;query&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;index=Spinnaker clouddriver error| timechart count by event.content.context.exception.details.error limit=10 usenull=0&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;queryParameters&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;earliest&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;$field1.earliest$&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;latest&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;$field1.latest$&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;ds_search_2&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;type&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;ds.search&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;options&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;query&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;index=Spinnaker \&amp;#34;event.details.type\&amp;#34;=\&amp;#34;orca:*:failed\&amp;#34; | stats count by event.details.type | sort -count | rename event.details.type as \&amp;#34;Orca Functions\&amp;#34;&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;queryParameters&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;earliest&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;$field1.earliest$&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;latest&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;$field1.latest$&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;ds_search_3&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;type&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;ds.search&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;options&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;query&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;index=Spinnaker \&amp;#34;event.details.type\&amp;#34;=\&amp;#34;orca:*:failed\&amp;#34;| top limit=20 \&amp;#34;event.content.context.exception.details.errors{}\&amp;#34; | rename event.content.context.exception.details.errors{} as \&amp;#34;Spinnaker Platform Errors\&amp;#34;&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;queryParameters&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;earliest&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;$field1.earliest$&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;latest&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;$field1.latest$&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;defaults&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;dataSources&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;ds.search&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;options&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;queryParameters&amp;#34;&lt;/span>: {}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;inputs&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;input_1&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;type&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;input.timerange&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;title&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;Select Time&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;options&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;token&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;field1&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;defaultValue&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;-7d@h,now&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;layout&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;type&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;absolute&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;options&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;submitButton&amp;#34;&lt;/span>: &lt;span style="color:#ff79c6">false&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;display&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;auto-scale&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;height&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">500&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;structure&amp;#34;&lt;/span>: [
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;item&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;viz_chart_1&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;type&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;block&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;position&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;x&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">0&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;y&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">0&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;w&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">600&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;h&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">250&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;item&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;viz_chart_2&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;type&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;block&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;position&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;x&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">600&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;y&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">0&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;w&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">600&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;h&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">250&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;item&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;viz_table_1&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;type&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;block&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;position&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;x&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">0&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;y&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">250&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;w&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">1200&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;h&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">250&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> ],
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;globalInputs&amp;#34;&lt;/span>: [
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f1fa8c">&amp;#34;input_1&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> ]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;description&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;title&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;Spinnaker Platform&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>
&lt;/details>
&lt;h3 id="continuous-verification">Continuous verification&lt;/h3>
&lt;figure>
&lt;img src="/images/armory-admin/metrics/dash-continuous-verification.png"
alt="Armory Continuous Deployment platform dashboard"/>
&lt;/figure>
&lt;details>&lt;summary>Show me the JSON&lt;/summary>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-json" data-lang="json">&lt;span style="display:flex;">&lt;span>{
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;visualizations&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;viz_chart_1&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;type&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;viz.area&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;options&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;axisTitleX.text&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;Time Series&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;drilldown&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;all&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;legend.placement&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;bottom&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;refresh.display&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;progressbar&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;dataSources&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;primary&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;ds_search_3&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;title&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;Log Verification - App Logs with \&amp;#34;Error\&amp;#34; in the event&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;viz_chart_2&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;type&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;viz.column&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;options&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;axisTitleX.text&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;Time Series&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;drilldown&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;all&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;refresh.display&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;progressbar&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;dataSources&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;primary&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;ds_search_4&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;title&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;Log Verification - App Logs with \&amp;#34;Exception\&amp;#34; in the event&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;viz_chart_4&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;type&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;viz.area&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;options&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;drilldown&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;none&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;dataSources&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;primary&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;ds_search_7&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;title&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;Automated Rollback by Application (MTTR) - Splunk Webhooks to Spinnaker&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;dataSources&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;ds_search_1&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;type&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;ds.search&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;options&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;query&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;index=* | fields index | dedup index | table index&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;queryParameters&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;earliest&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;0&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;ds_search_2&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;type&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;ds.search&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;options&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;query&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;index=$field2$ | fields sourcetype | dedup sourcetype | table sourcetype&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;queryParameters&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;earliest&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;0&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;ds_search_3&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;type&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;ds.search&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;options&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;query&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;index=$field2$ sourcetype=$field3$ | fields index, sourcetype, source | timechart count as events by source&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;queryParameters&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;earliest&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;$field1.earliest$&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;latest&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;$field1.latest$&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;ds_search_4&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;type&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;ds.search&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;options&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;query&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;index=$field2$ sourcetype=$field3$ exception | timechart count as events by source&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;queryParameters&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;earliest&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;$field1.earliest$&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;latest&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;$field1.latest$&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;ds_search_5&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;type&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;ds.search&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;options&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;query&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;index=Spinnaker status=5* OR status=4* | fields status, index, sourcetype | timechart count by status&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;queryParameters&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;earliest&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;$field1.earliest$&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;latest&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;$field1.latest$&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;ds_search_6&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;type&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;ds.search&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;options&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;query&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;index=_internal sourcetype=scheduler search_type=scheduled alert_actions!=\&amp;#34;\&amp;#34; app=\&amp;#34;TA-Spinnaker\&amp;#34; | table _time, savedsearch_name, app, alert_actions, run_time&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;queryParameters&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;earliest&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;$field1.earliest$&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;latest&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;$field1.latest$&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;ds_search_7&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;type&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;ds.search&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;options&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;query&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;index=Spinnaker \&amp;#34;event.content.execution.trigger.payload.search_name\&amp;#34;=Rollback | timechart count by event.details.application&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;queryParameters&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;earliest&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;$field1.earliest$&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;latest&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;$field1.latest$&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;defaults&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;dataSources&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;ds.search&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;options&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;queryParameters&amp;#34;&lt;/span>: {}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;inputs&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;input_1&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;type&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;input.timerange&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;title&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;Select your time range&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;options&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;token&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;field1&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;defaultValue&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;-30d@d,now&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;input_2&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;type&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;input.dropdown&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;title&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;Find Application Index&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;options&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;token&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;field2&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;defaultValue&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;*&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;items&amp;#34;&lt;/span>: [
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;value&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;*&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;label&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;All&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> ]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;encoding&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;value&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;primary.index&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;label&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;primary.index&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;dataSources&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;primary&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;ds_search_1&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;input_3&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;type&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;input.dropdown&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;title&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;Find Application SourceType&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;options&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;token&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;field3&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;defaultValue&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;*&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;items&amp;#34;&lt;/span>: [
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;value&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;*&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;label&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;All&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> ]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;encoding&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;value&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;primary.sourcetype&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;label&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;primary.sourcetype&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;dataSources&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;primary&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;ds_search_2&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;layout&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;type&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;absolute&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;options&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;submitButton&amp;#34;&lt;/span>: &lt;span style="color:#ff79c6">false&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;display&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;auto-scale&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;height&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">500&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;structure&amp;#34;&lt;/span>: [
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;item&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;viz_chart_1&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;type&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;block&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;position&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;x&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">0&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;y&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">0&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;w&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">650&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;h&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">250&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;item&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;viz_chart_2&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;type&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;block&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;position&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;x&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">650&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;y&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">0&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;w&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">550&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;h&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">250&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;item&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;viz_chart_4&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;type&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;block&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;position&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;x&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">0&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;y&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">250&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;w&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">1200&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;h&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">250&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> ],
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;globalInputs&amp;#34;&lt;/span>: [
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f1fa8c">&amp;#34;input_1&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f1fa8c">&amp;#34;input_2&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f1fa8c">&amp;#34;input_3&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> ]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;description&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;title&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;Continuous Verification&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>
&lt;/details>
&lt;h3 id="compliance-center">Compliance center&lt;/h3>
&lt;figure>
&lt;img src="/images/armory-admin/metrics/dash-compliance-center.png"
alt="Armory Continuous Deployment platform dashboard"/>
&lt;/figure>
&lt;details>&lt;summary>Show me the JSON&lt;/summary>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-json" data-lang="json">&lt;span style="display:flex;">&lt;span>{
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;visualizations&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;viz_chart_1&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;type&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;viz.bar&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;options&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;drilldown&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;none&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;refresh.display&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;progressbar&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;dataSources&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;primary&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;ds_search_1&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;title&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;Top Spinnaker Deployment Accounts&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;viz_table_1&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;type&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;splunk.table&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;options&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;drilldown&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;none&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;refresh.display&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;progressbar&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;dataSources&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;primary&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;ds_search_2&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;title&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;Manual Judgements - Approvals for Production Deployments&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;viz_chart_2&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;type&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;viz.area&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;options&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;drilldown&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;none&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;dataSources&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;primary&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;ds_search_3&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;title&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;Gate API sessions by Authenticated Users&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;viz_table_2&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;type&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;splunk.table&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;options&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;drilldown&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;none&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;dataSources&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;primary&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;ds_search_4&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;title&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;Deployments to Namespace Environment - by Deployment Account&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;dataSources&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;ds_search_1&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;type&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;ds.search&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;options&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;query&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;index=Spinnaker \&amp;#34;event.details.type\&amp;#34;=\&amp;#34;orca:pipeline:starting\&amp;#34; | timechart count by event.content.execution.stages{}.context.account limit=10 usenull=f&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;queryParameters&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;earliest&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;$field1.earliest$&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;latest&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;$field1.latest$&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;ds_search_2&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;type&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;ds.search&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;options&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;query&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;index=Spinnaker | stats count by event.content.execution.authentication.user, event.details.application | sort -count | stats list(event.details.application) as \&amp;#34;Application\&amp;#34;, list(count) as count, sum(count) as total by event.content.execution.authentication.user | sort -total | rename event.content.execution.authentication.user as \&amp;#34;Authentication Propagated\&amp;#34;&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;queryParameters&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;earliest&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;$field1.earliest$&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;latest&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;$field1.latest$&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;ds_search_3&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;type&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;ds.search&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;options&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;query&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;index=Spinnaker \&amp;#34;event.details.source\&amp;#34;=gate event.content.user=!anonymous | timechart count by event.content.user&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;queryParameters&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;earliest&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;$field1.earliest$&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;latest&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;$field1.latest$&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;ds_search_4&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;type&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;ds.search&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;options&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;query&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;index=Spinnaker | stats count by event.content.execution.stages{}.context.account, event.content.context.kato.tasks{}.resultObjects{}.manifests{}.metadata.namespace | sort -count | stats list(event.content.context.kato.tasks{}.resultObjects{}.manifests{}.metadata.namespace) as \&amp;#34;Deployment Namespaces\&amp;#34;, list(count) as count, sum(count) as total by event.content.execution.stages{}.context.account | sort -total | rename event.content.execution.stages{}.context.account as \&amp;#34;Spinnaker Deployment Accounts\&amp;#34;&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;queryParameters&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;earliest&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;$field1.earliest$&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;latest&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;$field1.latest$&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;defaults&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;dataSources&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;ds.search&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;options&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;queryParameters&amp;#34;&lt;/span>: {}
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;inputs&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;input_1&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;type&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;input.timerange&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;title&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;Select Time&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;options&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;token&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;field1&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;defaultValue&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;-30d@d,now&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;layout&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;type&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;absolute&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;options&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;submitButton&amp;#34;&lt;/span>: &lt;span style="color:#ff79c6">false&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;display&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;auto-scale&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;height&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">500&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;structure&amp;#34;&lt;/span>: [
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;item&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;viz_chart_1&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;type&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;block&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;position&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;x&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">0&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;y&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">0&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;w&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">600&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;h&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">250&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;item&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;viz_table_1&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;type&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;block&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;position&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;x&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">600&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;y&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">0&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;w&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">600&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;h&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">250&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;item&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;viz_chart_2&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;type&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;block&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;position&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;x&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">0&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;y&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">250&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;w&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">600&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;h&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">250&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;item&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;viz_table_2&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;type&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;block&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;position&amp;#34;&lt;/span>: {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;x&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">600&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;y&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">250&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;w&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">600&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;h&amp;#34;&lt;/span>: &lt;span style="color:#bd93f9">250&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> ],
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;globalInputs&amp;#34;&lt;/span>: [
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f1fa8c">&amp;#34;input_1&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> ]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> },
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;description&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">&amp;#34;title&amp;#34;&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;Compliance Center&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>
&lt;/details></description></item><item><title>Continuous-Deployment: Integrate a Sumo Logic Dashboard in Armory Continuous Deployment</title><link>/continuous-deployment/armory-admin/observe/integrations-sumologic/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/continuous-deployment/armory-admin/observe/integrations-sumologic/</guid><description>
&lt;h2 id="advantages-to-integrating-sumo-logic">Advantages to integrating Sumo Logic&lt;/h2>
&lt;p>Integrating Spinnaker and Sumo Logic provides you with the ability to monitor the health and productivity of your end-to-end software delivery process through live dashboards. You gain at-a-glance visibility and longitudinal trends in usage and pipeline deployments across all dev, staging, and production environments.&lt;/p>
&lt;blockquote>
&lt;p>This application has been developed and is supported by Armory, Inc. In case of technical questions, please &lt;a href="https://armory.io/contact">contact Armory&lt;/a> for support.&lt;/p>
&lt;/blockquote>
&lt;h2 id="log-types">Log types&lt;/h2>
&lt;p>The Spinnaker Sumo Logic App uses echo logs that output event information from Spinnaker to Sumo Logic. Events include the following:&lt;/p>
&lt;ul>
&lt;li>Calls made to gate&lt;/li>
&lt;li>Pipeline events, which includes stages and tasks&lt;/li>
&lt;/ul>
&lt;h2 id="sample-log-message">Sample log message&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-json" data-lang="json">&lt;span style="display:flex;">&lt;span>{&lt;span style="color:#ff79c6">&amp;#34;details&amp;#34;&lt;/span>:{&lt;span style="color:#ff79c6">&amp;#34;source&amp;#34;&lt;/span>:&lt;span style="color:#f1fa8c">&amp;#34;gate&amp;#34;&lt;/span>,&lt;span style="color:#ff79c6">&amp;#34;type&amp;#34;&lt;/span>:&lt;span style="color:#f1fa8c">&amp;#34;gate:session&amp;#34;&lt;/span>,&lt;span style="color:#ff79c6">&amp;#34;created&amp;#34;&lt;/span>:&lt;span style="color:#f1fa8c">&amp;#34;1567639483521&amp;#34;&lt;/span>,&lt;span style="color:#ff79c6">&amp;#34;organization&amp;#34;&lt;/span>:&lt;span style="color:#ff79c6">null&lt;/span>,&lt;span style="color:#ff79c6">&amp;#34;project&amp;#34;&lt;/span>:&lt;span style="color:#ff79c6">null&lt;/span>,&lt;span style="color:#ff79c6">&amp;#34;application&amp;#34;&lt;/span>:&lt;span style="color:#ff79c6">null&lt;/span>,&lt;span style="color:#ff79c6">&amp;#34;_content_id&amp;#34;&lt;/span>:&lt;span style="color:#ff79c6">null&lt;/span>,&lt;span style="color:#ff79c6">&amp;#34;attributes&amp;#34;&lt;/span>:&lt;span style="color:#ff79c6">null&lt;/span>,&lt;span style="color:#ff79c6">&amp;#34;requestHeaders&amp;#34;&lt;/span>:{}},&lt;span style="color:#ff79c6">&amp;#34;content&amp;#34;&lt;/span>:{&lt;span style="color:#ff79c6">&amp;#34;headers&amp;#34;&lt;/span>:{&lt;span style="color:#ff79c6">&amp;#34;x-request-id&amp;#34;&lt;/span>:&lt;span style="color:#f1fa8c">&amp;#34;50cc1dcafa77a7fcf85612678cca01a6&amp;#34;&lt;/span>,&lt;span style="color:#ff79c6">&amp;#34;sec-fetch-mode&amp;#34;&lt;/span>:&lt;span style="color:#f1fa8c">&amp;#34;cors&amp;#34;&lt;/span>,&lt;span style="color:#ff79c6">&amp;#34;referer&amp;#34;&lt;/span>:&lt;span style="color:#f1fa8c">&amp;#34;https://spinnaker.se.armory.io/&amp;#34;&lt;/span>,&lt;span style="color:#ff79c6">&amp;#34;sec-fetch-site&amp;#34;&lt;/span>:&lt;span style="color:#f1fa8c">&amp;#34;same-site&amp;#34;&lt;/span>,&lt;span style="color:#ff79c6">&amp;#34;x-forwarded-proto&amp;#34;&lt;/span>:&lt;span style="color:#f1fa8c">&amp;#34;https&amp;#34;&lt;/span>,&lt;span style="color:#ff79c6">&amp;#34;accept-language&amp;#34;&lt;/span>:&amp;#34;en-...
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;blockquote>
&lt;p>Sumo Logic truncates messages greater than 64kb in length, and may therefore drop some event messages. Message lengths often depend on the size of your pipeline (i.e. number of stages).&lt;/p>
&lt;/blockquote>
&lt;h3 id="query-sample">Query sample&lt;/h3>
&lt;p>The following sample query generates a dashboard to monitor pipelines starting:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-json" data-lang="json">&lt;span style="display:flex;">&lt;span>_sourceCategory=&lt;span style="color:#f1fa8c">&amp;#34;dev/sales-demo-cluster/echo&amp;#34;&lt;/span> and _collector=&lt;span style="color:#f1fa8c">&amp;#34;Spinnaker Instance&amp;#34;&lt;/span> orca pipeline starting
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>| json field=_raw &lt;span style="color:#f1fa8c">&amp;#34;content.execution.status&amp;#34;&lt;/span>,&lt;span style="color:#f1fa8c">&amp;#34;content.execution.application&amp;#34;&lt;/span>,&lt;span style="color:#f1fa8c">&amp;#34;details.type&amp;#34;&lt;/span>,&lt;span style="color:#f1fa8c">&amp;#34;content.execution.name&amp;#34;&lt;/span>,&lt;span style="color:#f1fa8c">&amp;#34;content.execution.trigger.type&amp;#34;&lt;/span>,&lt;span style="color:#f1fa8c">&amp;#34;content.execution.authentication.user&amp;#34;&lt;/span> as status,application,logType,pipeline, triggerType, user nodrop
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>| where logType = &lt;span style="color:#f1fa8c">&amp;#34;orca:pipeline:starting&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>| timeslice by &lt;span style="color:#bd93f9">1&lt;/span>d
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>| count by _timeslice, pipeline
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>| transpose row _timeslice column pipeline
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="collect-logs-for-spinnaker">Collect logs for Spinnaker&lt;/h2>
&lt;h3 id="collection-process-overview">Collection process overview&lt;/h3>
&lt;p>Note: This assumes you have already installed Spinnaker and have access to the configuration files to make changes to Spinnaker.&lt;/p>
&lt;h3 id="collection-step-1-retrieve-sumologic-url-for-http-logs">Collection Step 1: Retrieve SumoLogic URL for HTTP logs**&lt;/h3>
&lt;p>Configure an HTTP Source. And get a copy of the endpoint URL from your SumoLogic console.&lt;/p>
&lt;h3 id="collection-step-2-modify-spinnaker-configuration-to-export-logs-to-sumologic">Collection Step 2: Modify Spinnaker configuration to export logs to SumoLogic**&lt;/h3>
&lt;p>Add to the &lt;code>SpinnakerService&lt;/code> manifest the following snippet:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-yaml" data-lang="yaml">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#ff79c6">apiVersion&lt;/span>: spinnaker.armory.io/v1alpha2
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#ff79c6">kind&lt;/span>: SpinnakerService
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#ff79c6">metadata&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">name&lt;/span>: spinnaker
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#ff79c6">spec&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">spinnakerConfig&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">profiles&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">echo&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">rest&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">enabled&lt;/span>: &lt;span style="color:#ff79c6">true&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">endpoints&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> - &lt;span style="color:#ff79c6">wrap&lt;/span>: &lt;span style="color:#ff79c6">false&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">url&lt;/span>: [insert your custom HTTP endpoint] &lt;span style="color:#6272a4">#e.g. https://endpoint1.collection.us1.sumologic.com/...&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="collection-step-3-apply-changes">Collection Step 3: Apply changes**&lt;/h3>
&lt;p>Run &lt;code>kubectl -n &amp;lt;spinnaker namespace&amp;gt; apply -f &amp;lt;SpinnakerService manifest&amp;gt;&lt;/code>, and wait for the services to restart. Check SumoLogic console for ingestion of data.&lt;/p>
&lt;h2 id="install-the-spinnaker-app-and-view-the-dashboards">Install the Spinnaker app and view the Dashboards&lt;/h2>
&lt;p>Go to Sumo Logic App Catalog and search for &amp;ldquo;Spinnaker&amp;rdquo; by Armory.&lt;/p>
&lt;h3 id="dashboard-filters">Dashboard filters&lt;/h3>
&lt;p>The Spinnaker Pipelines dashboard has a set of filters that you can apply to the entire dashboard as shown in the following example. Click the funnel icon in the top dashboard menu bar to display a scrollable list of filters that are applied across the entire dashboard.&lt;/p>
&lt;p>NOTE: You can use filters to drill down and examine the data on a granular level by application and pipeline.
&lt;figure>
&lt;img src="/images/sumologic-dashboard-filter.png"
alt="GlobalDashboardFilter"/>
&lt;/figure>
Each panel has a set of filters that are applied to the results for that panel only, as shown in the following example. Click the funnel icon in the top panel menu bar to display a list of panel-specific filters.&lt;/p>
&lt;figure>
&lt;img src="/images/sumologic-dashboard-filter2.png"
alt="DashboardFilter"/>
&lt;/figure>
&lt;h3 id="spinnaker-overview-dashboard">Spinnaker Overview dashboard&lt;/h3>
&lt;p>The Spinnaker Overview provides the health and usage of your Spinnaker instance at a quick glance, including applications deployed, clusters targeted, pipelines run, and users in spinnaker.
Use this dashboard to:&lt;/p>
&lt;ul>
&lt;li>Quickly see number of active apps, clusters, pipelines, and users.&lt;/li>
&lt;li>See activity levels apps, clusters, pipelines and users&lt;/li>
&lt;/ul>
&lt;figure>
&lt;img src="/images/sumologic-dashboard-overview.png"
alt="SpinnakerOverviewDashboard"/>
&lt;/figure>
&lt;h3 id="spinnaker-pipelines-dashboard">Spinnaker Pipelines dashboard&lt;/h3>
&lt;p>This is a dashboard that contains pipeline execution history and metrics, including most common errors.
Use this dashboard to:&lt;/p>
&lt;ul>
&lt;li>See pipeline execution history and compare the last 14 days to the 14 days that preceded them&lt;/li>
&lt;li>Understand which pipelines are executing and how often&lt;/li>
&lt;li>See which stages/tasks are failing most often&lt;/li>
&lt;li>Uncover the most common errors in your pipelines&lt;/li>
&lt;li>See how many pipelines have failed and completed over time&lt;/li>
&lt;/ul>
&lt;figure>
&lt;img src="/images/sumologic-dashboard-pipelines.png"
alt="SpinnakerPipelinesDashboard"/>
&lt;/figure>
&lt;h3 id="spinnaker-user-activity-dashboard">Spinnaker User Activity dashboard&lt;/h3>
&lt;p>This is a dashboard that contains user activity, manual judgments, rollbacks, canary, and trigger metrics.
Use this dashboard to:&lt;/p>
&lt;ul>
&lt;li>See how many manual judgments, rollbacks, and canaries have occurred over time&lt;/li>
&lt;li>See which users are most active and usage trends over time&lt;/li>
&lt;li>Understand how pipelines are getting triggered&lt;/li>
&lt;/ul>
&lt;figure>
&lt;img src="/images/sumologic-dashboard-useractivity.png"
alt="SpinnakerPipelinesDashboard"/>
&lt;/figure>
&lt;h2 id="sumo-logic-collector-limitations">Sumo Logic collector limitations&lt;/h2>
&lt;p>Log messages greater than 64kb get truncated by the Sumo Logic collector. This means that there are potential events that are dropped and not displayed in the dashboards. Long pipelines composed of many stages or triggered by other pipelines can make messages longer.&lt;/p></description></item><item><title>Continuous-Deployment: Monitor Armory Continuous Deployment with Prometheus</title><link>/continuous-deployment/armory-admin/observe/prometheus-monitoring/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/continuous-deployment/armory-admin/observe/prometheus-monitoring/</guid><description>
&lt;h2 id="overview">Overview&lt;/h2>
&lt;p>Armory recommends monitoring the health of Armory Continuous Deployment in every
production instance. This document describes how to set up a basic
&lt;a href="https://prometheus.io/">Prometheus&lt;/a> and &lt;a href="https://grafana.com/">Grafana&lt;/a> stack
as well as enable monitoring for the Armory Continuous Deployment services.&lt;/p>
&lt;p>Additional Prometheus and Grafana configuration is necessary to make them
production-grade, and this configuration is not a part of this document. Also
note that monitoring the Pipelines-as-Code service (Dinghy) and the Terraform
Integration service (Terraformer) are not discussed on this page.&lt;/p>
&lt;h2 id="before-you-begin">Before you begin&lt;/h2>
&lt;ul>
&lt;li>You are familiar with Prometheus and Grafana&lt;/li>
&lt;li>Armory Continuous Deployment is deployed in the &lt;code>spinnaker&lt;/code> namespace&lt;/li>
&lt;li>Prometheus and Grafana are deployed in the &lt;code>monitoring&lt;/code> namespace&lt;/li>
&lt;li>You have &lt;a href="/continuous-deployment/armory-admin/observe/observability-configure/">configured monitoring using the Observability Plugin&lt;/a>.&lt;/li>
&lt;/ul>
&lt;h2 id="use-kube-prometheus-to-create-a-monitoring-stack">Use &lt;code>kube-prometheus&lt;/code> to create a monitoring stack&lt;/h2>
&lt;p>You can skip this section if you already have a monitoring stack.&lt;/p>
&lt;p>A quick and easy way to configure a cluster monitoring solution is to use &lt;code>kube-prometheus&lt;/code>. This project creates a monitoring stack that includes cluster monitoring with Prometheus and dashboards with Grafana.&lt;/p>
&lt;p>To create the stack, follow the &lt;a href="https://github.com/coreos/kube-prometheus#kubernetes-compatibility-matrix">kube-prometheus quick start&lt;/a> instructions beginning with the &lt;em>Compatibility Matrix&lt;/em> section.&lt;/p>
&lt;p>After you complete the instructions, you have pods running in the &lt;code>monitoring&lt;/code> namespace:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>% kubectl get pods --namespace monitoring
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>NAME READY STATUS RESTARTS AGE
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>alertmanager-main-0 2/2 Running &lt;span style="color:#bd93f9">0&lt;/span> 44s
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>alertmanager-main-1 2/2 Running &lt;span style="color:#bd93f9">0&lt;/span> 44s
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>alertmanager-main-2 2/2 Running &lt;span style="color:#bd93f9">0&lt;/span> 44s
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>grafana-77978cbbdc-x5rsq 1/1 Running &lt;span style="color:#bd93f9">0&lt;/span> 40s
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>kube-state-metrics-7f6d7b46b4-crzx2 3/3 Running &lt;span style="color:#bd93f9">0&lt;/span> 40s
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>node-exporter-nrc88 2/2 Running &lt;span style="color:#bd93f9">0&lt;/span> 41s
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>prometheus-adapter-68698bc948-bl7p8 1/1 Running &lt;span style="color:#bd93f9">0&lt;/span> 40s
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>prometheus-k8s-0 3/3 Running &lt;span style="color:#bd93f9">1&lt;/span> 39s
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>prometheus-k8s-1 3/3 Running &lt;span style="color:#bd93f9">1&lt;/span> 39s
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>prometheus-operator-6685db5c6-qfpbj 1/1 Running &lt;span style="color:#bd93f9">0&lt;/span> 106s
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Access the Prometheus web interface by using the &lt;code>kubectl port-forward&lt;/code> command. If you want to expose this interface for others to use, create an ingress service. Make sure you nable security controls that follow Prometheus best practices.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>% kubectl --namespace monitoring port-forward svc/prometheus-k8s &lt;span style="color:#bd93f9">9090&lt;/span> &amp;amp;
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Navigate to &lt;code>http://localhost:9090/targets&lt;/code>.&lt;/p>
&lt;h2 id="grant-prometheus-rbac-permissions">Grant Prometheus RBAC permissions&lt;/h2>
&lt;p>There are two steps to configure Prometheus to monitor Armory Continuous Deployment:&lt;/p>
&lt;ul>
&lt;li>Add permissions for Prometheus to talk to the Spinnaker namespace&lt;/li>
&lt;li>Configure Prometheus to discover the Armory Continuous Deployment endpoints&lt;/li>
&lt;/ul>
&lt;p>Add permissions for Prometheus by applying the following configuration to your cluster. You can learn more about this process on the
&lt;a href="https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/rbac.md">Prometheus Operator homepage&lt;/a>.&lt;/p>
&lt;p>Example config:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-yaml" data-lang="yaml">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#ff79c6">apiVersion&lt;/span>: rbac.authorization.k8s.io/v1beta1
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#ff79c6">kind&lt;/span>: ClusterRoleBinding
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#ff79c6">metadata&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#6272a4"># name can be either prometheus or prometheus-k8s depending on the version of the prometheus-operator&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">name&lt;/span>: prometheus
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#ff79c6">roleRef&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">apiGroup&lt;/span>: rbac.authorization.k8s.io
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">kind&lt;/span>: ClusterRole
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#6272a4"># name can be either prometheus or prometheus-k8s depending on the version of the prometheus-operator&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">name&lt;/span>: prometheus
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#ff79c6">subjects&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> - &lt;span style="color:#ff79c6">kind&lt;/span>: ServiceAccount
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#6272a4"># name can be either prometheus or prometheus-k8s depending on the version of the prometheus-operator&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">name&lt;/span>: prometheus-k8s
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">namespace&lt;/span>: monitoring
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>---
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#ff79c6">apiVersion&lt;/span>: rbac.authorization.k8s.io/v1beta1
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#ff79c6">kind&lt;/span>: ClusterRole
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#ff79c6">metadata&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#6272a4"># name can be either prometheus or prometheus-k8s depending on the version of the prometheus-operator&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">name&lt;/span>: prometheus
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#ff79c6">rules&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>- &lt;span style="color:#ff79c6">apiGroups&lt;/span>: [&lt;span style="color:#f1fa8c">&amp;#34;&amp;#34;&lt;/span>]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">resources&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> - nodes
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> - nodes/metrics
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> - services
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> - endpoints
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> - pods
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">verbs&lt;/span>: [&lt;span style="color:#f1fa8c">&amp;#34;get&amp;#34;&lt;/span>, &lt;span style="color:#f1fa8c">&amp;#34;list&amp;#34;&lt;/span>, &lt;span style="color:#f1fa8c">&amp;#34;watch&amp;#34;&lt;/span>]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>- &lt;span style="color:#ff79c6">apiGroups&lt;/span>: [&lt;span style="color:#f1fa8c">&amp;#34;&amp;#34;&lt;/span>]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">resources&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> - configmaps
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">verbs&lt;/span>: [&lt;span style="color:#f1fa8c">&amp;#34;get&amp;#34;&lt;/span>]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>- &lt;span style="color:#ff79c6">nonResourceURLs&lt;/span>: [&lt;span style="color:#f1fa8c">&amp;#34;/metrics&amp;#34;&lt;/span>]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">verbs&lt;/span>: [&lt;span style="color:#f1fa8c">&amp;#34;get&amp;#34;&lt;/span>]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>---
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#ff79c6">apiVersion&lt;/span>: v1
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#ff79c6">kind&lt;/span>: ServiceAccount
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#ff79c6">metadata&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">namespace&lt;/span>: monitoring
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#6272a4"># name can be either prometheus or prometheus-k8s depending on the version of the prometheus-operator&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">name&lt;/span>: prometheus-k8s
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="add-the-servicemonitor">Add the ServiceMonitor&lt;/h3>
&lt;p>Prometheus Operator uses a &amp;ldquo;ServiceMonitor&amp;rdquo; to add targets that get scraped for monitoring. The following example config shows how to monitor pods that are using the Observability Plugin to expose the &lt;code>aop-prometheus&lt;/code> endpoint. Note that the example contains both the exclusion of certain services (such as Redis) and changes to the Gate endpoint to show you different options.&lt;/p>
&lt;p>These are examples of potential configurations. Use them as a starting point. Armory recommends that you understand how they operate and find services. Adapt them to your environment.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-yaml" data-lang="yaml">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#ff79c6">apiVersion&lt;/span>: monitoring.coreos.com/v1
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#ff79c6">kind&lt;/span>: ServiceMonitor
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#ff79c6">metadata&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">labels&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">app&lt;/span>: spin
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#6272a4"># This label is here to match the prometheus operator serviceMonitorSelector attribute&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#6272a4"># prometheus.prometheusSpec.serviceMonitorSelector. For more information, see&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#6272a4"># https://github.com/helm/charts/tree/master/stable/prometheus-operator&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">release&lt;/span>: prometheus-operator
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">name&lt;/span>: spinnaker-all-metrics
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">namespace&lt;/span>: spinnaker
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#ff79c6">spec&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">endpoints&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> - &lt;span style="color:#ff79c6">interval&lt;/span>: 10s
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">path&lt;/span>: /aop-prometheus
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">selector&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">matchExpressions&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> - &lt;span style="color:#ff79c6">key&lt;/span>: cluster
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">operator&lt;/span>: NotIn
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">values&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> - spin-gate
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> - spin-gate-api
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> - spin-gate-custom
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> - spin-deck
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> - spin-deck-custom
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> - spin-redis
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> - spin-terraformer
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> - spin-dinghy
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">matchLabels&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">app&lt;/span>: spin
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>The example excludes Gate, the API service since Gate restricts access to the endpoints unless authenticated (excluding health).&lt;/p>
&lt;p>The following example is for a service monitor for Gate on a different path and using TLS.&lt;/p>
&lt;p>Once these are applied, you can port forward prometheus and validate that prometheus
has discovered and scraped targets as appropriate.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-yaml" data-lang="yaml">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#ff79c6">apiVersion&lt;/span>: monitoring.coreos.com/v1
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#ff79c6">kind&lt;/span>: ServiceMonitor
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#ff79c6">metadata&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">name&lt;/span>: spinnaker-internal-metrics
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">namespace&lt;/span>: spinnaker
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">labels&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">app&lt;/span>: spin
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#6272a4"># This label is here to match the prometheus operator serviceMonitorSelector attribute&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#6272a4"># prometheus.prometheusSpec.serviceMonitorSelector&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#6272a4"># https://github.com/helm/charts/tree/master/stable/prometheus-operator&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">release&lt;/span>: prometheus-operator
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#ff79c6">spec&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">selector&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">matchLabels&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">cluster&lt;/span>: spin-gate
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">endpoints&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> - &lt;span style="color:#ff79c6">interval&lt;/span>: 10s
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">path&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;/api/v1/aop-prometheus&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#6272a4"># If Prometheus returns the error &amp;#34;http: server gave HTTP response to HTTPS client&amp;#34; then&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#6272a4"># replace scheme with targetPort:&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#6272a4"># Note that &amp;#34;port&amp;#34; is string only. &amp;#34;targetPort&amp;#34; is integer or string.&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#6272a4"># For example, targetPort: 8084&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">scheme&lt;/span>: &lt;span style="color:#f1fa8c">&amp;#34;https&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">tlsConfig&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ff79c6">insecureSkipVerify&lt;/span>: &lt;span style="color:#ff79c6">true&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="check-for-armory-continuous-deployment-targets-in-prometheus">Check for Armory Continuous Deployment targets in Prometheus&lt;/h2>
&lt;p>After applying these changes, you should be able to see Armory Continuous Deployment targets in Prometheus. It may take 3 to 5 minutes for this to show up depending on where Prometheus is in its config polling interval.&lt;/p>
&lt;figure>
&lt;img src="/images/prometheus-2.png"
alt="Prometheus Targets"/>
&lt;/figure>
&lt;h2 id="access-grafana">Access Grafana&lt;/h2>
&lt;p>Configure port forwarding for Grafana:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>$ kubectl --namespace monitoring port-forward svc/grafana &lt;span style="color:#bd93f9">3000&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Access the Grafana web interface via http://localhost:3000 and use the default Grafana username and password of &lt;code>admin:admin&lt;/code>.&lt;/p>
&lt;h2 id="add-armory-dashboards-to-grafana">Add Armory dashboards to Grafana&lt;/h2>
&lt;p>Armory provides some sample dashboards (in JSON format) that you can import into Grafana as a starting point for metrics to graph for monitoring. Armory has additional dashboards that are available to Armory customers. You can skip this section if you are a Grafana expert.&lt;/p>
&lt;p>To import the sample dashboards, perform the following steps:&lt;/p>
&lt;ol>
&lt;li>Git clone this repo to your local workstation: (&lt;a href="https://github.com/uneeq-oss/spinnaker-mixin">https://github.com/uneeq-oss/spinnaker-mixin&lt;/a>)&lt;/li>
&lt;li>Access the Grafana web interface (as shown above)&lt;/li>
&lt;li>Navigate to Dashboards then Manage&lt;/li>
&lt;li>Click on the &lt;em>Import&lt;/em> button&lt;/li>
&lt;li>Upload the one or more of the sample dashboard files from the repo you cloned&lt;/li>
&lt;/ol>
&lt;p>After importing the dashboards, you can explore graphs for each service by clicking on &lt;strong>Dashboards &amp;gt; Manage &amp;gt; Spinnaker Kubernetes Details&lt;/strong>.&lt;/p>
&lt;figure>
&lt;img src="/images/grafana-2.png"
alt="Grafana Dashboard"/>
&lt;/figure>
&lt;h2 id="available-metrics-by-service">Available metrics by service&lt;/h2>
&lt;blockquote>
&lt;p>Disclaimer: the following tables may not contain every available metric for each service.&lt;/p>
&lt;/blockquote>
&lt;h3 id="clouddriver">Clouddriver&lt;/h3>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Metric Name&lt;/th>
&lt;th>Base Unit&lt;/th>
&lt;th>Description&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>amazonClientProvider_rateLimitDelayMillis&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>authorization&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>aws_request_clientExecuteTime&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>aws_request_credentialsRequestTime&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>aws_request_httpClientReceiveResponseTime&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>aws_request_httpClientSendRequestTime&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>aws_request_httpRequestTime&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>aws_request_requestCount&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>aws_request_requestMarshallTime&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>aws_request_requestSigningTime&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>aws_request_responseProcessingTime&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>aws_request_retryPauseTime&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>aws_request_throttling&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>awsSdkClientSupplier_averageLoadPenalty&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>awsSdkClientSupplier_hitCount&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>awsSdkClientSupplier_loadExceptionCount&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>awsSdkClientSupplier_missRate&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>cats_sqlCache_evict_deleteOperations&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>cats_sqlCache_evict_itemCount&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>cats_sqlCache_evict_itemsDeleted&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>cats_sqlCache_get_itemCount&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>cats_sqlCache_get_relationshipsRequested&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>cats_sqlCache_get_requestedSize&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>cats_sqlCache_get_selectOperations&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>cats_sqlCache_merge_deleteOperations&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>cats_sqlCache_merge_itemCount&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>cats_sqlCache_merge_itemsStored&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>cats_sqlCache_merge_relationshipCount&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>cats_sqlCache_merge_relationshipsStored&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>cats_sqlCache_merge_selectOperations&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>cats_sqlCache_merge_writeOperations&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>cf_okhttp_requests&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>Timer of OkHttp operation&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>controller_invocations&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>controller_invocations_contentLength&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>controller_invocations_contentLength_summary&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>executionTime&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>health_kubernetes_errors&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>http_server_requests&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_buffer_count&lt;/td>
&lt;td>buffers&lt;/td>
&lt;td>An estimate of the number of buffers in the pool&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_gc_pause&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>Time spent in GC pause&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_memory_committed&lt;/td>
&lt;td>bytes&lt;/td>
&lt;td>The amount of memory in bytes that is committed for the Java virtual machine to use&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_memory_max&lt;/td>
&lt;td>bytes&lt;/td>
&lt;td>The maximum amount of memory in bytes that can be used for memory management&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_threads_daemon&lt;/td>
&lt;td>threads&lt;/td>
&lt;td>The current number of live daemon threads&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_threads_peak&lt;/td>
&lt;td>threads&lt;/td>
&lt;td>The peak live thread count since the Java virtual machine started or peak was reset&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_threads_states&lt;/td>
&lt;td>threads&lt;/td>
&lt;td>The current number of threads having BLOCKED state&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>kubernetes_api&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>logback_events&lt;/td>
&lt;td>events&lt;/td>
&lt;td>Number of debug level events that made it to the logs&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>onDemand_cache&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>onDemand_count&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>onDemand_error&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>onDemand_evict&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>onDemand_read&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>onDemand_store&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>onDemand_total&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>onDemand_transform&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>operations&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>orchestrations&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>process_files_max&lt;/td>
&lt;td>files&lt;/td>
&lt;td>The maximum file descriptor count&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>reservedInstances_surplusByAccountClassic&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>reservedInstances_surplusByAccountVpc&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>reservedInstances_surplusOverall&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>resilience4j_retry_calls&lt;/td>
&lt;td>&lt;/td>
&lt;td>The number of failed calls after a retry attempt&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>sql_cacheCleanupAgent_dataTypeCleanupDuration&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>sql_cacheCleanupAgent_dataTypeRecordsDeleted&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>sql_healthProvider_invocations&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>sql_taskCleanupAgent_deleted&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>sql_taskCleanupAgent_timing&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>system_load_average_1m&lt;/td>
&lt;td>&lt;/td>
&lt;td>The sum of the number of runnable entities queued to available processors and the number of runnable entities running on the available processors averaged over a period of time&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>tasks&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>tasks&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>tomcat_sessions_active_current&lt;/td>
&lt;td>sessions&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>tomcat_sessions_expired&lt;/td>
&lt;td>sessions&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>tomcat_sessions_rejected&lt;/td>
&lt;td>sessions&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h3 id="echo">Echo&lt;/h3>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Metric Name&lt;/th>
&lt;th>Base Unit&lt;/th>
&lt;th>Description&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>aws_request_httpClientGetConnectionTime&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>controller_invocations&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>controller_invocations_contentLength&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>controller_invocations_contentLength_summary&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>echo_events_processed&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>echo_triggers_sync_executionTimeMillis&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>fiat_enabled&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>fiat_getPermission&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>fiat_legacyFallback_enabled&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>fiat_permissionsCache_evictions&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>fiat_permissionsCache_evictions-weight&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>fiat_permissionsCache_hits&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>fiat_permissionsCache_loads&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>fiat_permissionsCache_loads-failure&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>fiat_permissionsCache_loads-success&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>fiat_permissionsCache_misses&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>front50_lastPoll&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>front50_requests&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>http_server_requests&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_buffer_count&lt;/td>
&lt;td>buffers&lt;/td>
&lt;td>An estimate of the number of buffers in the pool&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_buffer_memory_used&lt;/td>
&lt;td>bytes&lt;/td>
&lt;td>An estimate of the memory that the Java virtual machine is using for this buffer pool&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_buffer_total_capacity&lt;/td>
&lt;td>bytes&lt;/td>
&lt;td>An estimate of the total capacity of the buffers in this pool&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_classes_loaded&lt;/td>
&lt;td>classes&lt;/td>
&lt;td>The number of classes that are currently loaded in the Java virtual machine&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_classes_unloaded&lt;/td>
&lt;td>classes&lt;/td>
&lt;td>The total number of classes unloaded since the Java virtual machine has started execution&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_gc_allocationRate&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_gc_live_data_size&lt;/td>
&lt;td>bytes&lt;/td>
&lt;td>Size of old generation memory pool after a full GC&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_gc_liveDataSize&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_gc_max_data_size&lt;/td>
&lt;td>bytes&lt;/td>
&lt;td>Max size of old generation memory pool&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_gc_maxDataSize&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_gc_memory_allocated&lt;/td>
&lt;td>bytes&lt;/td>
&lt;td>Incremented for an increase in the size of the young generation memory pool after one GC to before the next&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_gc_memory_promoted&lt;/td>
&lt;td>bytes&lt;/td>
&lt;td>Count of positive increases in the size of the old generation memory pool before GC to after GC&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_gc_pause&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>Time spent in GC pause&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_gc_promotionRate&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_memory_committed&lt;/td>
&lt;td>bytes&lt;/td>
&lt;td>The amount of memory in bytes that is committed for the Java virtual machine to use&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_memory_max&lt;/td>
&lt;td>bytes&lt;/td>
&lt;td>The maximum amount of memory in bytes that can be used for memory management&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_memory_used&lt;/td>
&lt;td>bytes&lt;/td>
&lt;td>The amount of used memory&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_threads_daemon&lt;/td>
&lt;td>threads&lt;/td>
&lt;td>The current number of live daemon threads&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_threads_live&lt;/td>
&lt;td>threads&lt;/td>
&lt;td>The current number of live threads including both daemon and non-daemon threads&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_threads_peak&lt;/td>
&lt;td>threads&lt;/td>
&lt;td>The peak live thread count since the Java virtual machine started or peak was reset&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_threads_states&lt;/td>
&lt;td>threads&lt;/td>
&lt;td>The current number of threads having NEW state&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>logback_events&lt;/td>
&lt;td>events&lt;/td>
&lt;td>Number of info level events that made it to the logs&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>okhttp_requests&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>orca_requests&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>orca_trigger_success&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>pipelines_triggered&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>process_cpu_usage&lt;/td>
&lt;td>&lt;/td>
&lt;td>The recent cpu usage for the Java Virtual Machine process&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>process_files_max&lt;/td>
&lt;td>files&lt;/td>
&lt;td>The maximum file descriptor count&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>process_files_open&lt;/td>
&lt;td>files&lt;/td>
&lt;td>The open file descriptor count&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>process_start_time&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>Start time of the process since unix epoch_&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>process_uptime&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>The uptime of the Java virtual machine&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>quietPeriod_tests&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>resilience4j_circuitbreaker_buffered_calls&lt;/td>
&lt;td>&lt;/td>
&lt;td>The number of buffered failed calls stored in the ring buffer&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>resilience4j_circuitbreaker_calls&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>Total number of calls which failed but the exception was ignored&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>resilience4j_circuitbreaker_failure_rate&lt;/td>
&lt;td>&lt;/td>
&lt;td>The failure rate of the circuit breaker&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>resilience4j_circuitbreaker_slow_call_rate&lt;/td>
&lt;td>&lt;/td>
&lt;td>The slow call of the circuit breaker&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>resilience4j_circuitbreaker_state&lt;/td>
&lt;td>&lt;/td>
&lt;td>The states of the circuit breaker&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>system_cpu_count&lt;/td>
&lt;td>&lt;/td>
&lt;td>The number of processors available to the Java virtual machine&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>system_load_average_1m&lt;/td>
&lt;td>&lt;/td>
&lt;td>The sum of the number of runnable entities queued to available processors and the number of runnable entities running on the available processors averaged over a period of time&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>tomcat_sessions_active_current&lt;/td>
&lt;td>sessions&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>tomcat_sessions_active_max&lt;/td>
&lt;td>sessions&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>tomcat_sessions_alive_max&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>tomcat_sessions_created&lt;/td>
&lt;td>sessions&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>tomcat_sessions_expired&lt;/td>
&lt;td>sessions&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>tomcat_sessions_rejected&lt;/td>
&lt;td>sessions&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h3 id="fiat">Fiat&lt;/h3>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Metric Name&lt;/th>
&lt;th>Base Unit&lt;/th>
&lt;th>Description&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>controller_invocations&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>controller_invocations_contentLength&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>controller_invocations_contentLength_summary&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>fiat_getUserPermission&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>fiat_userRoles_syncAnonymous&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>fiat_userRoles_syncCount&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>fiat_userRoles_syncTime&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>fiat_userRoles_syncUsers&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>http_server_requests&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_buffer_count&lt;/td>
&lt;td>buffers&lt;/td>
&lt;td>An estimate of the number of buffers in the pool&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_buffer_memory_used&lt;/td>
&lt;td>bytes&lt;/td>
&lt;td>An estimate of the memory that the Java virtual machine is using for this buffer pool&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_buffer_total_capacity&lt;/td>
&lt;td>bytes&lt;/td>
&lt;td>An estimate of the total capacity of the buffers in this pool&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_classes_loaded&lt;/td>
&lt;td>classes&lt;/td>
&lt;td>The number of classes that are currently loaded in the Java virtual machine&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_classes_unloaded&lt;/td>
&lt;td>classes&lt;/td>
&lt;td>The total number of classes unloaded since the Java virtual machine has started execution&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_gc_allocationRate&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_gc_live_data_size&lt;/td>
&lt;td>bytes&lt;/td>
&lt;td>Size of old generation memory pool after a full GC&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_gc_liveDataSize&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_gc_max_data_size&lt;/td>
&lt;td>bytes&lt;/td>
&lt;td>Max size of old generation memory pool&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_gc_maxDataSize&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_gc_memory_allocated&lt;/td>
&lt;td>bytes&lt;/td>
&lt;td>Incremented for an increase in the size of the young generation memory pool after one GC to before the next&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_gc_memory_promoted&lt;/td>
&lt;td>bytes&lt;/td>
&lt;td>Count of positive increases in the size of the old generation memory pool before GC to after GC&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_gc_pause&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>Time spent in GC pause&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_gc_promotionRate&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_memory_committed&lt;/td>
&lt;td>bytes&lt;/td>
&lt;td>The amount of memory in bytes that is committed for the Java virtual machine to use&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_memory_max&lt;/td>
&lt;td>bytes&lt;/td>
&lt;td>The maximum amount of memory in bytes that can be used for memory management&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_memory_used&lt;/td>
&lt;td>bytes&lt;/td>
&lt;td>The amount of used memory&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_threads_daemon&lt;/td>
&lt;td>threads&lt;/td>
&lt;td>The current number of live daemon threads&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_threads_live&lt;/td>
&lt;td>threads&lt;/td>
&lt;td>The current number of live threads including both daemon and non-daemon threads&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_threads_peak&lt;/td>
&lt;td>threads&lt;/td>
&lt;td>The peak live thread count since the Java virtual machine started or peak was reset&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_threads_states&lt;/td>
&lt;td>threads&lt;/td>
&lt;td>The current number of threads having TERMINATED state&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>kork_lock_acquire&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>kork_lock_acquire_duration&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>kork_lock_heartbeat&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>kork_lock_release&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>logback_events&lt;/td>
&lt;td>events&lt;/td>
&lt;td>Number of debug level events that made it to the logs&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>okhttp_requests&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>permissionsRepository_get1_invocations&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>permissionsRepository_get1_timing&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>permissionsRepository_getAllById_invocations&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>permissionsRepository_getAllById_timing&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>permissionsRepository_put1_invocations&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>permissionsRepository_put1_timing&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>permissionsRepository_putAllById1_invocations&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>permissionsRepository_putAllById1_timing&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>process_cpu_usage&lt;/td>
&lt;td>&lt;/td>
&lt;td>The recent cpu usage for the Java Virtual Machine process&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>process_files_max&lt;/td>
&lt;td>files&lt;/td>
&lt;td>The maximum file descriptor count&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>process_files_open&lt;/td>
&lt;td>files&lt;/td>
&lt;td>The open file descriptor count&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>process_start_time&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>Start time of the process since unix epoch_&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>process_uptime&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>The uptime of the Java virtual machine&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>redis_command_invocation_del&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>redis_command_invocation_eval&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>redis_command_invocation_get&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>redis_command_invocation_hgetAll&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>redis_command_invocation_hmset&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>redis_command_invocation_hscan&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>redis_command_invocation_pipelined&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>redis_command_invocation_rename&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>redis_command_invocation_sadd&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>redis_command_invocation_set&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>redis_command_invocation_sismember&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>redis_command_invocation_srem&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>redis_command_invocation_sscan&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>redis_command_invocation_time&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>redis_command_latency_del&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>redis_command_latency_eval&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>redis_command_latency_get&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>redis_command_latency_get&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>redis_command_latency_hgetAll&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>redis_command_latency_hmset&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>redis_command_latency_hscan&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>redis_command_latency_pipelined&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>redis_command_latency_rename&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>redis_command_latency_sadd&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>redis_command_latency_set&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>redis_command_latency_sismember&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>redis_command_latency_srem&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>redis_command_latency_sscan&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>redis_command_latency_time&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>redis_command_payloadSize_eval&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>redis_command_payloadSize_eval_summary&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>redis_command_payloadSize_sadd&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>redis_command_payloadSize_sadd_summary&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>redis_command_payloadSize_set&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>redis_command_payloadSize_set_summary&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>resilience4j_circuitbreaker_buffered_calls&lt;/td>
&lt;td>&lt;/td>
&lt;td>The number of buffered failed calls stored in the ring buffer&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>resilience4j_circuitbreaker_calls&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>resilience4j_circuitbreaker_failure_rate&lt;/td>
&lt;td>&lt;/td>
&lt;td>The failure rate of the circuit breaker&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>resilience4j_circuitbreaker_slow_call_rate&lt;/td>
&lt;td>&lt;/td>
&lt;td>The slow call of the circuit breaker&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>resilience4j_circuitbreaker_state&lt;/td>
&lt;td>&lt;/td>
&lt;td>The states of the circuit breaker&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>resilience4j_retry_calls&lt;/td>
&lt;td>&lt;/td>
&lt;td>The number of failed calls after a retry attempt&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>system_cpu_count&lt;/td>
&lt;td>&lt;/td>
&lt;td>The number of processors available to the Java virtual machine&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>system_cpu_usage&lt;/td>
&lt;td>&lt;/td>
&lt;td>The recent cpu usage for the whole system&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>system_load_average_1m&lt;/td>
&lt;td>&lt;/td>
&lt;td>The sum of the number of runnable entities queued to available processors and the number of runnable entities running on the available processors averaged over a period of time&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>tomcat_sessions_active_current&lt;/td>
&lt;td>sessions&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>tomcat_sessions_active_max&lt;/td>
&lt;td>sessions&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>tomcat_sessions_alive_max&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>tomcat_sessions_created&lt;/td>
&lt;td>sessions&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>tomcat_sessions_expired&lt;/td>
&lt;td>sessions&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>tomcat_sessions_rejected&lt;/td>
&lt;td>sessions&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h3 id="front50">Front50&lt;/h3>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Metric Name&lt;/th>
&lt;th>Base Unit&lt;/th>
&lt;th>Description&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>aws_request_clientExecuteTime&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>aws_request_credentialsRequestTime&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>aws_request_httpClientGetConnectionTime&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>aws_request_httpClientReceiveResponseTime&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>aws_request_httpClientSendRequestTime&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>aws_request_httpRequestTime&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>aws_request_requestCount&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>aws_request_requestSigningTime&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>aws_request_responseProcessingTime&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>aws_request_retryPauseTime&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>controller_invocations&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>controller_invocations_contentLength&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>controller_invocations_contentLength_summary&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>fiat_enabled&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>fiat_getPermission&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>fiat_legacyFallback_enabled&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>fiat_permissionsCache_evictions&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>fiat_permissionsCache_evictions-weight&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>fiat_permissionsCache_hits&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>fiat_permissionsCache_loads&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>fiat_permissionsCache_loads-failure&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>fiat_permissionsCache_loads-success&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>fiat_permissionsCache_misses&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>http_server_requests&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_buffer_count&lt;/td>
&lt;td>buffers&lt;/td>
&lt;td>An estimate of the number of buffers in the pool&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_buffer_memory_used&lt;/td>
&lt;td>bytes&lt;/td>
&lt;td>An estimate of the memory that the Java virtual machine is using for this buffer pool&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_buffer_total_capacity&lt;/td>
&lt;td>bytes&lt;/td>
&lt;td>An estimate of the total capacity of the buffers in this pool&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_classes_loaded&lt;/td>
&lt;td>classes&lt;/td>
&lt;td>The number of classes that are currently loaded in the Java virtual machine&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_classes_unloaded&lt;/td>
&lt;td>classes&lt;/td>
&lt;td>The total number of classes unloaded since the Java virtual machine has started execution&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_gc_allocationRate&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_gc_live_data_size&lt;/td>
&lt;td>bytes&lt;/td>
&lt;td>Size of old generation memory pool after a full GC&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_gc_liveDataSize&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_gc_max_data_size&lt;/td>
&lt;td>bytes&lt;/td>
&lt;td>Max size of old generation memory pool&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_gc_maxDataSize&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_gc_memory_allocated&lt;/td>
&lt;td>bytes&lt;/td>
&lt;td>Incremented for an increase in the size of the young generation memory pool after one GC to before the next&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_gc_memory_promoted&lt;/td>
&lt;td>bytes&lt;/td>
&lt;td>Count of positive increases in the size of the old generation memory pool before GC to after GC&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_gc_pause&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>Time spent in GC pause&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_gc_promotionRate&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_memory_committed&lt;/td>
&lt;td>bytes&lt;/td>
&lt;td>The amount of memory in bytes that is committed for the Java virtual machine to use&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_memory_max&lt;/td>
&lt;td>bytes&lt;/td>
&lt;td>The maximum amount of memory in bytes that can be used for memory management&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_memory_used&lt;/td>
&lt;td>bytes&lt;/td>
&lt;td>The amount of used memory&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_threads_daemon&lt;/td>
&lt;td>threads&lt;/td>
&lt;td>The current number of live daemon threads&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_threads_live&lt;/td>
&lt;td>threads&lt;/td>
&lt;td>The current number of live threads including both daemon and non-daemon threads&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_threads_peak&lt;/td>
&lt;td>threads&lt;/td>
&lt;td>The peak live thread count since the Java virtual machine started or peak was reset&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_threads_states&lt;/td>
&lt;td>threads&lt;/td>
&lt;td>The current number of threads having WAITING state&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>logback_events&lt;/td>
&lt;td>events&lt;/td>
&lt;td>Number of error level events that made it to the logs&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>okhttp_requests&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>process_cpu_usage&lt;/td>
&lt;td>&lt;/td>
&lt;td>The recent cpu usage for the Java Virtual Machine process&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>process_files_max&lt;/td>
&lt;td>files&lt;/td>
&lt;td>The maximum file descriptor count&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>process_files_open&lt;/td>
&lt;td>files&lt;/td>
&lt;td>The open file descriptor count&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>process_start_time&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>Start time of the process since unix epoch_&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>process_uptime&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>The uptime of the Java virtual machine&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>resilience4j_circuitbreaker_buffered_calls&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>resilience4j_circuitbreaker_calls&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>resilience4j_circuitbreaker_failure_rate&lt;/td>
&lt;td>&lt;/td>
&lt;td>The failure rate of the circuit breaker&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>resilience4j_circuitbreaker_slow_call_rate&lt;/td>
&lt;td>&lt;/td>
&lt;td>The slow call of the circuit breaker&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>resilience4j_circuitbreaker_slow_calls&lt;/td>
&lt;td>&lt;/td>
&lt;td>The number of slow failed calls which were slower than a certain threshold&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>resilience4j_circuitbreaker_state&lt;/td>
&lt;td>&lt;/td>
&lt;td>The states of the circuit breaker&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>storageServiceSupport_autoRefreshTime&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>storageServiceSupport_cacheAge&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>storageServiceSupport_cacheRefreshTime&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>storageServiceSupport_cacheSize&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>storageServiceSupport_mismatchedIds&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>storageServiceSupport_numAdded&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>storageServiceSupport_numRemoved&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>storageServiceSupport_numUpdated&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>storageServiceSupport_scheduledRefreshTime&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>system_cpu_count&lt;/td>
&lt;td>&lt;/td>
&lt;td>The number of processors available to the Java virtual machine&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>system_cpu_usage&lt;/td>
&lt;td>&lt;/td>
&lt;td>The recent cpu usage for the whole system&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>system_load_average_1m&lt;/td>
&lt;td>&lt;/td>
&lt;td>The sum of the number of runnable entities queued to available processors and the number of runnable entities running on the available processors averaged over a period of time&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>tomcat_sessions_active_current&lt;/td>
&lt;td>sessions&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>tomcat_sessions_active_max&lt;/td>
&lt;td>sessions&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>tomcat_sessions_alive_max&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>tomcat_sessions_created&lt;/td>
&lt;td>sessions&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>tomcat_sessions_expired&lt;/td>
&lt;td>sessions&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>tomcat_sessions_rejected&lt;/td>
&lt;td>sessions&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h3 id="gate">Gate&lt;/h3>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Metric Name&lt;/th>
&lt;th>Base Unit&lt;/th>
&lt;th>Description&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>controller_invocations&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>controller_invocations_contentLength&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>controller_invocations_contentLength_summary&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>fiat_enabled&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>fiat_getPermission&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>fiat_legacyFallback_enabled&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>fiat_login&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>fiat_permissionsCache_evictions&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>fiat_permissionsCache_evictions-weight&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>fiat_permissionsCache_hits&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>fiat_permissionsCache_loads&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>fiat_permissionsCache_loads-failure&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>fiat_permissionsCache_loads-success&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>fiat_permissionsCache_misses&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>http_server_requests&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>http_server_requests&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>http_server_requests&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_buffer_count&lt;/td>
&lt;td>buffers&lt;/td>
&lt;td>An estimate of the number of buffers in the pool&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_buffer_memory_used&lt;/td>
&lt;td>bytes&lt;/td>
&lt;td>An estimate of the memory that the Java virtual machine is using for this buffer pool&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_buffer_total_capacity&lt;/td>
&lt;td>bytes&lt;/td>
&lt;td>An estimate of the total capacity of the buffers in this pool&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_classes_loaded&lt;/td>
&lt;td>classes&lt;/td>
&lt;td>The number of classes that are currently loaded in the Java virtual machine&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_classes_unloaded&lt;/td>
&lt;td>classes&lt;/td>
&lt;td>The total number of classes unloaded since the Java virtual machine has started execution&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_gc_allocationRate&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_gc_live_data_size&lt;/td>
&lt;td>bytes&lt;/td>
&lt;td>Size of old generation memory pool after a full GC&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_gc_liveDataSize&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_gc_max_data_size&lt;/td>
&lt;td>bytes&lt;/td>
&lt;td>Max size of old generation memory pool&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_gc_maxDataSize&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_gc_memory_allocated&lt;/td>
&lt;td>bytes&lt;/td>
&lt;td>Incremented for an increase in the size of the young generation memory pool after one GC to before the next&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_gc_memory_promoted&lt;/td>
&lt;td>bytes&lt;/td>
&lt;td>Count of positive increases in the size of the old generation memory pool before GC to after GC&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_gc_pause&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>Time spent in GC pause&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_gc_promotionRate&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_memory_committed&lt;/td>
&lt;td>bytes&lt;/td>
&lt;td>The amount of memory in bytes that is committed for the Java virtual machine to use&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_memory_max&lt;/td>
&lt;td>bytes&lt;/td>
&lt;td>The maximum amount of memory in bytes that can be used for memory management&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_memory_used&lt;/td>
&lt;td>bytes&lt;/td>
&lt;td>The amount of used memory&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_threads_daemon&lt;/td>
&lt;td>threads&lt;/td>
&lt;td>The current number of live daemon threads&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_threads_live&lt;/td>
&lt;td>threads&lt;/td>
&lt;td>The current number of live threads including both daemon and non-daemon threads&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_threads_peak&lt;/td>
&lt;td>threads&lt;/td>
&lt;td>The peak live thread count since the Java virtual machine started or peak was reset&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_threads_peak&lt;/td>
&lt;td>threads&lt;/td>
&lt;td>The peak live thread count since the Java virtual machine started or peak was reset&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_threads_states&lt;/td>
&lt;td>threads&lt;/td>
&lt;td>The current number of threads having RUNNABLE state&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>logback_events&lt;/td>
&lt;td>events&lt;/td>
&lt;td>Number of error level events that made it to the logs&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>okhttp_requests&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>plugins_deckAssets_hits&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>plugins_deckCache_downloadDuration&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>plugins_deckCache_hits&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>plugins_deckCache_misses&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>plugins_deckCache_refreshDuration&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>plugins_deckCache_versions&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>process_cpu_usage&lt;/td>
&lt;td>&lt;/td>
&lt;td>The recent cpu usage for the Java Virtual Machine process&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>process_files_max&lt;/td>
&lt;td>files&lt;/td>
&lt;td>The maximum file descriptor count&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>process_files_open&lt;/td>
&lt;td>files&lt;/td>
&lt;td>The open file descriptor count&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>process_start_time&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>Start time of the process since unix epoch_&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>process_uptime&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>The uptime of the Java virtual machine&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>system_cpu_count&lt;/td>
&lt;td>&lt;/td>
&lt;td>The number of processors available to the Java virtual machine&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>system_cpu_usage&lt;/td>
&lt;td>&lt;/td>
&lt;td>The recent cpu usage for the whole system&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>system_load_average_1m&lt;/td>
&lt;td>&lt;/td>
&lt;td>The sum of the number of runnable entities queued to available processors and the number of runnable entities running on the available processors averaged over a period of time&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>tomcat_sessions_active_current&lt;/td>
&lt;td>sessions&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>tomcat_sessions_active_current&lt;/td>
&lt;td>sessions&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>tomcat_sessions_active_max&lt;/td>
&lt;td>sessions&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>tomcat_sessions_alive_max&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>tomcat_sessions_created&lt;/td>
&lt;td>sessions&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>tomcat_sessions_expired&lt;/td>
&lt;td>sessions&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>tomcat_sessions_rejected&lt;/td>
&lt;td>sessions&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h3 id="igor">Igor&lt;/h3>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Metric Name&lt;/th>
&lt;th>Base Unit&lt;/th>
&lt;th>Description&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>controller_invocations&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>controller_invocations_contentLength&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>controller_invocations_contentLength_summary&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>fiat_enabled&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>fiat_getPermission&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>fiat_legacyFallback_enabled&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>fiat_permissionsCache_evictions&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>fiat_permissionsCache_evictions-weight&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>fiat_permissionsCache_hits&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>fiat_permissionsCache_loads&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>fiat_permissionsCache_loads-failure&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>fiat_permissionsCache_loads-success&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>fiat_permissionsCache_misses&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>http_server_requests&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_buffer_count&lt;/td>
&lt;td>buffers&lt;/td>
&lt;td>An estimate of the number of buffers in the pool&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_buffer_memory_used&lt;/td>
&lt;td>bytes&lt;/td>
&lt;td>An estimate of the memory that the Java virtual machine is using for this buffer pool&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_classes_loaded&lt;/td>
&lt;td>classes&lt;/td>
&lt;td>The number of classes that are currently loaded in the Java virtual machine&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_classes_unloaded&lt;/td>
&lt;td>classes&lt;/td>
&lt;td>The total number of classes unloaded since the Java virtual machine has started execution&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_gc_allocationRate&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_gc_live_data_size&lt;/td>
&lt;td>bytes&lt;/td>
&lt;td>Size of old generation memory pool after a full GC&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_gc_liveDataSize&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_gc_max_data_size&lt;/td>
&lt;td>bytes&lt;/td>
&lt;td>Max size of old generation memory pool&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_gc_maxDataSize&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_gc_memory_allocated&lt;/td>
&lt;td>bytes&lt;/td>
&lt;td>Incremented for an increase in the size of the young generation memory pool after one GC to before the next&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_gc_pause&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>Time spent in GC pause&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_gc_promotionRate&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_memory_committed&lt;/td>
&lt;td>bytes&lt;/td>
&lt;td>The amount of memory in bytes that is committed for the Java virtual machine to use&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_memory_max&lt;/td>
&lt;td>bytes&lt;/td>
&lt;td>The maximum amount of memory in bytes that can be used for memory management&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_memory_used&lt;/td>
&lt;td>bytes&lt;/td>
&lt;td>The amount of used memory&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_threads_daemon&lt;/td>
&lt;td>threads&lt;/td>
&lt;td>The current number of live daemon threads&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_threads_live&lt;/td>
&lt;td>threads&lt;/td>
&lt;td>The current number of live threads including both daemon and non-daemon threads&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_threads_peak&lt;/td>
&lt;td>threads&lt;/td>
&lt;td>The peak live thread count since the Java virtual machine started or peak was reset&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_threads_states&lt;/td>
&lt;td>threads&lt;/td>
&lt;td>The current number of threads having NEW state&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>logback_events&lt;/td>
&lt;td>events&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>okhttp_requests&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>pollingMonitor_docker_retrieveImagesByAccount&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>pollingMonitor_jenkins_retrieveProjects&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>pollingMonitor_pollTiming&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>process_cpu_usage&lt;/td>
&lt;td>&lt;/td>
&lt;td>The recent cpu usage for the Java Virtual Machine process&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>process_files_max&lt;/td>
&lt;td>files&lt;/td>
&lt;td>The maximum file descriptor count&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>process_files_open&lt;/td>
&lt;td>files&lt;/td>
&lt;td>The open file descriptor count&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>process_start_time&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>Start time of the process since unix epoch_&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>process_uptime&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>The uptime of the Java virtual machine&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>resilience4j_circuitbreaker_buffered_calls&lt;/td>
&lt;td>&lt;/td>
&lt;td>The number of buffered failed calls stored in the ring buffer&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>resilience4j_circuitbreaker_calls&lt;/td>
&lt;td>&lt;/td>
&lt;td>Total number of not permitted calls&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>resilience4j_circuitbreaker_failure_rate&lt;/td>
&lt;td>&lt;/td>
&lt;td>The failure rate of the circuit breaker&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>resilience4j_circuitbreaker_slow_call_rate&lt;/td>
&lt;td>&lt;/td>
&lt;td>The slow call of the circuit breaker&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>resilience4j_circuitbreaker_state&lt;/td>
&lt;td>&lt;/td>
&lt;td>The states of the circuit breaker&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>system_cpu_count&lt;/td>
&lt;td>&lt;/td>
&lt;td>The number of processors available to the Java virtual machine&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>system_cpu_usage&lt;/td>
&lt;td>&lt;/td>
&lt;td>The recent cpu usage for the whole system&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>system_load_average_1m&lt;/td>
&lt;td>&lt;/td>
&lt;td>The sum of the number of runnable entities queued to available processors and the number of runnable entities running on the available processors averaged over a period of time&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>tomcat_sessions_active_current&lt;/td>
&lt;td>sessions&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>tomcat_sessions_alive_max&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>tomcat_sessions_created&lt;/td>
&lt;td>sessions&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>tomcat_sessions_expired&lt;/td>
&lt;td>sessions&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>tomcat_sessions_rejected&lt;/td>
&lt;td>sessions&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h3 id="kayenta">Kayenta&lt;/h3>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Metric Name&lt;/th>
&lt;th>Base Unit&lt;/th>
&lt;th>Description&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>canary_pipelines_initiated&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>canary_telemetry_query&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>controller_invocations&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>controller_invocations_contentLength&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>controller_invocations_contentLength_summary&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>executions_active&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>executions_completed&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>executions_started&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>http_server_requests&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_gc_allocationRate&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_gc_liveDataSize&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_gc_maxDataSize&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_gc_pause&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_gc_promotionRate&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>okhttp_requests&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>orca_task_result&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>queue_acknowledged_messages&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>queue_depth&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>queue_duplicate_messages&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>queue_last_poll_age&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>queue_last_retry_check_age&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>queue_message_lag&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>queue_orphaned_messages&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>queue_pushed_messages&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>queue_ready_depth&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>queue_unacked_depth&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>redis_command_invocation_exists&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>redis_command_invocation_hdel&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>redis_command_invocation_hget&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>redis_command_invocation_hgetAll&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>redis_command_invocation_hmset&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>redis_command_invocation_hset&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>redis_command_invocation_multi&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>redis_command_invocation_sadd&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>redis_command_invocation_srem&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>redis_command_invocation_zadd&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>redis_command_latency_exists&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>redis_command_latency_exists&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>redis_command_latency_hdel&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>redis_command_latency_hget&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>redis_command_latency_hgetAll&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>redis_command_latency_hmset&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>redis_command_latency_hset&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>redis_command_latency_multi&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>redis_command_latency_sadd&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>redis_command_latency_srem&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>redis_command_latency_zadd&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>redis_command_payloadSize_hmset&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>redis_command_payloadSize_hmset_summary&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>redis_command_payloadSize_hset&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>redis_command_payloadSize_hset_summary&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>redis_command_payloadSize_sadd&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>redis_command_payloadSize_sadd_summary&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>redis_command_payloadSize_srem&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>redis_command_payloadSize_srem_summary&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>redis_connectionPool_maxIdle&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>redis_connectionPool_minIdle&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>redis_connectionPool_numActive&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>redis_connectionPool_numIdle&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>redis_connectionPool_numWaiters&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>redis_executionRepository_store1_invocations&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>redis_executionRepository_store1_timing&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>redis_executionRepository_storeStage1_invocations&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>redis_executionRepository_storeStage1_timing&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>redis_executionRepository_updateStatus1_invocations&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>redis_executionRepository_updateStatus1_timing&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>retrieveById_redis_executionRepository_invocations&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>retrieveById_redis_executionRepository_timing&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>stage_invocations&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>stage_invocations_duration&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>task_completions_duration&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>task_completions_duration_withType&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>task_invocations_duration&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>task_invocations_duration_withType&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>threadpool_activeCount&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>threadpool_blockingQueueSize&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>threadpool_corePoolSize&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>threadpool_maximumPoolSize&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>threadpool_poolSize&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>tomcat_sessions_active_current&lt;/td>
&lt;td>sessions&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>tomcat_sessions_active_max&lt;/td>
&lt;td>sessions&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>tomcat_sessions_alive_max&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>tomcat_sessions_created&lt;/td>
&lt;td>sessions&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>tomcat_sessions_expired&lt;/td>
&lt;td>sessions&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>tomcat_sessions_rejected&lt;/td>
&lt;td>sessions&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h3 id="orca">Orca&lt;/h3>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Metric Name&lt;/th>
&lt;th>Base Unit&lt;/th>
&lt;th>Description&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>aws_request_httpClientGetConnectionTime&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>controller_invocations&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>controller_invocations_contentLength&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>controller_invocations_contentLength_summary&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>executions_active&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>executions_completed&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>executions_started&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>executions_totalTime&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>fiat_enabled&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>fiat_getPermission&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>fiat_legacyFallback_enabled&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>fiat_permissionsCache_loads&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>fiat_permissionsCache_loads-failure&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>http_server_requests&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jdbc_connections_active&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jdbc_connections_idle&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jdbc_connections_max&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_gc_allocationRate&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_gc_pause&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_gc_promotionRate&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>mpt_requests&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>okhttp_requests&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>orca_task_result&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>queue_acknowledged_messages&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>queue_depth&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>queue_duplicate_messages&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>queue_last_poll_age&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>queue_message_notfound&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>queue_orphaned_messages&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>queue_pushed_messages&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>queue_retried_messages&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>queue_unacked_depth&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>redis_connectionPool_maxIdle&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>redis_connectionPool_numActive&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>redis_connectionPool_numIdle&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>resilience4j_retry_calls&lt;/td>
&lt;td>&lt;/td>
&lt;td>The number of successful calls after a retry attempt&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>retrieveById_sql_executions_invocations&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>retrieveById_sql_executions_timing&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>sql_executions_addStage1_timing&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>sql_executions_cancel4_invocations&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>sql_executions_cancel4_timing&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>sql_executions_countActiveExecutions_invocations&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>sql_executions_countActiveExecutions_timing&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>sql_executions_handlesPartition1_invocations&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>sql_executions_handlesPartition1_timing&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>sql_executions_retrieveByCorrelationId2_timing&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>sql_executions_retrieveOrchestrationsForApplication3_timing&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>sql_executions_store1_timing&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>sql_executions_storeStage1_invocations&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>sql_executions_storeStage1_timing&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>sql_executions_updateStatus1_invocations&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>sql_executions_updateStatus1_timing&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>sql_healthProvider_invocations&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>sql_pool_default_connectionAcquiredTiming&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>sql_queueActivator_invocations&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>stage_invocations&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>stage_invocations_duration&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>task_completions_duration&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>task_completions_duration_withType&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>task_invocations_duration&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>task_invocations_duration_withType&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>tasks_serverGroupCacheForceRefresh&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>threadpool_activeCount&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>threadpool_blockingQueueSize&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>threadpool_corePoolSize&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>threadpool_corePoolSize&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>threadpool_maximumPoolSize&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>threadpool_poolSize&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>tomcat_sessions_active_current&lt;/td>
&lt;td>sessions&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>tomcat_sessions_active_max&lt;/td>
&lt;td>sessions&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>tomcat_sessions_alive_max&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>tomcat_sessions_rejected&lt;/td>
&lt;td>sessions&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h3 id="rosco">Rosco&lt;/h3>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Metric Name&lt;/th>
&lt;th>Base Unit&lt;/th>
&lt;th>Description&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>bakesActive&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>bakesCompleted&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>controller_invocations&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>controller_invocations_contentLength&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>controller_invocations_contentLength_summary&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>http_server_requests&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_buffer_count&lt;/td>
&lt;td>buffers&lt;/td>
&lt;td>An estimate of the number of buffers in the pool&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_buffer_memory_used&lt;/td>
&lt;td>bytes&lt;/td>
&lt;td>An estimate of the memory that the Java virtual machine is using for this buffer pool&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_buffer_total_capacity&lt;/td>
&lt;td>bytes&lt;/td>
&lt;td>An estimate of the total capacity of the buffers in this pool&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_classes_loaded&lt;/td>
&lt;td>classes&lt;/td>
&lt;td>The number of classes that are currently loaded in the Java virtual machine&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_classes_unloaded&lt;/td>
&lt;td>classes&lt;/td>
&lt;td>The total number of classes unloaded since the Java virtual machine has started execution&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_gc_allocationRate&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_gc_live_data_size&lt;/td>
&lt;td>bytes&lt;/td>
&lt;td>Size of old generation memory pool after a full GC&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_gc_liveDataSize&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_gc_max_data_size&lt;/td>
&lt;td>bytes&lt;/td>
&lt;td>Max size of old generation memory pool&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_gc_maxDataSize&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_gc_memory_allocated&lt;/td>
&lt;td>bytes&lt;/td>
&lt;td>Incremented for an increase in the size of the young generation memory pool after one GC to before the next&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_gc_memory_promoted&lt;/td>
&lt;td>bytes&lt;/td>
&lt;td>Count of positive increases in the size of the old generation memory pool before GC to after GC&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_gc_pause&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>Time spent in GC pause&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_gc_promotionRate&lt;/td>
&lt;td>&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_memory_committed&lt;/td>
&lt;td>bytes&lt;/td>
&lt;td>The amount of memory in bytes that is committed for the Java virtual machine to use&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_memory_max&lt;/td>
&lt;td>bytes&lt;/td>
&lt;td>The maximum amount of memory in bytes that can be used for memory management&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_memory_used&lt;/td>
&lt;td>bytes&lt;/td>
&lt;td>The amount of used memory&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_threads_daemon&lt;/td>
&lt;td>threads&lt;/td>
&lt;td>The current number of live daemon threads&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_threads_live&lt;/td>
&lt;td>threads&lt;/td>
&lt;td>The current number of live threads including both daemon and non-daemon threads&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_threads_peak&lt;/td>
&lt;td>threads&lt;/td>
&lt;td>The peak live thread count since the Java virtual machine started or peak was reset&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>jvm_threads_states&lt;/td>
&lt;td>threads&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>logback_events&lt;/td>
&lt;td>events&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>okhttp_requests&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>process_cpu_usage&lt;/td>
&lt;td>&lt;/td>
&lt;td>The recent cpu usage for the Java Virtual Machine process&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>process_files_max&lt;/td>
&lt;td>files&lt;/td>
&lt;td>The maximum file descriptor count&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>process_files_open&lt;/td>
&lt;td>files&lt;/td>
&lt;td>The open file descriptor count&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>process_start_time&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>Start time of the process since unix epoch_&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>process_uptime&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>The uptime of the Java virtual machine&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>system_cpu_count&lt;/td>
&lt;td>&lt;/td>
&lt;td>The number of processors available to the Java virtual machine&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>system_cpu_usage&lt;/td>
&lt;td>&lt;/td>
&lt;td>The recent cpu usage for the whole system&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>system_load_average_1m&lt;/td>
&lt;td>&lt;/td>
&lt;td>The sum of the number of runnable entities queued to available processors and the number of runnable entities running on the available processors averaged over a period of time&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>tomcat_sessions_active_current&lt;/td>
&lt;td>sessions&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>tomcat_sessions_active_max&lt;/td>
&lt;td>sessions&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>tomcat_sessions_alive_max&lt;/td>
&lt;td>milliseconds&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>tomcat_sessions_created&lt;/td>
&lt;td>sessions&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>tomcat_sessions_expired&lt;/td>
&lt;td>sessions&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>tomcat_sessions_rejected&lt;/td>
&lt;td>sessions&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table></description></item></channel></rss>