// Path: telemetry-lib/src/main/java/com/yammer/telemetry/tracing/Sampling.java
// public abstract class Sampling {
//     public static final Sampling ON = new SamplingOn();
//     public static final Sampling OFF = new SamplingOff();
// 
//     public abstract boolean trace();
// 
//     public static Sampling valueOf(String samplerName) {
//         if ("off".equalsIgnoreCase(samplerName)) return OFF;
//         if ("on".equalsIgnoreCase(samplerName)) return ON;
//         return null;
//     }
// 
//     private static class SamplingOff extends Sampling {
//         @Override
//         public boolean trace() {
//             return false;
//         }
//     }
// 
//     private static class SamplingOn extends Sampling {
//         @Override
//         public boolean trace() {
//             return true;
//         }
//     }
// }
// 
// Path: telemetry-lib/src/main/java/com/yammer/telemetry/tracing/ServiceAnnotations.java
// public class ServiceAnnotations {
//     public String service;
//     public int pid;
//     public String host;
// 
//     public ServiceAnnotations() {
//         initPidAndHost();
//     }
// 
//     public ServiceAnnotations(String service) {
//         this.service = service;
//         initPidAndHost();
//     }
// 
//     private void initPidAndHost() {
//         String pidAndHostString = ManagementFactory.getRuntimeMXBean().getName();
//         if (pidAndHostString != null) {
//             String[] pidAndHost = pidAndHostString.split("@");
//             if (pidAndHost.length == 2) {
//                 try {
//                     this.pid = Integer.parseInt(pidAndHost[0]);
//                 } catch (NumberFormatException ignored) {
//                 }
//                 this.host = pidAndHost[1];
//             } else {
//                 this.host = pidAndHostString;
//             }
//         }
//     }
// 
//     public String getService() {
//         return service;
//     }
// 
//     @JsonIgnore
//     public int getPid() {
//         return pid;
//     }
// 
//     @JsonIgnore
//     public String getHost() {
//         return host;
//     }
// }


import com.yammer.telemetry.tracing.Sampling;
import com.yammer.telemetry.tracing.ServiceAnnotations;
import javax.validation.constraints.NotNull;
import java.util.Collections;
import java.util.List;
package com.yammer.telemetry.agent;



public class TelemetryConfiguration {
    private List<String> instruments = Collections.emptyList();
    private SinkConfiguration sinks = new SinkConfiguration();
    private ServiceAnnotations annotations = new ServiceAnnotations("unknown");

    @NotNull
// Path: telemetry-lib/src/main/java/com/yammer/telemetry/tracing/Sampling.java
// public abstract class Sampling {
//     public static final Sampling ON = new SamplingOn();
//     public static final Sampling OFF = new SamplingOff();
// 
//     public abstract boolean trace();
// 
//     public static Sampling valueOf(String samplerName) {
//         if ("off".equalsIgnoreCase(samplerName)) return OFF;
//         if ("on".equalsIgnoreCase(samplerName)) return ON;
//         return null;
//     }
// 
//     private static class SamplingOff extends Sampling {
//         @Override
//         public boolean trace() {
//             return false;
//         }
//     }
// 
//     private static class SamplingOn extends Sampling {
//         @Override
//         public boolean trace() {
//             return true;
//         }
//     }
// }
// 
// Path: telemetry-lib/src/main/java/com/yammer/telemetry/tracing/ServiceAnnotations.java
// public class ServiceAnnotations {
//     public String service;
//     public int pid;
//     public String host;
// 
//     public ServiceAnnotations() {
//         initPidAndHost();
//     }
// 
//     public ServiceAnnotations(String service) {
//         this.service = service;
//         initPidAndHost();
//     }
// 
//     private void initPidAndHost() {
//         String pidAndHostString = ManagementFactory.getRuntimeMXBean().getName();
//         if (pidAndHostString != null) {
//             String[] pidAndHost = pidAndHostString.split("@");
//             if (pidAndHost.length == 2) {
//                 try {
//                     this.pid = Integer.parseInt(pidAndHost[0]);
//                 } catch (NumberFormatException ignored) {
//                 }
//                 this.host = pidAndHost[1];
//             } else {
//                 this.host = pidAndHostString;
//             }
//         }
//     }
// 
//     public String getService() {
//         return service;
//     }
// 
//     @JsonIgnore
//     public int getPid() {
//         return pid;
//     }
// 
//     @JsonIgnore
//     public String getHost() {
//         return host;
//     }
// }


// Path: telemetry-agent/src/main/java/com/yammer/telemetry/agent/TelemetryConfiguration.java
import com.yammer.telemetry.tracing.Sampling;
import com.yammer.telemetry.tracing.ServiceAnnotations;
import javax.validation.constraints.NotNull;
import java.util.Collections;
import java.util.List;

package com.yammer.telemetry.agent;



public class TelemetryConfiguration {
    private List<String> instruments = Collections.emptyList();
    private SinkConfiguration sinks = new SinkConfiguration();
    private ServiceAnnotations annotations = new ServiceAnnotations("unknown");

    @NotNull
    private Sampling sampler = Sampling.ON;