diff --git a/src/createApp.js b/src/createApp.js
index f6998f6101b48958d3257e579a11b0153e6dea8c..564780fb2eace96e7facee5bb00489b625fd0bfc 100644
--- a/src/createApp.js
+++ b/src/createApp.js
@@ -26,7 +26,7 @@ import { viteManifestToDeps } from './util.js'
 const swaggerDocument = yaml.load(fs.readFileSync('./src/swagger.yaml', 'utf8'))
 
 const startUpTimeGauge = new promClient.Gauge({
-  name: 'manifest_service_startup_time',
+  name: 'core_ui_middleware_startup_time',
   help: 'Time to warm up cache'
 })
 
diff --git a/src/files.js b/src/files.js
index 815f7d627f5f262aeae10ad02ab27fb79bd6dd52..b787fdeae86bb5f4486a95578d45a36977d5bb95 100644
--- a/src/files.js
+++ b/src/files.js
@@ -24,13 +24,24 @@ async function fetchData (path, baseUrl, appendix) {
 }
 
 const fileCounter = new promClient.Counter({
-  name: 'manifest_service_file_cache_fetches',
+  name: 'core_ui_middleware_file_cache_fetches',
   help: 'Number of fetched files'
 })
 const fileErrorCounter = new promClient.Counter({
-  name: 'manifest_service_file_cache_fetch_errors',
+  name: 'core_ui_middleware_file_cache_fetch_errors',
   help: 'Number of errors while fetching files'
 })
+
+const pullThroughRequestCounter = new promClient.Counter({
+  name: 'core_ui_middleware_file_cache_pull_through_request_count',
+  help: 'Number of files requested after warmup (not referenced in manifest)'
+})
+
+const pullThroughCacheCounter = new promClient.Counter({
+  name: 'core_ui_middleware_file_cache_pull_through_cache_size',
+  help: 'Number of files added after warmup (not referenced in manifest)'
+})
+
 class FileCache {
   constructor () {
     this._cache = {}
@@ -47,6 +58,8 @@ class FileCache {
     this._isCaching = true
 
     logger.debug('beginning to warm up cache')
+    pullThroughCacheCounter.reset()
+    pullThroughRequestCounter.reset()
     const cache = Object.fromEntries(await (async function () {
       const files = Object.keys(deps)
       const chunkSize = 50
@@ -91,10 +104,12 @@ class FileCache {
 
   async fetchAndStore (path) {
     if (config.urls.length === 0) await config.load()
+    pullThroughRequestCounter.inc()
     const [[key, value]] =
       (await Promise.allSettled(config.urls.map(baseUrl => fetchData(path, baseUrl))))
         .filter(r => r.status === 'fulfilled').map(r => r.value)
     this._cache[key.slice(1)] = value
+    pullThroughCacheCounter.inc()
     return value
   }