Display nanoseconds with perfometer results in 0.00s

Hi, I wrote a plugin for PTP (linuxptp) time synchronisation to read and display the offset from the master clock.
The offset is displayed in Nanoseconds by the ptp4l client in linux. I convert the values to seconds and use the checkmk render.timespan() function that will give me the correct representation of the time unit in my check summary (see first image).

If the Offset is less than 1 microseconds the performeter and metric graphs show only 0.00s instead of the actual time in nanoseconds.

However, the render.timespan() function renders correctly nanoseconds in the summary message.


#!/usr/bin/env python3

from cmk.gui.i18n import _
from cmk.gui.plugins.metrics import (

metric_info["master_offset"] = {
    "title": _("Master Offset"),
    "unit": "s",
    "color": "#ff8020",


#!/usr/bin/env python3

from cmk.gui.plugins.metrics import perfometer_info

                "type": "logarithmic",
                "metric": "master_offset",
                "half_value": 0.000001,
                "exponent": 2,

Any ideas on how to solve that problem?
Could that be related to the RRD storage since the stored value is something like 1e-9.

second screenshot (see image below) with the empty perfometer but correct rendered time in nanoseconds in the check summary.