Interface WavefrontAPI


  • @Path("/")
    public interface WavefrontAPI
    API for the Agent.
    Author:
    Clement Pang (clement@wavefront.com)
    • Method Detail

      • getConfig

        @GET
        @Path("daemon/{agentId}/config")
        @Produces("application/json")
        AgentConfiguration getConfig​(@PathParam("agentId")
                                     UUID agentId,
                                     @QueryParam("hostname")
                                     String hostname,
                                     @QueryParam("currentMillis")
                                     Long currentMillis,
                                     @QueryParam("bytesLeftForBuffer")
                                     Long bytesLeftForbuffer,
                                     @QueryParam("bytesPerMinuteForBuffer")
                                     Long bytesPerMinuteForBuffer,
                                     @QueryParam("currentQueueSize")
                                     Long currentQueueSize,
                                     @QueryParam("token")
                                     String token,
                                     @QueryParam("version")
                                     String version)
        Polls for the configuration for the agent.
        Parameters:
        agentId - Agent id to poll for configuration.
        hostname - Hostname of the agent.
        currentMillis - Current millis on the agent (to adjust for timing).
        token - Token to auto-register the agent.
        version - Version of the agent.
        Returns:
        Configuration for the agent.
      • checkin

        @POST
        @Path("daemon/{sshDaemonId}/checkin")
        @Consumes("application/json")
        @Produces("application/json")
        AgentConfiguration checkin​(@PathParam("sshDaemonId")
                                   UUID agentId,
                                   @QueryParam("hostname")
                                   String hostname,
                                   @QueryParam("token")
                                   String token,
                                   @QueryParam("version")
                                   String version,
                                   @QueryParam("currentMillis")
                                   Long currentMillis,
                                   @QueryParam("local")
                                   Boolean localAgent,
                                   com.fasterxml.jackson.databind.JsonNode agentMetrics,
                                   @QueryParam("push")
                                   Boolean pushAgent,
                                   @QueryParam("ephemeral")
                                   Boolean ephemeral)
      • postPushData

        @POST
        @Consumes("text/plain")
        @Path("daemon/{agentId}/pushdata/{workUnitId}")
        javax.ws.rs.core.Response postPushData​(@PathParam("agentId")
                                               UUID agentId,
                                               @PathParam("workUnitId")
                                               UUID workUnitId,
                                               @Deprecated @QueryParam("currentMillis")
                                               Long currentMillis,
                                               @QueryParam("format")
                                               String format,
                                               String pushData)
        Post batched data from pushed data (graphitehead, statsd) that was proxied through the collector.
        Parameters:
        agentId - Agent Id of the agent reporting the result.
        workUnitId - Work unit that the agent is reporting.
        currentMillis - Current millis on the agent (to adjust for timing).
        format - The format of the data
        pushData - The batched push data
      • agentError

        @POST
        @Path("daemon/{agentId}/error")
        void agentError​(@PathParam("agentId")
                        UUID agentId,
                        @FormParam("details")
                        String details)
        Reports an error that occured in the agent.
        Parameters:
        agentId - Agent reporting the error.
        details - Details of the error.
      • agentConfigProcessed

        @POST
        @Path("daemon/{agentId}/config/processed")
        void agentConfigProcessed​(@PathParam("agentId")
                                  UUID agentId)
      • postWorkUnitResult

        @POST
        @Consumes("application/json")
        @Path("daemon/{agentId}/workunit/{workUnitId}/{hostId}")
        javax.ws.rs.core.Response postWorkUnitResult​(@PathParam("agentId")
                                                     UUID agentId,
                                                     @PathParam("workUnitId")
                                                     UUID workUnitId,
                                                     @PathParam("hostId")
                                                     UUID targetId,
                                                     ShellOutputDTO shellOutputDTO)
        Post work unit results from an agent executing a particular work unit on a host machine.
        Parameters:
        agentId - Agent Id of the agent reporting the result.
        workUnitId - Work unit that the agent is reporting.
        targetId - The target that's reporting the result.
        shellOutputDTO - The output of running the work unit.
      • hostConnectionFailed

        @POST
        @Path("daemon/{agentId}/host/{hostId}/fail")
        void hostConnectionFailed​(@PathParam("agentId")
                                  UUID agentId,
                                  @PathParam("hostId")
                                  UUID hostId,
                                  @FormParam("details")
                                  String details)
        Reports that a host has failed to connect.
        Parameters:
        agentId - Agent reporting the error.
        hostId - Host that is experiencing connection issues.
        details - Details of the error.
      • hostConnectionEstablished

        @POST
        @Path("daemon/{agentId}/host/{hostId}/connect")
        void hostConnectionEstablished​(@PathParam("agentId")
                                       UUID agentId,
                                       @PathParam("hostId")
                                       UUID hostId)
        Reports that a connection to a host has been established.
        Parameters:
        agentId - Agent reporting the event.
        hostId - Host.
      • hostAuthenticated

        @POST
        @Path("daemon/{agentId}/host/{hostId}/auth")
        void hostAuthenticated​(@PathParam("agentId")
                               UUID agentId,
                               @PathParam("hostId")
                               UUID hostId)
        Reports that an auth handshake to a host has been completed.
        Parameters:
        agentId - Agent reporting the event.
        hostId - Host.