Skip to content

Commit 28f4da1

Browse files
committed
Updated and improved the documentation on development and monitoring
1 parent d9570b8 commit 28f4da1

File tree

3 files changed

+55
-4
lines changed

3 files changed

+55
-4
lines changed

Docs/assets/jaeger-example.png

404 KB
Loading

Docs/development.md

+32
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
# Development and Testing of Fission Workflows
2+
3+
## Development
4+
5+
To test with local builds of the workflow engine in the Kubernetes cluster in the current context. First [install a
6+
workflow version to your cluster](../INSTALL.md). After that you can swap the deployed workflow engine with a local one
7+
using [telepresence](https://telepresence.io):
8+
9+
```bash
10+
telepresence --method=vpn-tcp --namespace fission --swap-deployment workflows:workflows --expose 5555 --expose 8080
11+
```
12+
13+
## Testing
14+
15+
To run local unit and integration tests:
16+
17+
```bash
18+
bash tests/runtests.sh
19+
```
20+
21+
If you have an instance of Workflows deployed in the Kubernetes cluster in the current context, you can also run
22+
end-to-end tests (the same that are used by the CI):
23+
24+
```bash
25+
bash tests/e2e/runtests.sh
26+
```
27+
28+
Since each e2e test is standalone, you can also run a single e2e test:
29+
30+
```bash
31+
bash tests/e2e/tests/test_inputs.sh
32+
```

Docs/instrumentation.md

+23-4
Original file line numberDiff line numberDiff line change
@@ -37,20 +37,39 @@ annotations:
3737
(In the near future, this step will be done by Fission automatically.)
3838

3939
Now, to access metrics in the Prometheus dashboard you just need to exposes the prometheus-server in the `monitoring`
40-
namespace or access the cluserIP from within the cluster.
40+
namespace or access the clusterIP from within the cluster (for example by using [telepresence](https://telepresence
41+
.io/))
4142

4243
### Prometheus NATS exporter
4344
Given that NATS streaming plays an important role in the workflow system, it is also useful to collect the metrics of
4445
NATS into prometheus. Although not directly implemented in the NATS deployments, there is the
4546
[Prometheus NATS exporter](https://github.com/nats-io/prometheus-nats-exporter) as a separate module to install.
4647

47-
## Grafana
48+
### Grafana
4849
A common way to visualize the metrics collected with Prometheus is to use Grafana to create and share graphs and
4950
other types of visualizations.
5051

5152
```bash
52-
helm install --namespace monitoring --name prometheus stable/grafana
53+
helm install --namespace monitoring --name grafana stable/grafana
5354
```
5455

56+
Follow the instructions provided by the notes of the grafana helm chart to get the login details and exposing the
57+
Grafana dashboard locally.
58+
5559
In the future, we will provide a pre-built Grafana dashboard with useful graphs to provide you insight into the
56-
system, without needing to build dashboards yourself.
60+
system, without needing to build dashboards yourself.
61+
62+
## OpenTracing / Jaeger
63+
64+
Fission Workflows supports distributed tracing using the [OpenTracing](http://opentracing.io/) API. By default it
65+
assumes the use of [Jaeger](https://www.jaegertracing.io/). To install a simple development version of Jaeger, which
66+
includes all components, use the following template (replace `fission` with the namespace where Fission Workflows is
67+
installed):
68+
69+
```bash
70+
kubectl -n fission create -f https://raw.githubusercontent.com/jaegertracing/jaeger-kubernetes/master/all-in-one/jaeger-all-in-one-template.yml
71+
```
72+
73+
To view the Jaeger GUI navigate to the `jaeger-query` service. An example of a multi-task workflow execution:
74+
75+
![Jaeger Tracing example](./assets/jaeger-example.png)

0 commit comments

Comments
 (0)