This offer is only addressed to commercial customers including freelancers and entrepreneurs. All prices are exclusive of value added tax (VAT).
  • Share via email
  • Subscribe to blog alert

Bosch IoT Insights – New Service Update – “Explain & Analyse” Feature for Query Templates, Performance and Memory Hints in Processing Pipeline

“Explain & Analyse” Feature for Query Templates & Data Analyzer

Explain & Analyze functionality is now available for Query Template, Data Analyzer and Query History screens. The goal of this feature is to provide good indications to the users how to optimize and improve their queries.
The function to analyze a query is provided by MongoDB, but we are transforming the result and displaying it in a user friendly manner.  Still you can see the original response in details on the right side of the screen.

Each of the summary items displayed as a result of the Explain & Analyze request have a detailed information when you hover over their status icon.


Performances and memory hints in processing pipeline

We have improved the display of the percentage CPU utilization within the processing pipelines. This now actually gives users realistic values for the guaranteed CPU performance of a pipeline. With this, we can now see that some customer pipelines have a contested load (100%). To make this obvious, a warning message now appears when the CPU usage or memory usage is increased and how this can be avoided.


Retention time is visible in Data Browser, Data Analyzer and Query template

When users select a collection in the Data Browser, Data Analyzer or when creating a new query template and a specific retention time is set for this selection, this is now shown to the user via a small hint in the collection selector. Clicking on the hint further shows the property on which the retention time is based as well as a link to the retention time management.


Placeholders: new relative Date Modifier

Two new placeholder modifiers “relativeTimestamp” and “addTime” have been introduced. They allow the calculation of relative Timestamps according to a passed date value or time difference in milliseconds. Their usage works similarly to the already existing modifiers:

Example Usage of “relativeTimestamp”

This modifier calculates the relative time as given by a resolved placeholder. If referring to a Date Filter Parameter provided by the Filter Widget, a possible usage could be ** ${filterParams.dateTime.from | relativeTimestamp }. ** Assuming that the placeholder would resolve to a negative numeric value, such as -300000 (5 Minutes in milliseconds), the modifier would calculate a timestamp subtracted by 5 Minutes and return an ISO Date String.

Example Usage of “addTime”

This modifier requires an additionally passed parameter representing the desired time offset to be subtracted or added to the resolved date time.
Analogue, if a five-minute subtraction should occur from the provided resolved placeholder value, the modifier could be used as ${ insights.timestamp | addTime: -300000 }.
Assuming the placeholder resolves to a valid ISO String, the number of milliseconds will be added or subtracted from the provided timestamp.
This modifier is designed for standalone usage in widgets, without the need to provide an external parameter, such as from the filter widget.


Possiblity to “Select all” in the Filter Widget for multiple selection options

When the user selects all options, an indication will be shown that all options have been selected. This feature will be available for both devices and general multiple choices.

Selected all options:


Initial sort order for table widget

The initial sort order feature allows users to easily define an initial sort order in the table widget itself. This will save time and effort, and also allow users to see the intended sort order in the UI, making it easier to work with the data.


Further improvements

  • Widget UI Improvements
  • Group resources by their device types in calendar widget
  • Extend Data-Recorder API with HTTP header limit information
  • Frontend based interpolation / point reduction of lines and points for chart widgets



In this release, we have addressed and fixed the following bugs:

  • INS-4884 – Query Error Reason not returned to user
  • INS-4089 – Retention time not set in database when creating timeseries collection or updating it
  • INS-4553 – File upload in Swagger UI shown as text input
  • INS-4892 – GPX Tracks are not shown anymore in Map Widget
  • INS-4779 – Processing Pipeline Frame throws Null if reprocessing is canceled or stopped
  • INS-5000 – Removal of Pipeline does only remove the configuration
  • INS-5042 – Reprocessing fails in case of network interruption