|
8 | 8 | // In applying this license CERN does not waive the privileges and immunities |
9 | 9 | // granted to it by virtue of its status as an Intergovernmental Organization |
10 | 10 | // or submit itself to any jurisdiction. |
| 11 | +#include "Framework/DeviceState.h" |
11 | 12 | #include "Framework/RootSerializationSupport.h" |
12 | 13 | #include "Framework/DataRelayer.h" |
13 | 14 | #include "Framework/DataProcessingStats.h" |
|
43 | 44 | #include <Monitoring/Metric.h> |
44 | 45 | #include <Monitoring/Monitoring.h> |
45 | 46 |
|
| 47 | +#include <fairlogger/Logger.h> |
46 | 48 | #include <fairmq/Channel.h> |
47 | 49 | #include <functional> |
48 | 50 | #if __has_include(<fairmq/shmem/Message.h>) |
@@ -347,9 +349,21 @@ void DataRelayer::setOldestPossibleInput(TimesliceId proposed, ChannelIndex chan |
347 | 349 | if (element.size() == 0) { |
348 | 350 | auto& state = mContext.get<DeviceState>(); |
349 | 351 | if (state.transitionHandling != TransitionHandlingState::NoTransition && DefaultsHelpers::onlineDeploymentMode()) { |
350 | | - LOGP(warning, "Missing {} (lifetime:{}) while dropping incomplete data in slot {} with timestamp {} < {}.", DataSpecUtils::describe(input), input.lifetime, si, timestamp.value, newOldest.timeslice.value); |
| 352 | + if (state.allowedProcessing == DeviceState::CalibrationOnly) { |
| 353 | + O2_SIGNPOST_ID_GENERATE(cid, calibration); |
| 354 | + O2_SIGNPOST_EVENT_EMIT(calibration, cid, "expected_missing_data", "Expected missing %{public}s (lifetime:%d) while dropping non-calibration data in slot %zu with timestamp %zu < %zu.", |
| 355 | + DataSpecUtils::describe(input).c_str(), (int)input.lifetime, si, timestamp.value, newOldest.timeslice.value); |
| 356 | + } else { |
| 357 | + LOGP(info, "Missing {} (lifetime:{}) while dropping incomplete data in slot {} with timestamp {} < {}.", DataSpecUtils::describe(input), input.lifetime, si, timestamp.value, newOldest.timeslice.value); |
| 358 | + } |
351 | 359 | } else { |
352 | | - LOGP(error, "Missing {} (lifetime:{}) while dropping incomplete data in slot {} with timestamp {} < {}.", DataSpecUtils::describe(input), input.lifetime, si, timestamp.value, newOldest.timeslice.value); |
| 360 | + if (state.allowedProcessing == DeviceState::CalibrationOnly) { |
| 361 | + O2_SIGNPOST_ID_GENERATE(cid, calibration); |
| 362 | + O2_SIGNPOST_EVENT_EMIT_INFO(calibration, cid, "expected_missing_data", "Not processing in calibration mode: missing %s (lifetime:%d) while dropping incomplete data in slot %zu with timestamp %zu < %zu.", |
| 363 | + DataSpecUtils::describe(input).c_str(), (int)input.lifetime, si, timestamp.value, newOldest.timeslice.value); |
| 364 | + } else { |
| 365 | + LOGP(error, "Missing {} (lifetime:{}) while dropping incomplete data in slot {} with timestamp {} < {}.", DataSpecUtils::describe(input), input.lifetime, si, timestamp.value, newOldest.timeslice.value); |
| 366 | + } |
353 | 367 | } |
354 | 368 | } |
355 | 369 | } |
|
0 commit comments