Skip to content

Commit 8d03277

Browse files
authored
DPL: Explicitly printout the last file opened (#14318)
1 parent 630393b commit 8d03277

File tree

3 files changed

+35
-0
lines changed

3 files changed

+35
-0
lines changed

Framework/AnalysisSupport/src/DataInputDirector.cxx

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,7 @@ bool DataInputDescriptor::setFile(int counter)
146146
throw std::runtime_error(fmt::format("Couldn't open file \"{}\"!", filename));
147147
}
148148
rootFS = std::dynamic_pointer_cast<TFileFileSystem>(mCurrentFilesystem);
149+
printFileOpening();
149150

150151
// get the parent file map if exists
151152
mParentFileMap = (TMap*)rootFS->GetFile()->Get("parentFiles"); // folder name (DF_XXX) --> parent file (absolute path)
@@ -297,6 +298,21 @@ int DataInputDescriptor::getReadTimeFramesInFile(int counter)
297298
return std::count(list.begin(), list.end(), true);
298299
}
299300

301+
void DataInputDescriptor::printFileOpening()
302+
{
303+
auto rootFS = std::dynamic_pointer_cast<TFileFileSystem>(mCurrentFilesystem);
304+
auto f = dynamic_cast<TFile*>(rootFS->GetFile());
305+
std::string monitoringInfo(fmt::format("lfn={},size={}", f->GetName(), f->GetSize()));
306+
#if __has_include(<TJAlienFile.h>)
307+
auto alienFile = dynamic_cast<TJAlienFile*>(f);
308+
if (alienFile) {
309+
monitoringInfo += fmt::format(",se={},open_time={:.1f}", alienFile->GetSE(), alienFile->GetElapsed());
310+
}
311+
#endif
312+
mMonitoring->send(o2::monitoring::Metric{monitoringInfo, "aod-file-open-info"}.addTag(o2::monitoring::tags::Key::Subsystem, o2::monitoring::tags::Value::DPL));
313+
LOGP(info, "Opening file: {}", monitoringInfo);
314+
}
315+
300316
void DataInputDescriptor::printFileStatistics()
301317
{
302318
int64_t wait_time = (int64_t)uv_hrtime() - (int64_t)mCurrentFileStartedAt - (int64_t)mIOTime;

Framework/AnalysisSupport/src/DataInputDirector.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@ class DataInputDescriptor
8282

8383
bool readTree(DataAllocator& outputs, header::DataHeader dh, int counter, int numTF, std::string treename, size_t& totalSizeCompressed, size_t& totalSizeUncompressed);
8484

85+
void printFileOpening();
8586
void printFileStatistics();
8687
void closeInputFile();
8788
bool isAlienSupportOn() { return mAlienSupport; }

Framework/AnalysisSupport/src/Plugin.cxx

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,24 @@ struct RunSummary : o2::framework::ServicePlugin {
7676
LOGP(info, "{}", files[fi % files.size()].data);
7777
}
7878
}
79+
for (size_t li = 0; li < metrics.metricLabels.size(); ++li) {
80+
MetricLabel const&label = metrics.metricLabels[li];
81+
if (strcmp(label.label, "aod-file-open-info") != 0) {
82+
continue;
83+
}
84+
MetricInfo const&metric = metrics.metrics[li];
85+
auto &files = metrics.stringMetrics[metric.storeIdx];
86+
if (metric.filledMetrics) {
87+
LOGP(info, "### Files opened stats ###");
88+
}
89+
std::string lastFileRead;
90+
for (size_t fi = 0; fi < metric.filledMetrics; ++fi) {
91+
lastFileRead = files[fi % files.size()].data;
92+
}
93+
if (lastFileRead.empty() == false) {
94+
LOGP(info, "Last file opened: {}", lastFileRead);
95+
}
96+
}
7997
} },
8098
.kind = ServiceKind::Serial};
8199
}

0 commit comments

Comments
 (0)