Skip to content

Commit a260d08

Browse files
committed
wip
1 parent 02b7c27 commit a260d08

File tree

3 files changed

+178
-159
lines changed

3 files changed

+178
-159
lines changed

content/introduction/telemetry.md

Lines changed: 3 additions & 149 deletions
Original file line numberDiff line numberDiff line change
@@ -1,160 +1,14 @@
11
---
2-
32
title: 'Telemetry'
43
weight: 45
5-
64
menu:
75
main:
86
identifier: "user-guide-introduction-telemetry"
97
parent: "user-guide-introduction"
10-
118
---
129

10+
The feature has been [removed][telemetry-removed] in Camunda `7.22.0+`.
1311

14-
Sending telemetry data has been introduced in Camunda `7.14.0-alpha1` (and `7.13.7`, `7.12.12`, `7.11.19`) and removed in Camunda `7.22.0`. The public API is marked as deprecated and emptied out. The diagnostic data is still being collected but not send by any mean. You can decide to share it with Camunda if requested in tickets or use it for your diagnostic purposes.
15-
16-
## Collected data
17-
18-
Below you find the full list of data the reporter collects, followed by a real-world example. On a conceptual level, they can be categorized into general data, meta/environment data, and usage data.
19-
20-
### General data
21-
22-
The "General Data" category contains information about the process engine:
23-
24-
* Installation - an id that is stored as process engine configuration property
25-
* Product name - the name of the product (i.e., `Camunda BPM Runtime`)
26-
* Product version - the version of the process engine (i.e., `7.X.Y`)
27-
* Product edition - the edition of the product (i.e., either `community` or `enterprise`)
28-
* License key - the customer name, expiry date and enabled features as well as the raw license info
29-
30-
License key data does not contain any protected data like the signature. License data is only transmitted if any of the following holds true
31-
32-
* it is present in the database on engine startup
33-
* it is set to the engine via [ManagementService#setLicenseKey ](https://docs.camunda.org/javadoc/camunda-bpm-platform/7.14/org/camunda/bpm/engine/ManagementService.html#setLicenseKey-java.lang.String-)
34-
* it is set to the engine via [Admin Webapp](https://docs.camunda.org/manual/latest/webapps/admin/system-management/#camunda-license-key)
35-
36-
Please note that only in case of setting the license key through the Admin Webapp the diagnostics data will contain structured metadata from the license key. In all other cases, unstructed raw data will be sent. If the license key is removed from the engine, it is removed from diagnostics data as well.
37-
38-
### Meta and environment data
39-
The "Meta/Environment Data" category contains information about the environmental setup:
40-
41-
* Database vendor and version
42-
* Application server vendor and version
43-
* JDK vendor and version
44-
* Used Camunda Web Applications
45-
46-
The application server information cannot be obtained in an embedded process engine setup where no web application (e.g. Tasklist, Cockpit, REST application) is deployed and used.
47-
48-
In case of Azul Zulu JDK, the vendor will be send as "Oracle Corporation" as it cannot be distinguished programmatically from an Oracle JDK.
49-
50-
51-
### Usage data
52-
The "Usage Data" category contains information about the used features and components of the process engine:
53-
54-
* Commands count - the count of executed commands after the last retrieved data. It could be from the previous 24 hours if the data have been reported then, and the process engine has not been closed during that time. Whenever the process engine is shutdown, the currently collected data is reported immediately.
55-
* Metrics count - the collected metrics are number of root process instance executions started, number of activity instances started or also known as flow node instances, and number of executed decision instances and elements.
56-
The counts are collected from the start of the engine or the last reported time if the engine is already running for more than 24 hours.
57-
* Camunda integration - a flag that shows if any of the Camunda integrations are used: Spring boot starter, Camunda Platform Run, WildFly subsystem or Camunda ejb service (e.g. WebSphere/WebLogic Application servers).
58-
59-
### Example
60-
61-
```
62-
{
63-
"installation": "8343cc7a-8ad1-42d4-97d2-43452c0bdfa3",
64-
"product": {
65-
"name": "Camunda BPM Runtime",
66-
"version": "7.14.0",
67-
"edition": "enterprise",
68-
"internals": {
69-
"database": {
70-
"vendor": "h2",
71-
"version": "1.4.190 (2015-10-11)"
72-
},
73-
"application-server": {
74-
"vendor": "Wildfly",
75-
"version": "WildFly Full 19.0.0.Final (WildFly Core 11.0.0.Final) - 2.0.30.Final"
76-
},
77-
"jdk": {
78-
"version": "14.0.2",
79-
"vendor": "Oracle Corporation"
80-
},
81-
"commands": {
82-
"StartProcessInstanceCmd": {"count": 40},
83-
"FetchExternalTasksCmd": {"count": 100}
84-
},
85-
"metrics": {
86-
"process-instances": { "count": 936 },
87-
"flow-node-instances": { "count": 6125 },
88-
"decision-instances": { "count": 140 },
89-
"executed-decision-elements": { "count": 732 }
90-
},
91-
"data-collection-start-date": "2022-11-320T15:53:20.386+0100",
92-
"camunda-integration": [
93-
"spring-boot-starter",
94-
"camunda-bpm-run"
95-
],
96-
"license-key": {
97-
"customer": "customer name",
98-
"type": "UNIFIED",
99-
"valid-until": "2022-09-30",
100-
"unlimited": false,
101-
"features": {
102-
"camundaBPM": "true"
103-
},
104-
"raw": "customer=customer name;expiryDate=2022-09-30;camundaBPM=true;optimize=false;cawemo=false"
105-
},
106-
"webapps": [
107-
"cockpit",
108-
"admin"
109-
]
110-
}
111-
}
112-
}
113-
```
114-
115-
## How to access the data
116-
117-
Diagnostics data is constantly collected and can be collected only by you. This allows you to access the collected data through the Java and REST APIs of Camunda.
118-
Being able to easily access the collected data is helpful when asking for help in our [forum](https://forum.camunda.org/) or when opening issues in our [issue tracker](https://app.camunda.com/jira) as it contains many of the information that are usually necessary to understand your Camunda setup.
119-
120-
### Java API
121-
122-
To fetch the collected data via the Java API, you can use the `ManagementService` class. For example, the following code retrieves the detected JDK vendor and version:
123-
124-
```java
125-
ProcessEngine processEngine = ...;
126-
ManagementService managementService = processEngine.getManagementService();
127-
128-
TelemetryData telemetryData = managementService.getTelemetryData();
129-
Internals productInternals = telemetryData.getProduct().getInternals();
130-
131-
String jdkVendor = productInternals.getJdk().getVendor();
132-
String jdkVersion = productInternals.getJdk().getVersion();
133-
```
134-
135-
### REST API
136-
137-
You can fetch the collected data via the REST API by calling the {{< restref page="getTelemetryData" text="Get Telemetry Data" tag="Telemetry" >}} endpoint.
138-
139-
140-
## Source code
141-
142-
In case you want further details, you can have a look at the implementation of the diagnostics topic in [our codebase](https://github.com/camunda/camunda-bpm-platform/blob/master/engine/src/main/java/org/camunda/bpm/engine/impl/diagnostics/DiagnosticsCollector.java). The link leads you to the current `master` version of the feature. In case you would like to check the implementation of an old version, adjust to [`7.21.0`](https://github.com/camunda/camunda-bpm-platform/blob/7.21.0/engine/src/main/java/org/camunda/bpm/engine/impl/telemetry/reporter/TelemetrySendingTask.java) tag for example.
143-
144-
## Initial data report
145-
146-
{{< note title="Previous Camunda versions only" class="info" >}}
147-
In previous Camunda versions, the installation sends an anonymized one-time initial report to Camunda. This applies to the following versions:
148-
149-
* 7.17: All versions before 7.17.0
150-
* 7.16: 7.16.6 and lower
151-
* 7.15: 7.15.12 and lower
152-
* 7.14: 7.14.18 and lower
153-
* 7.13 / 7.12 / 7.11: all versions
154-
155-
In higher versions, the installation no longer sends this initial message.
156-
{{< /note >}}
157-
158-
159-
[engine-config-initializeTelemetry]: {{< ref "/reference/deployment-descriptors/tags/process-engine.md#initializeTelemetry" >}}
12+
Documentation about diagnostics data can be found in the [User Guide]({{< ref "/user-guide/process-engine/diagnostics-data.md" >}}).
16013

14+
[telemetry-removed]: {{< ref "/update/minor/721-to-722/_index.md#sending-telemetry-feature-removed" >}}

content/update/minor/721-to-722/_index.md

Lines changed: 34 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ This document guides you through the update from Camunda `7.21.x` to `7.22.0` an
2121
1. For developers: [Camunda Commons](#camunda-commons)
2222
1. For developers: [Camunda Template Engines FreeMarker](#camunda-template-engines-freemarker)
2323
1. For developers: [Camunda Connect](#camunda-connect)
24-
1. For developers: [Connect dependency removed from `camunda-engine`](#connect-dependency-removed-from-camunda-engine)
24+
1. For developers: [Camunda Connect dependency removed from `camunda-engine`](#camunda-connect-dependency-removed-from-camunda-engine)
2525
1. For administrators and developers: [Update to JBoss EAP 8.0](#update-to-jboss-eap-8)
2626
1. For administrators and developers: [Update to Tomcat 10 Server](#update-to-tomcat-10-server)
2727
1. For Administrators and developers: [Camunda Run and Swagger Update](#camunda-run-and-swagger-update)
@@ -61,9 +61,10 @@ Before starting, ensure you have downloaded the Camunda 7.22 distribution for th
6161
# Camunda Connect
6262
We’ve moved the `camunda-connect` project from its [previous location](https://github.com/camunda/camunda-connect) into the [mono repository](https://github.com/camunda/camunda-bpm-platform). We’re no longer versioning it independently. Instead, we’ve integrated it into the 7.X.Y versioning scheme, so you can conveniently declare Camunda `7.22.0-alpha2` to use the latest release of Camunda Connect.
6363

64-
# Connect dependency removed from `camunda-engine`
64+
# Camunda Connect dependency removed from `camunda-engine`
6565

66-
`camunda-connect` is no longer dependency to `camunda-engine` and respectively in pre-packaged distributions (Tomcat, WildFly). If you use Camunda Connect funcionality, check if you need to re-introduce the following dependencies to your project:
66+
`camunda-connect` is no longer dependency to `camunda-engine` and respectively in pre-packaged distributions (Tomcat, WildFly).
67+
If you use Camunda Connect functionality, check if you need to re-introduce the following dependencies to your project:
6768

6869
* `camunda-connect-core`
6970
* `camunda-connect-connectors-all`
@@ -219,15 +220,38 @@ It is possible to keep using Camunda Platform with a lower version of Groovy if
219220

220221
# Sending telemetry feature removed
221222

223+
Sending telemetry data has been introduced in Camunda `7.14.0+` (and `7.13.7`, `7.12.12`, `7.11.19`)
224+
and removed in Camunda `7.22.0`. The public API is marked as deprecated and emptied out.
225+
The telemetry reporter and scheduled timer and all related process engine configuration properties are removed.
226+
The [diagnostic data][] is still being collected but not send by any mean.
227+
You can decide to share it with Camunda if requested in tickets or use it for your diagnostic purposes.
228+
229+
In previous Camunda versions - `7.21.0+`, `7.20.8+`, `7.19.15+`, reporting telemetry data is disabled by default.
230+
231+
[diagnostic data]: {{< ref "/user-guide/process-engine/diagnostics-data.md" >}}
232+
222233
## Configuration properties removed
223234

224-
* initializeTelemetry
225-
* telemetryReporterActivate?
226-
* telemetryReportingPeriod
227-
* telemetryReporterActivate
228-
* telemetryRequestRetries
229-
* telemetryRequestTimeout
235+
To clean up and refactor our source code, tte following process engine configuration properties have been remove.
236+
Please remove all of the occurrences of those properties, no matter of the setup that you are using
237+
(share or embedded process engine, pre-packaged or other distribution).
238+
You need to remove the properties from your tests as well.
239+
240+
* `initializeTelemetry `
241+
* `telemetryReporterActivate `
242+
* `telemetryReportingPeriod `
243+
* `telemetryReporterActivate `
244+
* `telemetryRequestRetries `
245+
* `telemetryRequestTimeout `
230246

231247
## Public API deprecation
232248

233-
IsTelemetryEnabledCmd and TelemetryConfigureCmd API is deprecated and emptied out.
249+
The public API for configuring telemetry and fetching the telemetry configuration have been emptied out and marked as deprecated.
250+
We recommend to remove the usage of the following API as the endpoints no longer do anything and is unnecessary.
251+
252+
* Java API
253+
* [`ManagementService#isTelemetryEnabled()`](https://docs.camunda.org/javadoc/camunda-bpm-platform/7.22/org/camunda/bpm/engine/ManagementService.html#isTelemetryEnabled()) (always returns `false`)
254+
* [`ManagementService#toggleTelemetry(boolean)`](https://docs.camunda.org/javadoc/camunda-bpm-platform/7.22/org/camunda/bpm/engine/ManagementService.html#toggleTelemetry(boolean))
255+
* REST API
256+
* [Fetch Telemetry Configuration](https://docs.camunda.org/rest/camunda-bpm-platform/7.22/#tag/Telemetry/operation/getTelemetryConfiguration) (always returns `false`)
257+
* [Configure Telemetry](https://docs.camunda.org/rest/camunda-bpm-platform/7.22/#tag/Telemetry/operation/configureTelemetry)
Lines changed: 141 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,141 @@
1+
---
2+
3+
title: 'Diagnostics data'
4+
weight: 290
5+
6+
menu:
7+
main:
8+
identifier: "diagnostics-data"
9+
parent: "user-guide-process-engine"
10+
11+
---
12+
13+
14+
15+
Diagnostics data is constantly collected and can be collected only by you. This allows you to access the collected data through the Java and REST APIs of Camunda.
16+
Being able to easily access the collected data is helpful when asking for help in our [forum](https://forum.camunda.org/) or when opening issues in our [issue tracker](https://app.camunda.com/jira) as it contains many of the information that are usually necessary to understand your Camunda setup.
17+
18+
## How to access the data
19+
20+
### Java API
21+
22+
To fetch the collected data via the Java API, you can use the `ManagementService` class. For example, the following code retrieves the detected JDK vendor and version:
23+
24+
```java
25+
ProcessEngine processEngine = ...;
26+
ManagementService managementService = processEngine.getManagementService();
27+
28+
TelemetryData telemetryData = managementService.getTelemetryData();
29+
Internals productInternals = telemetryData.getProduct().getInternals();
30+
31+
String jdkVendor = productInternals.getJdk().getVendor();
32+
String jdkVersion = productInternals.getJdk().getVersion();
33+
```
34+
35+
### REST API
36+
37+
You can fetch the collected data via the REST API by calling the {{< restref page="getTelemetryData" text="Get Telemetry Data" tag="Telemetry" >}} endpoint.
38+
39+
## Collected data
40+
41+
Below you find the full list of data the diagnostic collector collects, followed by a real-world example. On a conceptual level, they can be categorized into general data, meta/environment data, and usage data.
42+
43+
### General data
44+
45+
The "General Data" category contains information about the process engine:
46+
47+
* Installation - an id that is stored as process engine configuration property
48+
* Product name - the name of the product (i.e., `Camunda BPM Runtime`)
49+
* Product version - the version of the process engine (i.e., `7.X.Y`)
50+
* Product edition - the edition of the product (i.e., either `community` or `enterprise`)
51+
* License key - the customer name, expiry date and enabled features as well as the raw license info
52+
53+
License key data does not contain any protected data like the signature. License data is only transmitted if any of the following holds true
54+
55+
* it is present in the database on engine startup
56+
* it is set to the engine via [ManagementService#setLicenseKey ](https://docs.camunda.org/javadoc/camunda-bpm-platform/7.14/org/camunda/bpm/engine/ManagementService.html#setLicenseKey-java.lang.String-)
57+
* it is set to the engine via [Admin Webapp](https://docs.camunda.org/manual/latest/webapps/admin/system-management/#camunda-license-key)
58+
59+
Please note that only in case of setting the license key through the Admin Webapp the diagnostics data will contain structured metadata from the license key. In all other cases, unstructed raw data will be sent. If the license key is removed from the engine, it is removed from diagnostics data as well.
60+
61+
### Meta and environment data
62+
The "Meta/Environment Data" category contains information about the environmental setup:
63+
64+
* Database vendor and version
65+
* Application server vendor and version
66+
* JDK vendor and version
67+
* Used Camunda Web Applications
68+
69+
The application server information cannot be obtained in an embedded process engine setup where no web application (e.g. Tasklist, Cockpit, REST application) is deployed and used.
70+
71+
In case of Azul Zulu JDK, the vendor will be send as "Oracle Corporation" as it cannot be distinguished programmatically from an Oracle JDK.
72+
73+
74+
### Usage data
75+
The "Usage Data" category contains information about the used features and components of the process engine:
76+
77+
* Commands count - the count of executed commands after the last retrieved data. It could be from the previous 24 hours if the data have been reported then, and the process engine has not been closed during that time. Whenever the process engine is shutdown, the currently collected data is reported immediately.
78+
* Metrics count - the collected metrics are number of root process instance executions started, number of activity instances started or also known as flow node instances, and number of executed decision instances and elements.
79+
The counts are collected from the start of the engine or the last reported time if the engine is already running for more than 24 hours.
80+
* Camunda integration - a flag that shows if any of the Camunda integrations are used: Spring boot starter, Camunda Platform Run, WildFly subsystem or Camunda ejb service (e.g. WebSphere/WebLogic Application servers).
81+
82+
### Example
83+
84+
```
85+
{
86+
"installation": "8343cc7a-8ad1-42d4-97d2-43452c0bdfa3",
87+
"product": {
88+
"name": "Camunda BPM Runtime",
89+
"version": "7.14.0",
90+
"edition": "enterprise",
91+
"internals": {
92+
"database": {
93+
"vendor": "h2",
94+
"version": "1.4.190 (2015-10-11)"
95+
},
96+
"application-server": {
97+
"vendor": "Wildfly",
98+
"version": "WildFly Full 19.0.0.Final (WildFly Core 11.0.0.Final) - 2.0.30.Final"
99+
},
100+
"jdk": {
101+
"version": "14.0.2",
102+
"vendor": "Oracle Corporation"
103+
},
104+
"commands": {
105+
"StartProcessInstanceCmd": {"count": 40},
106+
"FetchExternalTasksCmd": {"count": 100}
107+
},
108+
"metrics": {
109+
"process-instances": { "count": 936 },
110+
"flow-node-instances": { "count": 6125 },
111+
"decision-instances": { "count": 140 },
112+
"executed-decision-elements": { "count": 732 }
113+
},
114+
"data-collection-start-date": "2022-11-320T15:53:20.386+0100",
115+
"camunda-integration": [
116+
"spring-boot-starter",
117+
"camunda-bpm-run"
118+
],
119+
"license-key": {
120+
"customer": "customer name",
121+
"type": "UNIFIED",
122+
"valid-until": "2022-09-30",
123+
"unlimited": false,
124+
"features": {
125+
"camundaBPM": "true"
126+
},
127+
"raw": "customer=customer name;expiryDate=2022-09-30;camundaBPM=true;optimize=false;cawemo=false"
128+
},
129+
"webapps": [
130+
"cockpit",
131+
"admin"
132+
]
133+
}
134+
}
135+
}
136+
```
137+
138+
## Source code
139+
140+
In case you want further details, you can have a look at the implementation of the diagnostics topic in [our codebase](https://github.com/camunda/camunda-bpm-platform/blob/master/engine/src/main/java/org/camunda/bpm/engine/impl/diagnostics/DiagnosticsCollector.java). The link leads you to the current `master` version of the feature.
141+

0 commit comments

Comments
 (0)