def __init__(self, dfk, ip='<STR_LIT>', port=<NUM_LIT>,<EOL>domain_name='<STR_LIT>'):
self.domain_name = domain_name<EOL>self.ip = ip<EOL>self.sock_timeout = <NUM_LIT:5><EOL>self.UDP_PORT = port<EOL>self.UDP_IP = None<EOL>self.procs = []<EOL>self.dfk = dfk<EOL>self.config = self.dfk.config<EOL>self.uuid = str(uuid.uuid4())<EOL>self.parsl_version = PARSL_VERSION<EOL>self.python_version = "<STR_LIT>".format(sys.version_info.major,<EOL>sys.version_info.minor,<EOL>sys.version_info.micro)<EOL>self.test_mode, self.tracking_enabled = self.check_tracking_enabled()<EOL>logger.debug("<STR_LIT>".format(self.tracking_enabled))<EOL>logger.debug("<STR_LIT>".format(self.test_mode))<EOL>self.initialized = False<EOL>
Initialize usage tracking unless the user has opted-out.

        We will try to resolve the hostname specified in kwarg:domain_name
        and if that fails attempt to use the kwarg:ip. Determining the
        IP and sending message is threaded to avoid slowing down DFK
        initialization.

        Tracks usage stats by inspecting the internal state of the dfk.

        Args:
             - dfk (DFK object) : Data Flow Kernel object

        KWargs:
             - ip (string) : IP address
             - port (int) : Port number, Default:50077
             - domain_name (string) : Domain name, will override IP
                  Default: tracking.parsl-project.org