Skip to content

Commit 9b80303

Browse files
authored
Update dartdoc archive tracking. (#1392)
1 parent 8562e3a commit 9b80303

File tree

2 files changed

+14
-4
lines changed

2 files changed

+14
-4
lines changed

app/lib/dartdoc/backend.dart

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -328,8 +328,9 @@ class DartdocBackend {
328328
class ArchiveTracker {
329329
final _pvMap = <String, _TrackedEntry>{};
330330
final _sampleLines = <String>[];
331+
final bool trackRequests;
331332

332-
ArchiveTracker() {
333+
ArchiveTracker({this.trackRequests: false}) {
333334
new Timer.periodic(const Duration(minutes: 10), (_) => _cleanup());
334335
new Timer.periodic(const Duration(minutes: 45), (_) => _logSample());
335336
}
@@ -342,6 +343,9 @@ class ArchiveTracker {
342343
tracked.archiveSize = entry.archiveSize ?? 0;
343344
tracked.totalSize = entry.totalSize ?? 0;
344345
tracked.lastAccess = new DateTime.now().toUtc();
346+
if (trackRequests) {
347+
tracked.requestCount++;
348+
}
345349
}
346350

347351
void _cleanup() {
@@ -368,14 +372,17 @@ class ArchiveTracker {
368372
if (_sampleLines.length > 48) {
369373
_sampleLines.removeAt(0);
370374
}
375+
final requestCount =
376+
_pvMap.values.fold(0, (sum, tracked) => sum + tracked.requestCount);
371377
_sampleLines.add(
372-
'${now.toIso8601String()} count: $count, total: $totalMB MB, archive: $archiveMB MB');
378+
'${now.toIso8601String()} count: $count, total: $totalMB MB, archive: $archiveMB MB, requests: $requestCount');
373379
}
374380
}
375381

376382
class _TrackedEntry {
377383
int totalSize;
378384
int archiveSize;
385+
int requestCount = 0;
379386
DateTime lastAccess;
380387
}
381388

app/lib/dartdoc/handlers.dart

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,14 @@ import 'models.dart';
1818

1919
final _allTracker = new ArchiveTracker();
2020
final _visitorTracker = new ArchiveTracker();
21-
final _obsoleteTracker = new ArchiveTracker();
21+
final _obsoleteTracker = new ArchiveTracker(trackRequests: true);
2222

2323
void _track(DartdocEntry entry, String path) {
2424
_allTracker.track(entry);
25-
if (path != 'status.json' && path != 'log.txt' && path != 'package.tar.gz') {
25+
if (path != 'status.json' &&
26+
path != 'log.txt' &&
27+
path != 'package.tar.gz' &&
28+
path != 'pub-data.json') {
2629
_visitorTracker.track(entry);
2730
if (entry.isObsolete ?? false) {
2831
_obsoleteTracker.track(entry);

0 commit comments

Comments
 (0)