|
1 | 1 | ---
|
2 |
| - |
3 | 2 | title: 'Telemetry'
|
4 | 3 | weight: 45
|
5 |
| - |
6 | 4 | menu:
|
7 | 5 | main:
|
8 | 6 | identifier: "user-guide-introduction-telemetry"
|
9 | 7 | parent: "user-guide-introduction"
|
10 |
| - |
11 | 8 | ---
|
12 | 9 |
|
| 10 | +The feature has been [removed][telemetry-removed] in Camunda `7.22.0+`. |
13 | 11 |
|
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" >}}). |
160 | 13 |
|
| 14 | +[telemetry-removed]: {{< ref "/update/minor/721-to-722/_index.md#sending-telemetry-feature-removed" >}} |
0 commit comments