Class DatadogAgentClient

  • All Implemented Interfaces:
    DatadogClient

    public class DatadogAgentClient
    extends Object
    implements DatadogClient
    This class is used to collect all methods that has to do with transmitting data to Datadog.
    • Field Detail

      • enableValidations

        public static boolean enableValidations
    • Constructor Detail

      • DatadogAgentClient

        protected DatadogAgentClient​(String hostname,
                                     Integer port,
                                     Integer logCollectionPort,
                                     Integer traceCollectionPort)
      • DatadogAgentClient

        protected DatadogAgentClient​(String hostname,
                                     Integer port,
                                     Integer logCollectionPort,
                                     Integer traceCollectionPort,
                                     long evpProxyTimeoutMillis)
    • Method Detail

      • getInstance

        public static DatadogClient getInstance​(String hostname,
                                                Integer port,
                                                Integer logCollectionPort,
                                                Integer traceCollectionPort)
        NOTE: Use ClientFactory.getClient method to instantiate the client in the Jenkins Plugin This method is not recommended to be used because it misses some validations.
        Parameters:
        hostname - - target hostname
        port - - target port
        logCollectionPort - - target log collection port
        traceCollectionPort - - target trace collection port
        Returns:
        an singleton instance of the DogStatsDClient.
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object
      • fetchAgentSupportedEndpoints

        public Set<String> fetchAgentSupportedEndpoints()
        Fetches the supported endpoints from the Trace Agent /info API
        Returns:
        a list of endpoints (if /info wasn't available, it will be empty)
      • getHostname

        public String getHostname()
      • getPort

        public Integer getPort()
      • getLogCollectionPort

        public Integer getLogCollectionPort()
      • getTraceCollectionPort

        public Integer getTraceCollectionPort()
      • event

        public boolean event​(DatadogEvent event)
        Description copied from interface: DatadogClient
        Sends an event to the Datadog API, including the event payload.
        Specified by:
        event in interface DatadogClient
        Parameters:
        event - - a DatadogEvent object
        Returns:
        a boolean to signify the success or failure of the HTTP POST request.
      • serviceCheck

        public boolean serviceCheck​(String name,
                                    DatadogClient.Status status,
                                    String hostname,
                                    Map<String,​Set<String>> tags)
        Description copied from interface: DatadogClient
        Sends a service check to the Datadog API, including the check name, and status.
        Specified by:
        serviceCheck in interface DatadogClient
        Parameters:
        name - - A String with the name of the service check to record.
        status - - An Status with the status code to record for this service check.
        hostname - - A String with the hostname to submit.
        tags - - A Map containing the tags to submit.
        Returns:
        a boolean to signify the success or failure of the HTTP POST request.
      • sendLogs

        public boolean sendLogs​(String payload)
        Description copied from interface: DatadogClient
        Send log message.
        Specified by:
        sendLogs in interface DatadogClient
        Parameters:
        payload - log payload to submit JSON object as String
        Returns:
        a boolean to signify the success or failure of the request.