Class EC2Plugin

  • All Implemented Interfaces:
    Plugin

    public class EC2Plugin
    extends java.lang.Object
    implements Plugin
    A plugin, for use with the AWSXRayRecorderBuilder class, which will add EC2 instance information to segments generated by the built AWSXRayRecorder instance.
    See Also:
    AWSXRayRecorderBuilder.withPlugin(Plugin)
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String ORIGIN  
    • Constructor Summary

      Constructors 
      Constructor Description
      EC2Plugin()  
      EC2Plugin​(java.nio.file.FileSystem fs, com.amazonaws.xray.plugins.EC2MetadataFetcher metadataFetcher)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean equals​(@Nullable java.lang.Object o)
      Determine equality of plugins using origin to uniquely identify them
      java.util.Set<AWSLogReference> getLogReferences()  
      java.lang.String getOrigin()
      Returns the name of the origin associated with this plugin.
      java.util.Map<java.lang.String,​@Nullable java.lang.Object> getRuntimeContext()  
      java.lang.String getServiceName()  
      int hashCode()
      Hash plugin object using origin to uniquely identify them
      boolean isEnabled()  
      void populateLogReferences()
      Reads the log group configuration file generated by the CloudWatch Agent to discover all log groups being used on this instance and populates log reference set with them to be included in trace documents.
      void populateRuntimeContext()
      Reads EC2 provided metadata to include it in trace document
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • EC2Plugin

        public EC2Plugin()
      • EC2Plugin

        public EC2Plugin​(java.nio.file.FileSystem fs,
                         com.amazonaws.xray.plugins.EC2MetadataFetcher metadataFetcher)
    • Method Detail

      • isEnabled

        public boolean isEnabled()
        Specified by:
        isEnabled in interface Plugin
        Returns:
        true if an environment inspection determines X-Ray is operating in the correct environment for this plugin OR if X-Ray cannot accurately determine if it's in this plugin's environment
      • getServiceName

        public java.lang.String getServiceName()
        Specified by:
        getServiceName in interface Plugin
      • populateRuntimeContext

        public void populateRuntimeContext()
        Reads EC2 provided metadata to include it in trace document
      • getRuntimeContext

        public java.util.Map<java.lang.String,​@Nullable java.lang.Object> getRuntimeContext()
        Specified by:
        getRuntimeContext in interface Plugin
      • populateLogReferences

        public void populateLogReferences()
        Reads the log group configuration file generated by the CloudWatch Agent to discover all log groups being used on this instance and populates log reference set with them to be included in trace documents.
      • getLogReferences

        public java.util.Set<AWSLogReference> getLogReferences()
        Specified by:
        getLogReferences in interface Plugin
        Returns:
        Set of AWS log references used by CloudWatch agent. The ARN of these log references is not available at this time.
      • getOrigin

        public java.lang.String getOrigin()
        Description copied from interface: Plugin
        Returns the name of the origin associated with this plugin. The AWSXRayRecorder contains a prioritized list of origins from least to most specific.
        Specified by:
        getOrigin in interface Plugin
        Returns:
        the name of the origin associated with this plugin.
      • equals

        public boolean equals​(@Nullable java.lang.Object o)
        Determine equality of plugins using origin to uniquely identify them
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Hash plugin object using origin to uniquely identify them
        Overrides:
        hashCode in class java.lang.Object