Context:
As described in the parent issue, we want to include a list of engine installation IDs in our telemetry payload. However, for this to be possible, the engine needs to add an API endpoint where Optimize can retrieve said installation ID. This API does not yet exist, but we would like to add a placeholder value for each installation ID that we currently can't retrieve.
Hint:
There is a TODO in our TelemetryDataService where we need to retrieve the engine installation IDs. Let's replace this by adding a method to retrieve the engine installation ID for each engine, and if said ID cannot be retrieved we use the INFORMATION_UNAVAILABLE_STRING instead.
Feel free to keep the TODO comment to adjust the installation ID retrieval once CAM-12294 is implemented.
The telemetry payload for an Optimize installation with two connected engines would then look as follows:
{ "installation": "8343cc7a-8ad1-42d4-97d2-43452c0bdfa3" (must be a valid UUID) "product": { "name": "Camunda Optimize", "version": "3.2.0", "edition": "enterprise", "internals": { "license key": "someLicenseKey", "database":{ "vendor": "elasticsearch", (optional) "version": "7.6.1" }, "engineInstallationIds": ["Unknown", "Unknown",..] } } }
AT:
- The telemetry payload includes a list with one entry per connected engine which contains the placeholder "unknown" string when the engine installation ID cannot be retrieved (which is currently the case as there is no API for it)
- The telemetry IT covers the engine installation ID list