int exitStatus = Convert::ToDouble(arguments[1]);
CheckResult::Ptr result = make_shared<CheckResult>();
- std::pair<String, Value> co = PluginUtility::ParseCheckOutput(arguments[2]);
+ std::pair<String, String> co = PluginUtility::ParseCheckOutput(arguments[2]);
result->SetOutput(co.first);
- result->SetPerformanceData(co.second);
+
+ Value perfdata = co.second;
+
+ if (host->GetEnablePerfdata())
+ perfdata = PluginUtility::ParsePerfdata(perfdata);
+
+ result->SetPerformanceData(perfdata);
ServiceState state;
int exitStatus = Convert::ToDouble(arguments[2]);
CheckResult::Ptr result = make_shared<CheckResult>();
- std::pair<String, Value> co = PluginUtility::ParseCheckOutput(arguments[3]);
+ std::pair<String, String> co = PluginUtility::ParseCheckOutput(arguments[3]);
result->SetOutput(co.first);
- result->SetPerformanceData(co.second);
+
+ Value perfdata = co.second;
+
+ if (service->GetEnablePerfdata())
+ perfdata = PluginUtility::ParsePerfdata(perfdata);
+
+ result->SetPerformanceData(perfdata);
result->SetState(PluginUtility::ExitStatusToState(exitStatus));
result->SetScheduleStart(time);
}
}
-std::pair<String, Value> PluginUtility::ParseCheckOutput(const String& output)
+std::pair<String, String> PluginUtility::ParseCheckOutput(const String& output)
{
String text;
String perfdata;
boost::algorithm::trim(perfdata);
- return std::make_pair(text, ParsePerfdata(perfdata));
+ return std::make_pair(text, perfdata);
}
Value PluginUtility::ParsePerfdata(const String& perfdata)
const boost::function<void(const Value& commandLine, const ProcessResult&)>& callback = boost::function<void(const Value& commandLine, const ProcessResult&)>());
static ServiceState ExitStatusToState(int exitStatus);
- static std::pair<String, Value> ParseCheckOutput(const String& output);
+ static std::pair<String, String> ParseCheckOutput(const String& output);
static Value ParsePerfdata(const String& perfdata);
static String FormatPerfdata(const Value& perfdata);
String output = pr.Output;
output.Trim();
- std::pair<String, Value> co = PluginUtility::ParseCheckOutput(output);
+ std::pair<String, String> co = PluginUtility::ParseCheckOutput(output);
cr->SetCommand(commandLine);
cr->SetOutput(co.first);
- cr->SetPerformanceData(co.second);
+
+ Value perfdata = co.second;
+
+ if (checkable->GetEnablePerfdata())
+ perfdata = PluginUtility::ParsePerfdata(perfdata);
+
+ cr->SetPerformanceData(perfdata);
cr->SetState(PluginUtility::ExitStatusToState(pr.ExitStatus));
cr->SetExitStatus(pr.ExitStatus);
cr->SetExecutionStart(pr.ExecutionStart);