Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
hip = None
# The first line is the header line
# We look for the line where the Destination is 00000000 - that is the default route
# The Gateway IP is encoded backwards in hex.
with open("/proc/self/net/route") as routes:
for line in routes:
parts = line.split('\t')
if '00000000' == parts[1]:
hip = parts[2]
if hip is not None and len(hip) == 8:
# Reverse order, convert hex to int
return "%i.%i.%i.%i" % (int(hip[6:8], 16), int(hip[4:6], 16), int(hip[2:4], 16), int(hip[0:2], 16))
except Exception:
logger.warning("get_default_gateway: ", exc_info=True)
# Save the list of middleware for Snapshot reporting
agent.sensor.meter.djmw = settings.MIDDLEWARE_CLASSES
if type(settings.MIDDLEWARE_CLASSES) is tuple:
settings.MIDDLEWARE_CLASSES = (DJ_INSTANA_MIDDLEWARE,) + settings.MIDDLEWARE_CLASSES
elif type(settings.MIDDLEWARE_CLASSES) is list:
settings.MIDDLEWARE_CLASSES = [DJ_INSTANA_MIDDLEWARE] + settings.MIDDLEWARE_CLASSES
else:
logger.warning("Instana: Couldn't add InstanaMiddleware to Django")
else:
logger.warning("Instana: Couldn't find middleware settings")
return wrapped(*args, **kwargs)
except Exception:
logger.warning("Instana: Couldn't add InstanaMiddleware to Django: ", exc_info=True)
elif hasattr(settings, 'MIDDLEWARE_CLASSES') and settings.MIDDLEWARE_CLASSES is not None:
if DJ_INSTANA_MIDDLEWARE in settings.MIDDLEWARE_CLASSES:
return wrapped(*args, **kwargs)
# Save the list of middleware for Snapshot reporting
agent.sensor.meter.djmw = settings.MIDDLEWARE_CLASSES
if type(settings.MIDDLEWARE_CLASSES) is tuple:
settings.MIDDLEWARE_CLASSES = (DJ_INSTANA_MIDDLEWARE,) + settings.MIDDLEWARE_CLASSES
elif type(settings.MIDDLEWARE_CLASSES) is list:
settings.MIDDLEWARE_CLASSES = [DJ_INSTANA_MIDDLEWARE] + settings.MIDDLEWARE_CLASSES
else:
logger.warning("Instana: Couldn't add InstanaMiddleware to Django")
else:
logger.warning("Instana: Couldn't find middleware settings")
return wrapped(*args, **kwargs)
except Exception:
logger.warning("Instana: Couldn't add InstanaMiddleware to Django: ", exc_info=True)
def error(self, message):
logger.warning(message)
# if self.get_option('debug'):
self.options = AWSFargateOptions()
self.report_headers = None
self._can_send = False
self.extra_headers = self.options.extra_http_headers
if "ECS_CONTAINER_METADATA_URI" not in os.environ:
logger.debug("AWSFargateAgent: ECS_CONTAINER_METADATA_URI not in environment. This won't work.")
self.ecmu = os.environ.get("ECS_CONTAINER_METADATA_URI", None)
if self._validate_options():
self._can_send = True
self.collector = AWSFargateCollector(self)
self.collector.start()
else:
logger.warning("Required INSTANA_AGENT_KEY and/or INSTANA_ENDPOINT_URL environment variables not set. "
"We will not be able monitor this AWS Fargate cluster.")
else:
logger.warning("Instana: Couldn't add InstanaMiddleware to Django")
elif hasattr(settings, 'MIDDLEWARE_CLASSES') and settings.MIDDLEWARE_CLASSES is not None:
if DJ_INSTANA_MIDDLEWARE in settings.MIDDLEWARE_CLASSES:
return wrapped(*args, **kwargs)
# Save the list of middleware for Snapshot reporting
agent.sensor.meter.djmw = settings.MIDDLEWARE_CLASSES
if type(settings.MIDDLEWARE_CLASSES) is tuple:
settings.MIDDLEWARE_CLASSES = (DJ_INSTANA_MIDDLEWARE,) + settings.MIDDLEWARE_CLASSES
elif type(settings.MIDDLEWARE_CLASSES) is list:
settings.MIDDLEWARE_CLASSES = [DJ_INSTANA_MIDDLEWARE] + settings.MIDDLEWARE_CLASSES
else:
logger.warning("Instana: Couldn't add InstanaMiddleware to Django")
else:
logger.warning("Instana: Couldn't find middleware settings")
return wrapped(*args, **kwargs)
except Exception:
logger.warning("Instana: Couldn't add InstanaMiddleware to Django: ", exc_info=True)
def start(self):
if self.agent.can_send():
t = threading.Thread(target=self.thread_loop, args=())
t.setDaemon(True)
t.start()
else:
logger.warning("Collector started but the agent tells us we can't send anything out.")