25#include <nlohmann/json_fwd.hpp>
27#include "iceberg/iceberg_export.h"
28#include "iceberg/metrics/commit_report.h"
29#include "iceberg/metrics/scan_report.h"
30#include "iceberg/result.h"
34ICEBERG_EXPORT nlohmann::json ToJson(
const CounterResult& counter);
35ICEBERG_EXPORT Result<CounterResult> CounterResultFromJson(
const nlohmann::json& json);
37ICEBERG_EXPORT Result<nlohmann::json> ToJson(
const TimerResult& timer);
38ICEBERG_EXPORT Result<TimerResult> TimerResultFromJson(
const nlohmann::json& json);
40ICEBERG_EXPORT Result<nlohmann::json> ToJson(
const ScanMetricsResult& metrics);
41ICEBERG_EXPORT Result<ScanMetricsResult> ScanMetricsResultFromJson(
42 const nlohmann::json& json);
44ICEBERG_EXPORT Result<nlohmann::json> ToJson(
const CommitMetricsResult& metrics);
45ICEBERG_EXPORT Result<CommitMetricsResult> CommitMetricsResultFromJson(
46 const nlohmann::json& json);
52ICEBERG_EXPORT Result<nlohmann::json> ToJson(
const ScanReport& report);
53ICEBERG_EXPORT Result<ScanReport> ScanReportFromJson(
const nlohmann::json& json);
58ICEBERG_EXPORT Result<nlohmann::json> ToJson(
const CommitReport& report);
59ICEBERG_EXPORT Result<CommitReport> CommitReportFromJson(
const nlohmann::json& json);