Are you trying to provide a custom link and react page for one of your devices, or provide the information necessary for your device to have a "Details" diagnostics page like some of the other Ignition devices?
Yes, but you should be able to intuit that from the constructors and not the JSON serialization:
public record SamplingMetrics(
AggregateStats aggregateStats,
List<SamplingGroupStats> samplingGroupStats
) {
public record AggregateStats(
int requestCount,
int monitoredItemCount,
Snapshot histogram,
double meanThroughput,
double oneMinuteThroughput
) {}
public record SamplingGroupStats(
int requestCount,
int samplingInterval,
double queueDuration,
double overloadFactor,
Snapshot histogram,
double meanThroughput,
double oneMinuteThroughput
) {}
The Snapshot objects come from instances of com.codahale.metrics.Timer. The whole sampling metrics concept is meant for devices that measure their request executions with a Timer.
The log activity is any log statements where the MDC key "device-name" is set to the name of the device instance being viewed. Nothing can be controlled.