Ejemplo n.º 1
0
    def database_host_metrics_view(self, request, database, hostname):
        from util.metrics.metrics import get_metric_datapoints_for
        URL = get_credentials_for(
            environment=database.environment,
            credential_type=CredentialType.GRAPHITE).endpoint

        title = "{} Metrics".format(database.name)

        if request.method == 'GET':
            engine = database.infra.engine_name
            db_name = database.name
            hosts = []

            for host in Host.objects.filter(
                    instance__databaseinfra=database.infra).distinct():
                hosts.append(host.hostname.split('.')[0])

            graph_data = get_metric_datapoints_for(engine,
                                                   db_name,
                                                   hostname,
                                                   url=URL,
                                                   granurality='10seconds',
                                                   from_option='2hours')

        return render_to_response("logical/database/metrics/metrics.html",
                                  locals(),
                                  context_instance=RequestContext(request))
Ejemplo n.º 2
0
    def metricdetail_view(self, request, database_id):
        from util.metrics.metrics import get_metric_datapoints_for

        hostname = request.GET.get('hostname')
        metricname = request.GET.get('metricname')

        database = Database.objects.get(id=database_id)
        engine = database.infra.engine_name
        db_name = database.name
        URL = get_credentials_for(
            environment=database.environment, credential_type=CredentialType.GRAPHITE).endpoint

        from_option = request.POST.get('change_from') or '2hours'
        granurality = self.get_granurality(from_option) or '20minutes'

        from_options = self.build_select_options(
            from_option, self.get_from_options())

        graph_data = get_metric_datapoints_for(engine, db_name, hostname,
                                               url=URL, metric_name=metricname,
                                               granurality=granurality,
                                               from_option=from_option)

        title = "{} {} Metric".format(
            database.name, graph_data[0]["graph_name"])

        show_filters = Configuration.get_by_name_as_int('metric_filters')
        if graph_data[0]['normalize_series'] == True:
            show_filters = False

        return render_to_response("logical/database/metrics/metricdetail.html", locals(), context_instance=RequestContext(request))
Ejemplo n.º 3
0
    def database_host_metrics_view(self, request, database, hostname):
        from util.metrics.metrics import get_metric_datapoints_for
        URL = get_credentials_for(environment=database.environment, credential_type=CredentialType.GRAPHITE).endpoint

        title = "{} Metrics".format(database.name)

        if request.method == 'GET':
            engine = database.infra.engine_name
            db_name = database.name
            hosts = []

            for host in Host.objects.filter(instance__databaseinfra=database.infra).distinct():
                hosts.append(host.hostname.split('.')[0])

            graph_data = get_metric_datapoints_for(engine, db_name, hostname, url=URL)

        return render_to_response("logical/database/metrics/metrics.html", locals(), context_instance=RequestContext(request))
Ejemplo n.º 4
0
    def metricdetail_view(self, request, database_id):
        from util.metrics.metrics import get_metric_datapoints_for

        if request.method == 'GET':
            hostname = request.GET.get('hostname')
            metricname = request.GET.get('metricname')

        database = Database.objects.get(id=database_id)
        engine = database.infra.engine_name
        db_name = database.name
        URL = get_credentials_for(environment=database.environment, credential_type=CredentialType.GRAPHITE).endpoint
        graph_data = get_metric_datapoints_for(engine, db_name, hostname, url=URL, metric_name=metricname)

        title = "{} {} Metric".format(database.name, graph_data[0]["graph_name"])


        return render_to_response("logical/database/metrics/metricdetail.html", locals(), context_instance=RequestContext(request))
Ejemplo n.º 5
0
    def database_host_metrics_view(self, request, database, hostname):
        from util.metrics.metrics import get_metric_datapoints_for
        URL = get_credentials_for(environment=database.environment, credential_type=CredentialType.GRAPHITE).endpoint

        title = "{} Metrics".format(database.name)

        if request.method == 'GET':
            engine = database.infra.engine_name
            db_name = database.name
            hosts = []

            for instance in database.infra.instances.all():
                hosts.append(instance.hostname.hostname.split('.')[0])

            graph_data = get_metric_datapoints_for(engine, db_name, hostname, url=URL)


            return render_to_response("logical/database/metrics/metrics.html", locals(), context_instance=RequestContext(request))
Ejemplo n.º 6
0
    def metricdetail_view(self, request, database_id):
        from util.metrics.metrics import get_metric_datapoints_for

        hostname = request.GET.get('hostname')
        metricname = request.GET.get('metricname')

        database = Database.objects.get(id=database_id)
        engine = database.infra.engine_name
        db_name = database.name
        URL = get_credentials_for(
            environment=database.environment,
            credential_type=CredentialType.GRAPHITE).endpoint

        from_option = request.POST.get('change_from') or '2hours'
        granurality = self.get_granurality(from_option) or '20minutes'

        from_options = self.build_select_options(from_option,
                                                 self.get_from_options())

        graph_data = get_metric_datapoints_for(engine,
                                               db_name,
                                               hostname,
                                               url=URL,
                                               metric_name=metricname,
                                               granurality=granurality,
                                               from_option=from_option)

        title = "{} {} Metric".format(database.name,
                                      graph_data[0]["graph_name"])

        show_filters = Configuration.get_by_name_as_int('metric_filters')
        if graph_data[0]['normalize_series'] == True:
            show_filters = False

        return render_to_response("logical/database/metrics/metricdetail.html",
                                  locals(),
                                  context_instance=RequestContext(request))