Skip to content

Commit

Permalink
Merge pull request #184 from anarcat/apt-update-check-fine-tune
Browse files Browse the repository at this point in the history
use a better heuristic for the apt update last run time
  • Loading branch information
SuperQ authored Oct 18, 2023
2 parents 66010f0 + feb943f commit f5c56e7
Showing 1 changed file with 10 additions and 1 deletion.
11 changes: 10 additions & 1 deletion apt_info.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
# Daniel Swarbrick <[email protected]>

import apt
import apt_pkg
import collections
import os
from prometheus_client import CollectorRegistry, Gauge, generate_latest
Expand Down Expand Up @@ -87,8 +88,16 @@ def _write_autoremove_pending(registry, cache):

def _write_cache_timestamps(registry):
g = Gauge('apt_package_cache_timestamp_seconds', "Apt update last run time.", registry=registry)
apt_pkg.init_config()
if apt_pkg.config.find_b("APT::Periodic::Update-Package-Lists"):
# if we run updates automatically with APT::Periodic, we can
# check this timestamp file
stamp_file = "/var/lib/apt/periodic/update-success-stamp"
else:
# if not, let's just fallback on the lists directory
stamp_file = '/var/lib/apt/lists'
try:
g.set(os.stat('/var/cache/apt/pkgcache.bin').st_mtime)
g.set(os.stat(stamp_file).st_mtime)
except OSError:
pass

Expand Down

0 comments on commit f5c56e7

Please sign in to comment.