Skip to content

Commit

Permalink
Document Prometheus metrics and OLAP Flow events (#878)
Browse files Browse the repository at this point in the history
### Description of change

Closes: #720 

##### Checklist

- [ ] Tested in playground or other setup
- [x] Documentation is changed or added
- [ ] Tests and/or benchmarks are included
- [ ] Breaking changes

<!-- Reviewable:start -->
- - -
This change is [<img src="https://reviewable.io/review_button.svg"
height="34" align="absmiddle"
alt="Reviewable"/>](https://reviewable.io/reviews/fluxninja/aperture/878)
<!-- Reviewable:end -->
  • Loading branch information
hasit authored and hdkshingala committed Nov 7, 2022
1 parent b0ff517 commit e6a7f52
Show file tree
Hide file tree
Showing 10 changed files with 337 additions and 8 deletions.
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -69,10 +69,6 @@ analyzing, and actuating, facilitated by agents and a controller.

[![Build Indestructible Applications with Aperture Flow Control](https://img.youtube.com/vi/sEl4SMo3KNo/0.jpg)](https://www.youtube.com/watch?v=sEl4SMo3KNo)

## ▶️ Demo Video

[![Demo Video](https://img.youtube.com/vi/m070bAvrDHM/0.jpg)](https://www.youtube.com/watch?v=m070bAvrDHM)

## 🏗️ Architecture

![Aperture Architecture Overview](./docs/content/assets/gen/introduction/architecture_simple.mmd.svg)
Expand All @@ -96,6 +92,10 @@ To install Aperture system, please follow the
To learn how to write Aperture policies, please read the
[Tutorials](https://docs.fluxninja.com/docs/category/tutorials).

### 🎥 Demo Video

[![How Concurrency Limits Help Protect Against Cascading Failures](https://img.youtube.com/vi/m070bAvrDHM/0.jpg)](https://youtu.be/m070bAvrDHM)

## 👷 Contributing

[Reporting bugs](https://github.com/fluxninja/aperture/issues/new?assignees=&labels=bug&template=bug_report.md&title=)
Expand Down
8 changes: 8 additions & 0 deletions docs/content/references/flow-events/_category_.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
label: Flow Events
position: 4
collapsible: true
collapsed: true
link:
type: "generated-index"
title: "Flow Events"
keywords: ["flow", "events", "olap"]
80 changes: 80 additions & 0 deletions docs/content/references/flow-events/flow-events.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
---
title: Flow Events
sidebar_position: 1
sidebar_label: Flow Events
---

## Dimension Columns

### Common

| Name | Type | Example Values | Description | Flow Control Integrations |
| -------------------------------------- | ---- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------- | ------------------------- |
| aperture.source | | sdk, envoy | Aperture Flow source | SDKs, Envoy |
| workload_duration_ms | | 52 | Duration of the workload in ms | SDKs, Envoy |
| flow_duration_ms | | 52 | Duration of the flow in ms | SDKs, Envoy |
| aperture_processing_duration_ms | | 52 | Aperture's processing duration in ms | SDKs, Envoy |
| aperture.decision_type | | DECISION_TYPE_ACCEPTED, DECISION_TYPE_REJECTED | Decision type taken by policy | SDKs, Envoy |
| aperture.error | | ERROR_NONE, ERROR_MISSING_TRAFFIC_DIRECTION, ERROR_INVALID_TRAFFIC_DIRECTION, ERROR_CONVERT_TO_MAP_STRUCT, ERROR_CONVERT_TO_REGO_AST, ERROR_CLASSIFY | Error reason of the decision taken by policy | SDKs, Envoy |
| aperture.reject_reason | | REJECT_REASON_NONE, REJECT_REASON_RATE_LIMITED, REJECT_REASON_CONCURRENCY_LIMITED | Reject reason of the decision taken by policy | SDKs, Envoy |
| aperture.rate_limiters | | policy_name:service1-demo-app,component_index:18,policy_hash:5kZjjSgDAtGWmLnDT67SmQhZdHVmz0+GvKcOGTfWMVo= | Rate limiters matched to the traffic | SDKs, Envoy |
| aperture.dropping_rate_limiters | | policy_name:service1-demo-app,component_index:18,policy_hash:5kZjjSgDAtGWmLnDT67SmQhZdHVmz0+GvKcOGTfWMVo= | Rate limiters dropping the traffic | SDKs, Envoy |
| aperture.concurrency_limiters | | policy_name:service1-demo-app,component_index:13,policy_hash:5kZjjSgDAtGWmLnDT67SmQhZdHVmz0+GvKcOGTfWMVo= | Concurrency limiters matched to the traffic | SDKs, Envoy |
| aperture.dropping_concurrency_limiters | | policy_name:service1-demo-app,component_index:13,policy_hash:5kZjjSgDAtGWmLnDT67SmQhZdHVmz0+GvKcOGTfWMVo= | Concurrency limiters dropping the traffic | SDKs, Envoy |
| aperture.workloads | | policy_name:service1-demo-app,component_index:13,workload_index:0,policy_hash:5kZjjSgDAtGWmLnDT67SmQhZdHVmz0+GvKcOGTfWMVo= | Workloads matched to the traffic | SDKs, Envoy |
| aperture.dropping_workloads | | policy_name:service1-demo-app,component_index:13,workload_index:0,policy_hash:5kZjjSgDAtGWmLnDT67SmQhZdHVmz0+GvKcOGTfWMVo= | Workloads dropping the traffic | SDKs, Envoy |
| aperture.flux_meters | | service1-demo-app | Flux Meters matched to the traffic | SDKs, Envoy |
| aperture.flow_label_keys | | http.host, http.method, http.request.header.content_length | Flow labels matched to the traffic | SDKs, Envoy |
| aperture.classifiers | | policy_name:service1-demo-app,classifier_index:0 | Classifiers matched to the traffic | SDKs, Envoy |
| aperture.classifier_errors | | | Encountered classifier errors for specified policy | SDKs, Envoy |
| aperture.services | | service1-demo-app.demoapp.svc.cluster.local, service2-demo-app.demoapp.svc.cluster.local | Services to which metrics refer | SDKs, Envoy |
| aperture.control_point | | type:TYPE_INGRESS, type:TYPE_EGRESS | Control point to which metrics refer | SDKs, Envoy |
| aperture.response_status | | OK, Error | Denotes OK or Error across all protocols | SDKs, Envoy |
| response_received | | true, false | Designates whether a response was received | SDKs, envoy |

### HTTP

| Name | Type | Example Values | Description | Flow Control Integrations |
| ---------------------------- | ---- | ---------------------------------------------------------------------------------------- | -------------------------------------------- | ------------------------- |
| http.status_code | | 200, 429, 503 | HTTP status code of the response | Envoy |
| http.request_content_length | | 0, 53 | Length of the HTTP request content in bytes | Envoy |
| http.response_content_length | | 201, 77 | Length of the HTTP response content in bytes | Envoy |
| http.method | | GET, POST | HTTP method of the response | Envoy |
| http.target | | /request | Target endpoint of the response | Envoy |
| http.host | | service1-demo-app.demoapp.svc.cluster.local, service2-demo-app.demoapp.svc.cluster.local | Host address of the response | Envoy |
| http.scheme | | http | HTTP scheme of the response | Envoy |
| http.flavor | | 1.1 | HTTP protocol version | Envoy |

### SDK

| Name | Type | Example Values | Description | Flow Control Integrations |
| ----------------------- | ---- | -------------- | --------------------- | ------------------------- |
| aperture.feature.status | | OK, Error | Status of the feature | SDKs |

## Metric Columns

| Name | Type | Unit | Description |
| -------------------------------------------- | ----- | ----- | ----------------------------------------------------- |
| workload_duration_ms_sum | float | ms | Sum of duration of the workload |
| workload_duration_ms_min | float | ms | Min of duration of the workload |
| workload_duration_ms_max | float | ms | Max of duration of the workload |
| workload_duration_ms_sumOfSquares | float | ms | Sum of squares of duration of the workload |
| workload_duration_ms_datasketch | float | ms | Datasktech of Duration of the workload |
| flow_duration_ms_sum | float | ms | Sum of duration of the flow |
| flow_duration_ms_min | float | ms | Min of duration of the flow |
| flow_duration_ms_max | float | ms | Max of duration of the flow |
| flow_duration_ms_sumOfSquares | float | ms | Sum of squares of duration of the flow |
| flow_duration_ms_datasketch | float | ms | Datasktech of duration of the flow |
| aperture_processing_duration_ms_sum | float | ms | Sum of Aperture's processing duration |
| aperture_processing_duration_ms_min | float | ms | Min of Aperture's processing duration |
| aperture_processing_duration_ms_max | float | ms | Max of Aperture's processing duration |
| aperture_processing_duration_ms_sumOfSquares | float | ms | Sum of squares of Aperture's processing duration |
| aperture_processing_duration_ms_datasketch | float | ms | Datasktech of Aperture's processing duration |
| http.request_content_length_sum | int | bytes | Sum of length of the HTTP request content |
| http.request_content_length_min | int | bytes | Min of length of the HTTP request content |
| http.request_content_length_max | int | bytes | Max of length of the HTTP request content |
| http.request_content_length_sumOfSquares | int | bytes | Sum of squares of length of the HTTP request content |
| http.response_content_length_sum | int | bytes | Sum of length of the HTTP response content |
| http.response_content_length_min | int | bytes | Min of length of the HTTP response content |
| http.response_content_length_max | int | bytes | Max of length of the HTTP response content |
| http.response_content_length_sumOfSquares | int | bytes | Sum of squares of length of the HTTP response content |
8 changes: 8 additions & 0 deletions docs/content/references/metrics/_category_.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
label: Metrics
position: 3
collapsible: true
collapsed: true
link:
type: "generated-index"
title: "Metrics"
keywords: ["metrics"]
Loading

0 comments on commit e6a7f52

Please sign in to comment.