Merge branch 'master' into howtow3ccontext

This commit is contained in:
Shalabh Mohan Shrivastava 2020-06-08 11:50:23 -07:00 committed by GitHub
commit 707adc2250
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
11 changed files with 1140 additions and 306 deletions

4
FAQ.md
View File

@ -14,11 +14,13 @@ Dapr can be used alongside any service mesh such as Istio and Linkerd. A service
That is where Dapr comes in. Dapr is a language agnostic programming model built on http and gRPC that provides distributed system building blocks via open APIs for asynchronous pub-sub, stateful services, service discovery and invocation, actors and distributed tracing. Dapr introduces new functionality to an apps runtime. Both service meshes and Dapr run as side-car services to your application, one giving network features and the other distributed application capabilities. That is where Dapr comes in. Dapr is a language agnostic programming model built on http and gRPC that provides distributed system building blocks via open APIs for asynchronous pub-sub, stateful services, service discovery and invocation, actors and distributed tracing. Dapr introduces new functionality to an apps runtime. Both service meshes and Dapr run as side-car services to your application, one giving network features and the other distributed application capabilities.
Watch this [video](https://www.youtube.com/watch?v=xxU68ewRmz8&feature=youtu.be&t=140) on how Dapr and service meshes work together.
### Understanding how Dapr interoperates with the service mesh interface (SMI) ### Understanding how Dapr interoperates with the service mesh interface (SMI)
SMI is an abstraction layer that provides a common API surface across different service mesh technology. Dapr can leverage any service mesh technology including SMI. SMI is an abstraction layer that provides a common API surface across different service mesh technology. Dapr can leverage any service mesh technology including SMI.
### Differences between Dapr and Istio ### Differences between Dapr, Istio and Linkerd
Read [How does Dapr work with service meshes?](https://github.com/dapr/dapr/wiki/FAQ#how-does-dapr-work-with-service-meshes) Istio is an open source service mesh implementation that focuses on Layer7 routing, traffic flow management and mTLS authentication between services. Istio uses a sidecar to intercept traffic going into and out of a container and enforces a set of network policies on them. Read [How does Dapr work with service meshes?](https://github.com/dapr/dapr/wiki/FAQ#how-does-dapr-work-with-service-meshes) Istio is an open source service mesh implementation that focuses on Layer7 routing, traffic flow management and mTLS authentication between services. Istio uses a sidecar to intercept traffic going into and out of a container and enforces a set of network policies on them.

View File

@ -75,3 +75,4 @@ scopes:
- app1 - app1
- app2 - app2
``` ```
Watch this [video](https://www.youtube.com/watch?v=8W-iBDNvCUM&feature=youtu.be&t=1765) for an example on how to component scopes with secret components and the secrets API.

View File

@ -6,6 +6,8 @@ Using Pub/Sub, you can enable scenarios where event consumers are decoupled from
Dapr provides an extensible Pub/Sub system with At-Least-Once guarantees, allowing developers to publish and subscribe to topics. Dapr provides an extensible Pub/Sub system with At-Least-Once guarantees, allowing developers to publish and subscribe to topics.
Dapr provides different implementation of the underlying system, and allows operators to bring in their preferred infrastructure, for example Redis Streams, Kafka, etc. Dapr provides different implementation of the underlying system, and allows operators to bring in their preferred infrastructure, for example Redis Streams, Kafka, etc.
Watch this [video](https://www.youtube.com/watch?v=NLWukkHEwGA&feature=youtu.be&t=1052) on how to consume messages from topics.
## Setup the Pub Sub component ## Setup the Pub Sub component
The first step is to setup the Pub/Sub component. The first step is to setup the Pub/Sub component.

View File

@ -18,6 +18,8 @@ The second step is to configure the secret store with Dapr.
Follow the instructions [here](../setup-secret-store) to set up the secret store of your choice. Follow the instructions [here](../setup-secret-store) to set up the secret store of your choice.
Watch this [video](https://www.youtube.com/watch?v=OtbYCBt9C34&feature=youtu.be&t=1818) for an example on how to use the secrets API. Or watch this [video](https://www.youtube.com/watch?v=8W-iBDNvCUM&feature=youtu.be&t=1765) for an example on how to component scopes with secret components and the secrets API.
## Calling the secrets API ## Calling the secrets API
Now that the secret store is set up, you can call Dapr to get the secrets for a given key for a specific secret store. Now that the secret store is set up, you can call Dapr to get the secrets for a given key for a specific secret store.

View File

@ -9,6 +9,8 @@ In addition to this general component scope, the following can be limited for pu
This is called pub/sub topic scoping. This is called pub/sub topic scoping.
Watch this [video](https://www.youtube.com/watch?v=7VdWBBGcbHQ&feature=youtu.be&t=513) on how to use pub/sub topic scoping.
To use this topic scoping, three metadata properties can be set for a pub/sub component: To use this topic scoping, three metadata properties can be set for a pub/sub component:
- ```spec.metadata.publishingScopes```: the list of applications to topic scopes to allow publishing, separated by semicolons. If an app is not specified in ```publishingScopes```, its allowed to publish to all topics. - ```spec.metadata.publishingScopes```: the list of applications to topic scopes to allow publishing, separated by semicolons. If an app is not specified in ```publishingScopes```, its allowed to publish to all topics.
- ```spec.metadata.subscriptionScopes```: the list of applications to topic scopes to allow subscription, separated by semicolons. If an app is not specified in ```subscriptionScopes```, its allowed to subscribe to all topics. - ```spec.metadata.subscriptionScopes```: the list of applications to topic scopes to allow subscription, separated by semicolons. If an app is not specified in ```subscriptionScopes```, its allowed to subscribe to all topics.

View File

@ -3,6 +3,9 @@
Using bindings, its possible to invoke external resources without tying in to special SDK or libraries. Using bindings, its possible to invoke external resources without tying in to special SDK or libraries.
For a complete sample showing output bindings, visit this [link](https://github.com/dapr/samples/tree/master/5.bindings). For a complete sample showing output bindings, visit this [link](https://github.com/dapr/samples/tree/master/5.bindings).
Watch this [video](https://www.youtube.com/watch?v=ysklxm81MTs&feature=youtu.be&t=1960) on how to use bi-directional output bindings.
## 1. Create a binding ## 1. Create a binding
An output binding represents a resource that Dapr will use invoke and send messages to. An output binding represents a resource that Dapr will use invoke and send messages to.

View File

@ -2,6 +2,8 @@
This document shows how to install Prometheus and Grafana to view metrics. This document shows how to install Prometheus and Grafana to view metrics.
Watch this [video](https://www.youtube.com/watch?v=8W-iBDNvCUM&feature=youtu.be&t=2580) for a demonstration of the Grafana metrics dashboard.
## Prerequisites ## Prerequisites
- Kubernetes (> 1.14) - Kubernetes (> 1.14)

View File

@ -11,3 +11,6 @@ You can set up [Prometheus and Grafana](../../howto/setup-monitoring-tools/setup
2. [Dapr Sidecar Dashboard](./grafana/sidecar-dashboard.json) 2. [Dapr Sidecar Dashboard](./grafana/sidecar-dashboard.json)
- [Shows Dapr Sidecar status](./img/sidecar-dashboard.png) - sidecar health/resources, throughput/latency of HTTP and gRPC, Actor, mTLS, etc. - [Shows Dapr Sidecar status](./img/sidecar-dashboard.png) - sidecar health/resources, throughput/latency of HTTP and gRPC, Actor, mTLS, etc.
3. [Dapr Actor Dashboard](./grafana/actor-dashboard.json)
- [Shows Dapr Sidecar status](./img/actor-dashboard.png) - actor invocation throughput/latency, timer/reminder triggers, and turn-based concurrnecy.

View File

@ -0,0 +1,873 @@
{
"__inputs": [
{
"name": "DS_DAPR",
"label": "Dapr",
"description": "",
"type": "datasource",
"pluginId": "prometheus",
"pluginName": "Prometheus"
}
],
"__requires": [
{
"type": "grafana",
"id": "grafana",
"name": "Grafana",
"version": "6.7.3"
},
{
"type": "panel",
"id": "graph",
"name": "Graph",
"version": ""
},
{
"type": "datasource",
"id": "prometheus",
"name": "Prometheus",
"version": "1.0.0"
}
],
"annotations": {
"list": [
{
"$$hashKey": "object:487",
"builtIn": 1,
"datasource": "${DS_DAPR}",
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"limit": 100,
"name": "Annotations & Alerts",
"showIn": 0,
"type": "dashboard"
}
]
},
"description": "This is the dashboard for Dapr Actor",
"editable": true,
"gnetId": null,
"graphTooltip": 0,
"id": null,
"iteration": 1591551276071,
"links": [],
"panels": [
{
"collapsed": true,
"datasource": "${DS_DAPR}",
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 0
},
"id": 21,
"panels": [
{
"aliasColors": {},
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": "${DS_DAPR}",
"description": "This charts shows the turn-around latency when user app calls Dapr Actor API. For example, you can understand each statestore and service invocation performance.",
"fill": 1,
"fillGradient": 0,
"gridPos": {
"h": 8,
"w": 12,
"x": 0,
"y": 1
},
"hiddenSeries": false,
"id": 19,
"legend": {
"alignAsTable": false,
"avg": false,
"current": true,
"max": false,
"min": false,
"rightSide": false,
"show": true,
"sideWidth": 150,
"total": false,
"values": true
},
"lines": true,
"linewidth": 1,
"nullPointMode": "null",
"options": {
"dataLinks": []
},
"percentage": false,
"pluginVersion": "6.6.2",
"pointradius": 2,
"points": false,
"renderer": "flot",
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"expr": "histogram_quantile(0.95, sum(rate(dapr_http_server_latency_bucket{path=~\"/v1.0/actors/$dapr_actor_type/.*\", kubernetes_namespace=\"$namespace\"}[5m])) by (le, app_id, method, path))",
"format": "time_series",
"instant": false,
"interval": "",
"legendFormat": "[95p] {{method}} {{path}} ({{app_id}})",
"refId": "A"
},
{
"expr": "histogram_quantile(0.75, sum(rate(dapr_http_server_latency_bucket{path=~\"/v1.0/actors/$dapr_actor_type/.*\", kubernetes_namespace=\"$namespace\"}[5m])) by (le, app_id, method, path))",
"format": "time_series",
"instant": false,
"interval": "",
"legendFormat": "[75p] {{method}} {{path}} ({{app_id}})",
"refId": "B"
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Actor API Latency (App->Dapr) (95p, 75p)",
"tooltip": {
"shared": true,
"sort": 0,
"value_type": "individual"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"$$hashKey": "object:1089",
"decimals": 2,
"format": "ms",
"label": "",
"logBase": 1,
"max": null,
"min": null,
"show": true
},
{
"$$hashKey": "object:1090",
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": false
}
],
"yaxis": {
"align": false,
"alignLevel": null
}
},
{
"aliasColors": {},
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": "${DS_DAPR}",
"description": "This charts shows completed request rate (rps) when User app calls Dapr Actor APIs.",
"fill": 1,
"fillGradient": 0,
"gridPos": {
"h": 8,
"w": 12,
"x": 12,
"y": 1
},
"hiddenSeries": false,
"id": 31,
"legend": {
"alignAsTable": false,
"avg": false,
"current": false,
"max": false,
"min": false,
"rightSide": false,
"show": true,
"sideWidth": 150,
"total": false,
"values": false
},
"lines": true,
"linewidth": 1,
"nullPointMode": "null",
"options": {
"dataLinks": []
},
"percentage": false,
"pluginVersion": "6.6.2",
"pointradius": 2,
"points": false,
"renderer": "flot",
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"expr": "sum by (app_id, method, path) (rate(dapr_http_server_response_count{path=~\"/v1.0/actors/$dapr_actor_type/.*\", kubernetes_namespace=\"$namespace\"}[5m]))",
"format": "time_series",
"instant": false,
"interval": "",
"legendFormat": "{{method}} {{path}} ({{app_id}})",
"refId": "A"
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Actor API request rate (App -> Dapr) (RPS)",
"tooltip": {
"shared": true,
"sort": 0,
"value_type": "individual"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"$$hashKey": "object:191",
"decimals": 2,
"format": "reqps",
"label": "",
"logBase": 1,
"max": null,
"min": null,
"show": true
},
{
"$$hashKey": "object:192",
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": false
}
],
"yaxis": {
"align": false,
"alignLevel": null
}
},
{
"aliasColors": {},
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": "${DS_DAPR}",
"description": "This charts shows the inbound request latency from Dapr to App. You can analyze App's API endpoint performance.",
"fill": 1,
"fillGradient": 0,
"gridPos": {
"h": 8,
"w": 12,
"x": 0,
"y": 9
},
"hiddenSeries": false,
"id": 18,
"legend": {
"avg": false,
"current": true,
"max": false,
"min": false,
"rightSide": false,
"show": true,
"sideWidth": 150,
"total": false,
"values": true
},
"lines": true,
"linewidth": 1,
"nullPointMode": "null",
"options": {
"dataLinks": []
},
"percentage": false,
"pluginVersion": "6.6.2",
"pointradius": 2,
"points": false,
"renderer": "flot",
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"expr": "histogram_quantile(0.95, sum(rate(dapr_http_client_roundtrip_latency_bucket{path=~\"actors/$dapr_actor_type/.*/method/.*\", kubernetes_namespace=\"$namespace\"}[5m])) by (le, app_id, method, path))",
"format": "time_series",
"instant": false,
"interval": "",
"legendFormat": "[95p] {{method}} /{{path}} ({{app_id}})",
"refId": "A"
},
{
"expr": "histogram_quantile(0.75, sum(rate(dapr_http_client_roundtrip_latency_bucket{path=~\"actors/$dapr_actor_type/.*/method/.*\", kubernetes_namespace=\"$namespace\"}[5m])) by (le, app_id, method, path))",
"format": "time_series",
"instant": false,
"interval": "",
"legendFormat": "[75p] {{method}} /{{path}} ({{app_id}})",
"refId": "B"
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Actor Callback latency (Dapr -> App) (95p, 75p)",
"tooltip": {
"shared": true,
"sort": 0,
"value_type": "individual"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"$$hashKey": "object:334",
"decimals": 2,
"format": "ms",
"label": "",
"logBase": 1,
"max": null,
"min": null,
"show": true
},
{
"$$hashKey": "object:335",
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": false
}
],
"yaxis": {
"align": false,
"alignLevel": null
}
},
{
"aliasColors": {},
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": "${DS_DAPR}",
"description": "This charts shows request rate (rps) when Dapr runtime calls User app HTTP endpoints.",
"fill": 1,
"fillGradient": 0,
"gridPos": {
"h": 8,
"w": 12,
"x": 12,
"y": 9
},
"hiddenSeries": false,
"id": 32,
"interval": "",
"legend": {
"alignAsTable": false,
"avg": false,
"current": false,
"max": false,
"min": false,
"rightSide": false,
"show": true,
"sideWidth": 150,
"total": false,
"values": false
},
"lines": true,
"linewidth": 1,
"nullPointMode": "null",
"options": {
"dataLinks": []
},
"percentage": false,
"pluginVersion": "6.6.2",
"pointradius": 2,
"points": false,
"renderer": "flot",
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"expr": "sum by (app_id, method, path) (rate(dapr_http_client_completed_count{path=~\"actors/$dapr_actor_type/.*/method/.*\", kubernetes_namespace=\"$namespace\"}[5m]))",
"format": "time_series",
"instant": false,
"interval": "",
"legendFormat": "{{method}} {{path}} ({{app_id}})",
"refId": "A"
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Actor Callback request rate (Dapr -> App) (RPS)",
"tooltip": {
"shared": true,
"sort": 0,
"value_type": "individual"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"$$hashKey": "object:411",
"decimals": 2,
"format": "reqps",
"label": "",
"logBase": 1,
"max": null,
"min": null,
"show": true
},
{
"$$hashKey": "object:412",
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": false
}
],
"yaxis": {
"align": false,
"alignLevel": null
}
}
],
"title": "Throughput/latency",
"type": "row"
},
{
"collapsed": false,
"datasource": "${DS_DAPR}",
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 1
},
"id": 71,
"panels": [],
"title": "Timer & Reminder",
"type": "row"
},
{
"aliasColors": {},
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": "${DS_DAPR}",
"description": "Timer trigger status",
"fill": 1,
"fillGradient": 0,
"gridPos": {
"h": 8,
"w": 12,
"x": 0,
"y": 2
},
"hiddenSeries": false,
"id": 72,
"legend": {
"avg": false,
"current": false,
"max": false,
"min": false,
"rightSide": false,
"show": true,
"sideWidth": 150,
"total": false,
"values": false
},
"lines": true,
"linewidth": 2,
"nullPointMode": "null",
"options": {
"dataLinks": []
},
"percentage": false,
"pluginVersion": "6.6.2",
"pointradius": 2,
"points": false,
"renderer": "flot",
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"expr": "sum(rate(dapr_http_client_roundtrip_latency_bucket{path=~\"actors/$dapr_actor_type/.*/method/timer/.*\", kubernetes_namespace=\"$namespace\"}[5m])) by (path)",
"format": "time_series",
"instant": false,
"interval": "",
"legendFormat": "{{path}}",
"refId": "A"
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Actor timer trigger",
"tooltip": {
"shared": true,
"sort": 0,
"value_type": "individual"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"$$hashKey": "object:1552",
"decimals": 1,
"format": "none",
"label": "",
"logBase": 1,
"max": null,
"min": null,
"show": true
},
{
"$$hashKey": "object:1553",
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": false
}
],
"yaxis": {
"align": false,
"alignLevel": null
}
},
{
"aliasColors": {},
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": "${DS_DAPR}",
"description": "Reminder trigger status",
"fill": 1,
"fillGradient": 0,
"gridPos": {
"h": 8,
"w": 12,
"x": 12,
"y": 2
},
"hiddenSeries": false,
"id": 73,
"legend": {
"avg": false,
"current": false,
"max": false,
"min": false,
"rightSide": false,
"show": true,
"sideWidth": 150,
"total": false,
"values": false
},
"lines": true,
"linewidth": 2,
"nullPointMode": "null",
"options": {
"dataLinks": []
},
"percentage": false,
"pluginVersion": "6.6.2",
"pointradius": 2,
"points": false,
"renderer": "flot",
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"expr": "sum(rate(dapr_http_client_roundtrip_latency_bucket{path=~\"actors/$dapr_actor_type/.*/method/remind/.*\", kubernetes_namespace=\"$namespace\"}[5m])) by (path)",
"format": "time_series",
"instant": false,
"interval": "",
"legendFormat": "{{path}}",
"refId": "A"
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Actor reminder trigger",
"tooltip": {
"shared": true,
"sort": 0,
"value_type": "individual"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"$$hashKey": "object:1552",
"decimals": 1,
"format": "none",
"label": "",
"logBase": 1,
"max": null,
"min": null,
"show": true
},
{
"$$hashKey": "object:1553",
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": false
}
],
"yaxis": {
"align": false,
"alignLevel": null
}
},
{
"collapsed": false,
"datasource": "${DS_DAPR}",
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 10
},
"id": 69,
"panels": [],
"title": "Concurrency",
"type": "row"
},
{
"aliasColors": {},
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": "${DS_DAPR}",
"description": "It contains the number of pending actor calls that are waiting to acquire the per-actor lock that enforces turn-based concurrency.",
"fill": 1,
"fillGradient": 0,
"gridPos": {
"h": 8,
"w": 12,
"x": 0,
"y": 11
},
"hiddenSeries": false,
"id": 67,
"legend": {
"alignAsTable": false,
"avg": false,
"current": false,
"max": false,
"min": false,
"show": true,
"total": false,
"values": false
},
"lines": true,
"linewidth": 1,
"nullPointMode": "null",
"options": {
"dataLinks": []
},
"percentage": false,
"pointradius": 2,
"points": false,
"renderer": "flot",
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": false,
"targets": [
{
"expr": "dapr_runtime_actor_pending_actor_calls{actor_type=~\"$dapr_actor_type\"}",
"interval": "",
"legendFormat": "{{actor_type}}.{{actor_id}}",
"refId": "A"
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Pending locks Per Actor",
"tooltip": {
"shared": true,
"sort": 0,
"value_type": "individual"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"$$hashKey": "object:977",
"format": "short",
"label": "Pending Locks",
"logBase": 1,
"max": null,
"min": null,
"show": true
},
{
"$$hashKey": "object:978",
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
}
],
"yaxis": {
"align": false,
"alignLevel": null
}
}
],
"refresh": "10s",
"schemaVersion": 22,
"style": "dark",
"tags": [],
"templating": {
"list": [
{
"allValue": null,
"current": {},
"datasource": "${DS_DAPR}",
"definition": "label_values(dapr_runtime_component_loaded,kubernetes_namespace)",
"hide": 0,
"includeAll": false,
"index": -1,
"label": "NAMESPACE",
"multi": false,
"name": "namespace",
"options": [],
"query": "label_values(dapr_runtime_component_loaded,kubernetes_namespace)",
"refresh": 1,
"regex": "",
"skipUrlSync": false,
"sort": 0,
"tagValuesQuery": "",
"tags": [],
"tagsQuery": "",
"type": "query",
"useTags": false
},
{
"allValue": null,
"current": {},
"datasource": "${DS_DAPR}",
"definition": "label_values(dapr_runtime_actor_pending_actor_calls,actor_type)",
"hide": 0,
"includeAll": false,
"index": -1,
"label": "ACTOR TYPE",
"multi": true,
"name": "dapr_actor_type",
"options": [],
"query": "label_values(dapr_runtime_actor_pending_actor_calls,actor_type)",
"refresh": 1,
"regex": "",
"skipUrlSync": false,
"sort": 1,
"tagValuesQuery": "",
"tags": [],
"tagsQuery": "",
"type": "query",
"useTags": false
}
]
},
"time": {
"from": "now-3h",
"to": "now"
},
"timepicker": {
"refresh_intervals": [
"5s",
"10s",
"30s",
"1m",
"5m",
"15m",
"30m",
"1h",
"2h",
"1d"
]
},
"timezone": "",
"title": "Dapr Actor Dashboard",
"uid": "Ym9RqIuWk1",
"variables": {
"list": []
},
"version": 1
}

View File

@ -1,9 +1,52 @@
{ {
"__inputs": [
{
"name": "DS_DAPR",
"label": "Dapr",
"description": "",
"type": "datasource",
"pluginId": "prometheus",
"pluginName": "Prometheus"
}
],
"__requires": [
{
"type": "panel",
"id": "bargauge",
"name": "Bar Gauge",
"version": ""
},
{
"type": "grafana",
"id": "grafana",
"name": "Grafana",
"version": "6.7.3"
},
{
"type": "panel",
"id": "graph",
"name": "Graph",
"version": ""
},
{
"type": "datasource",
"id": "prometheus",
"name": "Prometheus",
"version": "1.0.0"
},
{
"type": "panel",
"id": "stat",
"name": "Stat",
"version": ""
}
],
"annotations": { "annotations": {
"list": [ "list": [
{ {
"$$hashKey": "object:356",
"builtIn": 1, "builtIn": 1,
"datasource": "Dapr", "datasource": "${DS_DAPR}",
"enable": true, "enable": true,
"hide": true, "hide": true,
"iconColor": "rgba(0, 211, 255, 1)", "iconColor": "rgba(0, 211, 255, 1)",
@ -17,13 +60,13 @@
"editable": true, "editable": true,
"gnetId": null, "gnetId": null,
"graphTooltip": 0, "graphTooltip": 0,
"id": 15, "id": null,
"iteration": 1585841779452, "iteration": 1591551058714,
"links": [], "links": [],
"panels": [ "panels": [
{ {
"collapsed": false, "collapsed": false,
"datasource": null, "datasource": "${DS_DAPR}",
"gridPos": { "gridPos": {
"h": 1, "h": 1,
"w": 24, "w": 24,
@ -37,7 +80,7 @@
}, },
{ {
"cacheTimeout": null, "cacheTimeout": null,
"datasource": null, "datasource": "${DS_DAPR}",
"description": "This shows the uptime of dapr runtime sidecar. If the sidecar is running for less than 10 minutes, the color will turn into RED.", "description": "This shows the uptime of dapr runtime sidecar. If the sidecar is running for less than 10 minutes, the color will turn into RED.",
"gridPos": { "gridPos": {
"h": 4, "h": 4,
@ -88,7 +131,7 @@
"justifyMode": "auto", "justifyMode": "auto",
"orientation": "vertical" "orientation": "vertical"
}, },
"pluginVersion": "6.6.2", "pluginVersion": "6.7.3",
"targets": [ "targets": [
{ {
"expr": "time() - max(process_start_time_seconds{kubernetes_name=~\"($dapr_app_id)-dapr\", kubernetes_namespace=\"$namespace\"}) by (kubernetes_name)", "expr": "time() - max(process_start_time_seconds{kubernetes_name=~\"($dapr_app_id)-dapr\", kubernetes_namespace=\"$namespace\"}) by (kubernetes_name)",
@ -103,7 +146,7 @@
}, },
{ {
"collapsed": false, "collapsed": false,
"datasource": null, "datasource": "${DS_DAPR}",
"gridPos": { "gridPos": {
"h": 1, "h": 1,
"w": 24, "w": 24,
@ -120,7 +163,7 @@
"bars": false, "bars": false,
"dashLength": 10, "dashLength": 10,
"dashes": false, "dashes": false,
"datasource": "Dapr", "datasource": "${DS_DAPR}",
"description": "This shows total amount of Kernel and user CPU usage for Daprd.", "description": "This shows total amount of Kernel and user CPU usage for Daprd.",
"fill": 1, "fill": 1,
"fillGradient": 0, "fillGradient": 0,
@ -208,7 +251,7 @@
"bars": false, "bars": false,
"dashLength": 10, "dashLength": 10,
"dashes": false, "dashes": false,
"datasource": "Dapr", "datasource": "${DS_DAPR}",
"fill": 1, "fill": 1,
"fillGradient": 0, "fillGradient": 0,
"gridPos": { "gridPos": {
@ -295,7 +338,7 @@
"bars": false, "bars": false,
"dashLength": 10, "dashLength": 10,
"dashes": false, "dashes": false,
"datasource": "Dapr", "datasource": "${DS_DAPR}",
"description": "The amount of memory that belongs specifically to that process in bytes. This excludes swapped out memory pages.", "description": "The amount of memory that belongs specifically to that process in bytes. This excludes swapped out memory pages.",
"fill": 1, "fill": 1,
"fillGradient": 0, "fillGradient": 0,
@ -383,7 +426,7 @@
"bars": false, "bars": false,
"dashLength": 10, "dashLength": 10,
"dashes": false, "dashes": false,
"datasource": null, "datasource": "${DS_DAPR}",
"description": "The amount of address space that a process is managing. This includes all types of memory, both in RAM and swapped out.", "description": "The amount of address space that a process is managing. This includes all types of memory, both in RAM and swapped out.",
"fill": 1, "fill": 1,
"fillGradient": 0, "fillGradient": 0,
@ -469,7 +512,7 @@
}, },
{ {
"collapsed": true, "collapsed": true,
"datasource": null, "datasource": "${DS_DAPR}",
"gridPos": { "gridPos": {
"h": 1, "h": 1,
"w": 24, "w": 24,
@ -483,7 +526,7 @@
"bars": false, "bars": false,
"dashLength": 10, "dashLength": 10,
"dashes": false, "dashes": false,
"datasource": "Dapr", "datasource": "${DS_DAPR}",
"description": "This charts shows the turn-around latency when user app calls Dapr API. For example, you can understand each statestore and service invocation performance.", "description": "This charts shows the turn-around latency when user app calls Dapr API. For example, you can understand each statestore and service invocation performance.",
"fill": 1, "fill": 1,
"fillGradient": 0, "fillGradient": 0,
@ -585,7 +628,7 @@
"bars": false, "bars": false,
"dashLength": 10, "dashLength": 10,
"dashes": false, "dashes": false,
"datasource": "Dapr", "datasource": "${DS_DAPR}",
"description": "This charts shows completed request rate (rps) when User app calls Dapr.", "description": "This charts shows completed request rate (rps) when User app calls Dapr.",
"fill": 1, "fill": 1,
"fillGradient": 0, "fillGradient": 0,
@ -680,7 +723,7 @@
"bars": false, "bars": false,
"dashLength": 10, "dashLength": 10,
"dashes": false, "dashes": false,
"datasource": "Dapr", "datasource": "${DS_DAPR}",
"description": "This charts shows the inbound request latency from Dapr to App. You can analyze App's API endpoint performance.", "description": "This charts shows the inbound request latency from Dapr to App. You can analyze App's API endpoint performance.",
"fill": 1, "fill": 1,
"fillGradient": 0, "fillGradient": 0,
@ -781,7 +824,7 @@
"bars": false, "bars": false,
"dashLength": 10, "dashLength": 10,
"dashes": false, "dashes": false,
"datasource": "Dapr", "datasource": "${DS_DAPR}",
"description": "This charts shows request rate (rps) when Dapr runtime calls User app HTTP endpoints.", "description": "This charts shows request rate (rps) when Dapr runtime calls User app HTTP endpoints.",
"fill": 1, "fill": 1,
"fillGradient": 0, "fillGradient": 0,
@ -877,7 +920,7 @@
}, },
{ {
"collapsed": true, "collapsed": true,
"datasource": null, "datasource": "${DS_DAPR}",
"gridPos": { "gridPos": {
"h": 1, "h": 1,
"w": 24, "w": 24,
@ -891,7 +934,7 @@
"bars": false, "bars": false,
"dashLength": 10, "dashLength": 10,
"dashes": false, "dashes": false,
"datasource": "Dapr", "datasource": "${DS_DAPR}",
"description": "This charts shows the turn-around latency when user app calls Dapr API. For example, you can understand each statestore and service invocation performance.", "description": "This charts shows the turn-around latency when user app calls Dapr API. For example, you can understand each statestore and service invocation performance.",
"fill": 1, "fill": 1,
"fillGradient": 0, "fillGradient": 0,
@ -984,7 +1027,7 @@
"bars": false, "bars": false,
"dashLength": 10, "dashLength": 10,
"dashes": false, "dashes": false,
"datasource": "Dapr", "datasource": "${DS_DAPR}",
"description": "This charts shows completed request rate (rps) when User app calls Dapr.", "description": "This charts shows completed request rate (rps) when User app calls Dapr.",
"fill": 1, "fill": 1,
"fillGradient": 0, "fillGradient": 0,
@ -1072,7 +1115,7 @@
"bars": false, "bars": false,
"dashLength": 10, "dashLength": 10,
"dashes": false, "dashes": false,
"datasource": "Dapr", "datasource": "${DS_DAPR}",
"description": "This charts shows the inbound request latency from Dapr to App. You can analyze App's API endpoint performance.", "description": "This charts shows the inbound request latency from Dapr to App. You can analyze App's API endpoint performance.",
"fill": 1, "fill": 1,
"fillGradient": 0, "fillGradient": 0,
@ -1165,7 +1208,7 @@
"bars": false, "bars": false,
"dashLength": 10, "dashLength": 10,
"dashes": false, "dashes": false,
"datasource": "Dapr", "datasource": "${DS_DAPR}",
"description": "This charts shows request rate (rps) when Dapr runtime calls User app gRPC endpoints.", "description": "This charts shows request rate (rps) when Dapr runtime calls User app gRPC endpoints.",
"fill": 1, "fill": 1,
"fillGradient": 0, "fillGradient": 0,
@ -1254,7 +1297,7 @@
}, },
{ {
"collapsed": true, "collapsed": true,
"datasource": null, "datasource": "${DS_DAPR}",
"gridPos": { "gridPos": {
"h": 1, "h": 1,
"w": 24, "w": 24,
@ -1264,7 +1307,7 @@
"id": 52, "id": 52,
"panels": [ "panels": [
{ {
"datasource": null, "datasource": "${DS_DAPR}",
"description": "This shows the number of configured components. For example, it will shows \"2\" if you configure redis statestore and redis pubsub components. ", "description": "This shows the number of configured components. For example, it will shows \"2\" if you configure redis statestore and redis pubsub components. ",
"gridPos": { "gridPos": {
"h": 8, "h": 8,
@ -1317,7 +1360,7 @@
}, },
{ {
"cacheTimeout": null, "cacheTimeout": null,
"datasource": null, "datasource": "${DS_DAPR}",
"description": "This shows the number of initialized components. This number must be the same as loaded components. Otherwise, Daprd fails to initialize some of components.", "description": "This shows the number of initialized components. This number must be the same as loaded components. Otherwise, Daprd fails to initialize some of components.",
"gridPos": { "gridPos": {
"h": 8, "h": 8,
@ -1384,7 +1427,7 @@
"bars": false, "bars": false,
"dashLength": 10, "dashLength": 10,
"dashes": false, "dashes": false,
"datasource": null, "datasource": "${DS_DAPR}",
"description": "This chart shows the number component initialization failures with the reasons.", "description": "This chart shows the number component initialization failures with the reasons.",
"fill": 1, "fill": 1,
"fillGradient": 0, "fillGradient": 0,
@ -1474,7 +1517,7 @@
}, },
{ {
"collapsed": true, "collapsed": true,
"datasource": null, "datasource": "${DS_DAPR}",
"gridPos": { "gridPos": {
"h": 1, "h": 1,
"w": 24, "w": 24,
@ -1485,21 +1528,167 @@
"panels": [ "panels": [
{ {
"aliasColors": {}, "aliasColors": {},
"bars": true, "bars": false,
"dashLength": 10, "dashLength": 10,
"dashes": false, "dashes": false,
"datasource": null, "datasource": "${DS_DAPR}",
"description": "This chart shows how many actors are activated.", "description": "This shows when Daprd reports host status to placement service. Non-Actor service reports host status in the beginning. Actor service reports host status to placement periodically. If there is a failure, virtual actors will not be distributed properly.",
"fill": 1, "fill": 1,
"fillGradient": 0, "fillGradient": 0,
"gridPos": { "gridPos": {
"h": 7, "h": 7,
"w": 8, "w": 9,
"x": 0, "x": 0,
"y": 10 "y": 18
}, },
"hiddenSeries": false, "hiddenSeries": false,
"id": 64, "id": 46,
"legend": {
"avg": false,
"current": false,
"max": false,
"min": false,
"show": true,
"total": false,
"values": false
},
"lines": true,
"linewidth": 1,
"nullPointMode": "null",
"options": {
"dataLinks": []
},
"percentage": false,
"pointradius": 2,
"points": false,
"renderer": "flot",
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": true,
"targets": [
{
"expr": "rate(dapr_runtime_actor_status_report_total{app_id=~\"$dapr_app_id\", kubernetes_namespace=\"$namespace\"}[5m])",
"legendFormat": "OK ({{app_id}})",
"refId": "A"
},
{
"expr": "rate(dapr_runtime_actor_status_report_fail_total{app_id=~\"$dapr_app_id\", kubernetes_namespace=\"$namespace\"}[5m])",
"legendFormat": "Error ({{app_id}})",
"refId": "B"
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Status report status",
"tooltip": {
"shared": true,
"sort": 0,
"value_type": "individual"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"format": "none",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": false
},
{
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": false
}
],
"yaxis": {
"align": false,
"alignLevel": null
}
},
{
"cacheTimeout": null,
"datasource": "${DS_DAPR}",
"description": "This shows the failures when Daprd reports host status to placement.",
"gridPos": {
"h": 7,
"w": 5,
"x": 9,
"y": 18
},
"id": 59,
"links": [],
"options": {
"displayMode": "basic",
"fieldOptions": {
"calcs": [
"max"
],
"defaults": {
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 10
}
]
}
},
"overrides": [],
"values": false
},
"orientation": "horizontal",
"showUnfilled": true
},
"pluginVersion": "6.7.3",
"targets": [
{
"expr": "sum(dapr_runtime_actor_status_report_fail_total{app_id=~\"$dapr_app_id\", kubernetes_namespace=\"$namespace\"}) by (app_id, operation)",
"legendFormat": "{{operation}} ({{app_id}})",
"refId": "A"
}
],
"timeFrom": null,
"timeShift": null,
"title": "Report status error reasons",
"type": "bargauge"
},
{
"aliasColors": {},
"bars": true,
"dashLength": 10,
"dashes": false,
"datasource": "${DS_DAPR}",
"description": "This shows the placement table update status based on the response from placement service. Daprd maintains the actor placement table in its memory. This table is periodically updated.",
"fill": 1,
"fillGradient": 0,
"gridPos": {
"h": 7,
"w": 10,
"x": 14,
"y": 18
},
"hiddenSeries": false,
"id": 61,
"legend": { "legend": {
"avg": false, "avg": false,
"current": false, "current": false,
@ -1525,21 +1714,18 @@
"steppedLine": false, "steppedLine": false,
"targets": [ "targets": [
{ {
"expr": "dapr_runtime_actor_activated_total{app_id=~\"$dapr_app_id\", kubernetes_namespace=\"$namespace\"}", "expr": "sum(dapr_runtime_actor_table_operation_recv_total{app_id=~\"$dapr_app_id\", kubernetes_namespace=\"$namespace\"}) by (app_id, operation)",
"legendFormat": "OK {{actor_type}}", "format": "time_series",
"intervalFactor": 3,
"legendFormat": "{{operation}} ({{app_id}})",
"refId": "A" "refId": "A"
},
{
"expr": "dapr_runtime_actor_activated_failed_total{app_id=~\"$dapr_app_id\", kubernetes_namespace=\"$namespace\"}",
"legendFormat": "Error {{actor_type}}",
"refId": "C"
} }
], ],
"thresholds": [], "thresholds": [],
"timeFrom": null, "timeFrom": null,
"timeRegions": [], "timeRegions": [],
"timeShift": null, "timeShift": null,
"title": "Actor Activation", "title": "Placement table operation",
"tooltip": { "tooltip": {
"shared": true, "shared": true,
"sort": 0, "sort": 0,
@ -1581,15 +1767,15 @@
"bars": true, "bars": true,
"dashLength": 10, "dashLength": 10,
"dashes": false, "dashes": false,
"datasource": null, "datasource": "${DS_DAPR}",
"description": "This chart shows how many actors are deactivated.", "description": "This chart shows how many actors are deactivated.",
"fill": 1, "fill": 1,
"fillGradient": 0, "fillGradient": 0,
"gridPos": { "gridPos": {
"h": 7, "h": 7,
"w": 8, "w": 9,
"x": 8, "x": 0,
"y": 10 "y": 25
}, },
"hiddenSeries": false, "hiddenSeries": false,
"id": 65, "id": 65,
@ -1674,15 +1860,15 @@
"bars": true, "bars": true,
"dashLength": 10, "dashLength": 10,
"dashes": false, "dashes": false,
"datasource": null, "datasource": "${DS_DAPR}",
"description": "This shows when actor is rebalanced. This operation can make the activated actors deactivated and move actor to the other hosts.", "description": "This shows when actor is rebalanced. This operation can make the activated actors deactivated and move actor to the other hosts.",
"fill": 1, "fill": 1,
"fillGradient": 0, "fillGradient": 0,
"gridPos": { "gridPos": {
"h": 7, "h": 7,
"w": 8, "w": 7,
"x": 16, "x": 9,
"y": 10 "y": 25
}, },
"hiddenSeries": false, "hiddenSeries": false,
"id": 63, "id": 63,
@ -1757,242 +1943,6 @@
"align": false, "align": false,
"alignLevel": null "alignLevel": null
} }
},
{
"aliasColors": {},
"bars": false,
"dashLength": 10,
"dashes": false,
"datasource": null,
"description": "This shows when Daprd reports host status to placement service. Non-Actor service reports host status in the beginning. Actor service reports host status to placement periodically. If there is a failure, virtual actors will not be distributed properly.",
"fill": 1,
"fillGradient": 0,
"gridPos": {
"h": 7,
"w": 9,
"x": 0,
"y": 17
},
"hiddenSeries": false,
"id": 46,
"legend": {
"avg": false,
"current": false,
"max": false,
"min": false,
"show": true,
"total": false,
"values": false
},
"lines": true,
"linewidth": 1,
"nullPointMode": "null",
"options": {
"dataLinks": []
},
"percentage": false,
"pointradius": 2,
"points": false,
"renderer": "flot",
"seriesOverrides": [],
"spaceLength": 10,
"stack": false,
"steppedLine": true,
"targets": [
{
"expr": "rate(dapr_runtime_actor_status_report_total{app_id=~\"$dapr_app_id\", kubernetes_namespace=\"$namespace\"}[5m])",
"legendFormat": "OK ({{app_id}})",
"refId": "A"
},
{
"expr": "rate(dapr_runtime_actor_status_report_fail_total{app_id=~\"$dapr_app_id\", kubernetes_namespace=\"$namespace\"}[5m])",
"legendFormat": "Error ({{app_id}})",
"refId": "B"
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Status report status",
"tooltip": {
"shared": true,
"sort": 0,
"value_type": "individual"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"format": "none",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": false
},
{
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": false
}
],
"yaxis": {
"align": false,
"alignLevel": null
}
},
{
"cacheTimeout": null,
"datasource": null,
"description": "This shows the failures when Daprd reports host status to placement.",
"gridPos": {
"h": 7,
"w": 5,
"x": 9,
"y": 17
},
"id": 59,
"links": [],
"options": {
"displayMode": "basic",
"fieldOptions": {
"calcs": [
"max"
],
"defaults": {
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 10
}
]
}
},
"overrides": [],
"values": false
},
"orientation": "horizontal",
"showUnfilled": true
},
"pluginVersion": "6.6.2",
"targets": [
{
"expr": "sum(dapr_runtime_actor_status_report_fail_total{app_id=~\"$dapr_app_id\", kubernetes_namespace=\"$namespace\"}) by (app_id, operation)",
"legendFormat": "{{operation}} ({{app_id}})",
"refId": "A"
}
],
"timeFrom": null,
"timeShift": null,
"title": "Report status error reasons",
"type": "bargauge"
},
{
"aliasColors": {},
"bars": true,
"dashLength": 10,
"dashes": false,
"datasource": null,
"description": "This shows the placement table update status based on the response from placement service. Daprd maintains the actor placement table in its memory. This table is periodically updated.",
"fill": 1,
"fillGradient": 0,
"gridPos": {
"h": 7,
"w": 10,
"x": 14,
"y": 17
},
"hiddenSeries": false,
"id": 61,
"legend": {
"avg": false,
"current": false,
"max": false,
"min": false,
"show": true,
"total": false,
"values": false
},
"lines": false,
"linewidth": 1,
"nullPointMode": "null",
"options": {
"dataLinks": []
},
"percentage": false,
"pointradius": 1,
"points": false,
"renderer": "flot",
"seriesOverrides": [],
"spaceLength": 10,
"stack": true,
"steppedLine": false,
"targets": [
{
"expr": "sum(dapr_runtime_actor_table_operation_recv_total{app_id=~\"$dapr_app_id\", kubernetes_namespace=\"$namespace\"}) by (app_id, operation)",
"format": "time_series",
"intervalFactor": 3,
"legendFormat": "{{operation}} ({{app_id}})",
"refId": "A"
}
],
"thresholds": [],
"timeFrom": null,
"timeRegions": [],
"timeShift": null,
"title": "Placement table operation",
"tooltip": {
"shared": true,
"sort": 0,
"value_type": "individual"
},
"type": "graph",
"xaxis": {
"buckets": null,
"mode": "time",
"name": null,
"show": true,
"values": []
},
"yaxes": [
{
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
},
{
"format": "short",
"label": null,
"logBase": 1,
"max": null,
"min": null,
"show": true
}
],
"yaxis": {
"align": false,
"alignLevel": null
}
} }
], ],
"title": "Actor", "title": "Actor",
@ -2000,7 +1950,7 @@
}, },
{ {
"collapsed": true, "collapsed": true,
"datasource": null, "datasource": "${DS_DAPR}",
"gridPos": { "gridPos": {
"h": 1, "h": 1,
"w": 24, "w": 24,
@ -2014,7 +1964,7 @@
"bars": true, "bars": true,
"dashLength": 10, "dashLength": 10,
"dashes": false, "dashes": false,
"datasource": null, "datasource": "${DS_DAPR}",
"description": "This chart shows when mTLS is initialized, which means root cert is loaded and workload cert is issued from sentry, when runtime starts.", "description": "This chart shows when mTLS is initialized, which means root cert is loaded and workload cert is issued from sentry, when runtime starts.",
"fill": 1, "fill": 1,
"fillGradient": 0, "fillGradient": 0,
@ -2106,7 +2056,7 @@
}, },
{ {
"cacheTimeout": null, "cacheTimeout": null,
"datasource": null, "datasource": "${DS_DAPR}",
"gridPos": { "gridPos": {
"h": 8, "h": 8,
"w": 5, "w": 5,
@ -2161,7 +2111,7 @@
"bars": true, "bars": true,
"dashLength": 10, "dashLength": 10,
"dashes": false, "dashes": false,
"datasource": null, "datasource": "${DS_DAPR}",
"description": "This chart shows when workload certificate is rotated.", "description": "This chart shows when workload certificate is rotated.",
"fill": 1, "fill": 1,
"fillGradient": 0, "fillGradient": 0,
@ -2256,7 +2206,7 @@
}, },
{ {
"cacheTimeout": null, "cacheTimeout": null,
"datasource": null, "datasource": "${DS_DAPR}",
"gridPos": { "gridPos": {
"h": 8, "h": 8,
"w": 5, "w": 5,
@ -2319,14 +2269,12 @@
"list": [ "list": [
{ {
"allValue": null, "allValue": null,
"current": { "current": {},
"text": "longhaul-test", "datasource": "${DS_DAPR}",
"value": "longhaul-test"
},
"datasource": "Dapr",
"definition": "label_values(dapr_runtime_component_loaded,kubernetes_namespace)", "definition": "label_values(dapr_runtime_component_loaded,kubernetes_namespace)",
"hide": 0, "hide": 0,
"includeAll": false, "includeAll": false,
"index": -1,
"label": "NAMESPACE", "label": "NAMESPACE",
"multi": false, "multi": false,
"name": "namespace", "name": "namespace",
@ -2344,19 +2292,12 @@
}, },
{ {
"allValue": null, "allValue": null,
"current": { "current": {},
"text": "feed-generator + hashtag-actor + hashtag-counter + message-analyzer", "datasource": "${DS_DAPR}",
"value": [
"feed-generator",
"hashtag-actor",
"hashtag-counter",
"message-analyzer"
]
},
"datasource": "Dapr",
"definition": "label_values(dapr_runtime_component_loaded,app_id)", "definition": "label_values(dapr_runtime_component_loaded,app_id)",
"hide": 0, "hide": 0,
"includeAll": false, "includeAll": false,
"index": -1,
"label": "APPID", "label": "APPID",
"multi": true, "multi": true,
"name": "dapr_app_id", "name": "dapr_app_id",
@ -2395,5 +2336,8 @@
"timezone": "", "timezone": "",
"title": "Dapr Sidecar Dashboard", "title": "Dapr Sidecar Dashboard",
"uid": "Ym9RqIuWk", "uid": "Ym9RqIuWk",
"version": 39 "variables": {
"list": []
},
"version": 13
} }

Binary file not shown.

After

Width:  |  Height:  |  Size: 529 KiB