perfino observes scalar value from three different types of sources:
All telemetries are available from the "VM Data Views". Each telemetry has its own entry under the "Telemetries" node. Many telemetries are stacked area plots where the single lines add up to a total value. For example the "Transactions" telemetry shows the total number of transactions over time, split into single lines for the various policy violations.
Initially, the telemetries show a 10 minute interval up to the current time. The data that is displayed here has been recorded with a resolution of one minute. Other telemetries that do not get its data from the observation of transactions will have a resolution of 10 seconds. You can move back in time with the navigation buttons, but at some point the one-per-minute resolution will end. perfino consolidates telemetries to progressively more coarse-grained resolutions and keeps them for progressively longer periods of time. Switching to the next interval shows a total extent of 3 hours, with a resolution of 2 minutes.
The full table with all intervals, resolutions and retention times is given below:
Display interval | Resolution | Retention time |
---|---|---|
10 minutes | 10 seconds (1 minute for transaction-based data) | 6 hours (48 hours for transaction-based data) |
3 hours | 2 minutes | 10 days |
3 days | 1 hour | 1 year |
30 days | 12 hours | unlimited |
Some telemetries have multiple data lines that do not add up to a total value. In that case, there is a drop-down box above the graph and the telemetries are shown as line plots.
Detailed numbers can be obtained by hovering the mouse over the graph. in stacked area plots, you can toggle single data lines by clicking on the legend items.
The VMs view and the dashboard show small versions of the current telemetry data as so-called "sparklines". Sparklines do not have labeled axes and are intended to give a visual impression of the recent development of an observed scalar value. The graph is followed by the current numeric value. The superscript indicates the observed maximum value, the subscript the minimum value in the displayed time range.
In the "VMs" view, you can configure a set of sparkline columns. This allows you to make a relative assessment of the different VMs and VM groups with respect to the monitored value. Sparklines can be scaled separately, with a common scale for each group or with a common scale for all VMs. This is configured in the options popup.
In the dashboard, sparklines are displayed in a table rather than as columns. The useful number of sparkline columns that you can add in the VMs view is limited due to the finite width of the table. In the dashboard, you can add a lot of sparkline rows without any such restrictions. Rather than showing data for separate VM groups or VMs, the dashboard only shows data for the selected VM group.
As in the VMs view, there is a "Configure" action that takes you to the list of all available telemetries. The telemetries are grouped into categories. The lower list shows the currently configured sparklines.
To monitor any scalar value in your application, add a static method that returns a number anywhere in your code. Then, annotate the method with the @Telemetry annotation. You have to make sure that the containing class is actually loaded, otherwise perfino will not detect the annotated method.
You can display the custom telemetry by going to the "VM Data Views", selecting Telemetries->Custom telemetries and choosing your telemetry from the drop-down list at the top.
For more information, please see the Javadoc of the com.perfino.annotation.Telemetry class in the api/doc directory of your perfino installation.
All displayed times are expressed in the time zone of the server. If you are in a different time zone, there will be an offset. perfino detects this condition by inspecting the time zone provided by the request headers from your browser. In that case, the current time with an explicit time zone is shown in the header.