Skip to content

Observer 0.25.1

Choose a tag to compare

@github-actions github-actions released this 17 Oct 13:33
· 4 commits to main since this release
760fd35

Observer 0.25.1.

Less work every second, same screen

This release cuts per-second overhead in the network path and in the dashboard. Nothing about what is measured or shown changes.

Dashboard. Rows whose text did not change are no longer rewritten. A steady "0 B/s" or an idle CPU used to touch every binding once a second; now a row whose label, value, gauge state and severity are identical is left alone, and a panel recomputes its visibility only when it changes.

Linux. Reading /proc/net/dev no longer allocates a string per counter. Only the two byte counters are parsed; the remaining fields are counted to keep the sixteen-field shape check. The only allocation per interface is its name.

Windows. Enumerating the network adapters no longer happens every second. The filtered adapter list is reused for thirty seconds and invalidated at once by the operating system's own network-change notification, so a cable pulled or a Wi-Fi dropped is picked up on the next round. The per-second counters are still read live on every round. A first enumeration that fails reads as a failure, not as a machine with no interfaces.

Tests. Five regression tests pin the new behaviour: an empty interface name and a counter past the 64-bit range are skipped, DOS line endings parse, the Windows provider answers consistently across two reads, and its off-Windows branch stays a clean false.

The packages are NOT signed

Windows will say so twice, in two different ways, and the two are not fixed
by the same thing:

  • User Account Control will show "Unknown publisher". A signature removes
    this immediately, from the first download;
  • SmartScreen will warn on first run of the installer. A signature does
    NOT remove this: since March 2024 not even an EV certificate bypasses it.
    It depends on how many clean downloads the file has accumulated, not on the
    certificate it carries.

To go ahead: More info, then Run anyway.

Where this package comes from

Every attached file carries a provenance attestation signed by GitHub, which
ties it to the commit and the workflow that produced it:

gh attestation verify Observer.msi --repo Akr0n/observer

It is not an Authenticode signature and Windows does not look at it. It answers
a different and equally useful question: does this file really come from that
source code
, rather than does Windows trust whoever made it.

Windows

Installs the service, the dashboard and the command line. Needs an elevated terminal:

msiexec /i Observer.msi

Nothing else needs installing: the package bundles the .NET runtime, which is
why it weighs about fifty megabytes. Up to 0.2.0 it required ASP.NET Core 10
without checking that it was there, and on a machine without it the service
died at startup while the installer talked about insufficient privileges - a
cause that had nothing to do with the real one.

Note that this means the runtime's security fixes no longer come from
Windows Update. They come with a new Observer release.

If that machine already has an Observer service registered by hand, remove it
first, and empty the installation folder.

Linux

sudo apt install ./observer_0.25.1_amd64.deb

Requires Ubuntu 24.04 or later: aspnetcore-runtime-10.0 comes from the official
archive, so the runtime is not bundled and is updated with the system.

After installing

To watch the machine you are sitting at there is nothing to configure, and no token
is needed: the dashboard uses the local channel. The token and the certificate
fingerprint are needed only so that ANOTHER computer can query this one, and you get
them with observer share.