def page_context(self): count = int(self.request.GET.get('changes', 1000)) changes = list(get_recent_changes(get_db(), count)) domain_counts = defaultdict(lambda: 0) doc_type_counts = defaultdict(lambda: 0) for change in changes: domain_counts[change['domain']] += 1 doc_type_counts[change['doc_type']] += 1 def _to_chart_data(data_dict): return [{ 'label': l, 'value': v } for l, v in sorted( list(data_dict.items()), key=lambda tup: tup[1], reverse=True) ][:20] return { 'count': count, 'recent_changes': changes, 'domain_data': { 'key': 'domains', 'values': _to_chart_data(domain_counts) }, 'doc_type_data': { 'key': 'doc types', 'values': _to_chart_data(doc_type_counts) }, }
def view_recent_changes(request): count = int(request.GET.get("changes", 1000)) changes = list(get_recent_changes(get_db(), count)) domain_counts = defaultdict(lambda: 0) doc_type_counts = defaultdict(lambda: 0) for change in changes: domain_counts[change["domain"]] += 1 doc_type_counts[change["doc_type"]] += 1 def _to_chart_data(data_dict): return [{"label": l, "value": v} for l, v in sorted(data_dict.items(), key=lambda tup: tup[1], reverse=True)][ :20 ] return render( request, "hqadmin/couch_changes.html", { "count": count, "recent_changes": changes, "domain_data": {"key": "domains", "values": _to_chart_data(domain_counts)}, "doc_type_data": {"key": "doc types", "values": _to_chart_data(doc_type_counts)}, "hide_filters": True, }, )
def system_info(request): environment = settings.SERVER_ENVIRONMENT context = get_hqadmin_base_context(request) context['couch_update'] = request.GET.get('couch_update', 5000) context['celery_update'] = request.GET.get('celery_update', 10000) context['celery_flower_url'] = getattr(settings, 'CELERY_FLOWER_URL', None) # recent changes recent_changes = int(request.GET.get('changes', 50)) context['recent_changes'] = get_recent_changes(get_db(), recent_changes) context['rabbitmq_url'] = get_rabbitmq_management_url() context['hide_filters'] = True context['current_system'] = socket.gethostname() context['last_deploy'] = HqDeploy.get_latest(environment) context['snapshot'] = context['last_deploy'].code_snapshot if context[ 'last_deploy'] else {} context.update(check_redis()) context.update(check_rabbitmq()) context.update(check_celery_health()) context.update(check_memcached()) context.update(check_es_cluster_health()) return render(request, "hqadmin/system_info.html", context)
def get_last_change_for_doc_class(doc_class): """ return _id and _rev of the last doc of `doc_type` in changes feed raise StopIteration if not found in last 100 changes """ db = doc_class.get_db() doc_type = doc_class._doc_type return next((change['id'], change['rev']) for change in get_recent_changes(db, 100) if change['doc_type'] == doc_type)
def get_last_change_for_doc_class(doc_class): """ return _id and _rev of the last doc of `doc_type` in changes feed raise StopIteration if not found in last 100 changes """ db = doc_class.get_db() doc_type = doc_class._doc_type return ( (change["id"], change["rev"]) for change in get_recent_changes(db, 100) if change["doc_type"] == doc_type ).next()
def system_info(request): def human_bytes(bytes): #source: https://github.com/bartTC/django-memcache-status bytes = float(bytes) if bytes >= 1073741824: gigabytes = bytes / 1073741824 size = '%.2fGB' % gigabytes elif bytes >= 1048576: megabytes = bytes / 1048576 size = '%.2fMB' % megabytes elif bytes >= 1024: kilobytes = bytes / 1024 size = '%.2fKB' % kilobytes else: size = '%.2fB' % bytes return size context = get_hqadmin_base_context(request) context['couch_update'] = request.GET.get('couch_update', 5000) context['celery_update'] = request.GET.get('celery_update', 10000) context['celery_flower_url'] = getattr(settings, 'CELERY_FLOWER_URL', None) # recent changes recent_changes = int(request.GET.get('changes', 50)) context['recent_changes'] = get_recent_changes(get_db(), recent_changes) context['rabbitmq_url'] = get_rabbitmq_management_url() context['hide_filters'] = True context['current_system'] = socket.gethostname() environment = settings.SERVER_ENVIRONMENT context['last_deploy'] = HqDeploy.get_latest(environment) context['snapshot'] = context['last_deploy'].code_snapshot if context['last_deploy'] else {} #redis status redis_status = "" redis_results = "" if 'redis' in settings.CACHES: rc = cache.get_cache('redis') try: import redis redis_api = redis.StrictRedis.from_url('redis://%s' % rc._server) info_dict = redis_api.info() redis_status = "Online" redis_results = "Used Memory: %s" % info_dict['used_memory_human'] except Exception, ex: redis_status = "Offline" redis_results = "Redis connection error: %s" % ex
def page_context(self): count = int(self.request.GET.get('changes', 1000)) changes = list(get_recent_changes(get_db(), count)) domain_counts = defaultdict(lambda: 0) doc_type_counts = defaultdict(lambda: 0) for change in changes: domain_counts[change['domain']] += 1 doc_type_counts[change['doc_type']] += 1 def _to_chart_data(data_dict): return [ {'label': l, 'value': v} for l, v in sorted(list(data_dict.items()), key=lambda tup: tup[1], reverse=True) ][:20] return { 'count': count, 'recent_changes': changes, 'domain_data': {'key': 'domains', 'values': _to_chart_data(domain_counts)}, 'doc_type_data': {'key': 'doc types', 'values': _to_chart_data(doc_type_counts)}, }
def view_recent_changes(request): count = int(request.GET.get('changes', 1000)) changes = list(get_recent_changes(get_db(), count)) domain_counts = defaultdict(lambda: 0) doc_type_counts = defaultdict(lambda: 0) for change in changes: domain_counts[change['domain']] += 1 doc_type_counts[change['doc_type']] += 1 def _to_chart_data(data_dict): return [ {'label': l, 'value': v} for l, v in sorted(data_dict.items(), key=lambda tup: tup[1], reverse=True) ][:20] return render(request, 'hqadmin/couch_changes.html', { 'count': count, 'recent_changes': changes, 'domain_data': {'key': 'domains', 'values': _to_chart_data(domain_counts)}, 'doc_type_data': {'key': 'doc types', 'values': _to_chart_data(doc_type_counts)}, 'hide_filters': True, })
def system_info(request): environment = settings.SERVER_ENVIRONMENT context = get_hqadmin_base_context(request) context['couch_update'] = request.GET.get('couch_update', 5000) context['celery_update'] = request.GET.get('celery_update', 10000) context['celery_flower_url'] = getattr(settings, 'CELERY_FLOWER_URL', None) # recent changes recent_changes = int(request.GET.get('changes', 50)) context['recent_changes'] = get_recent_changes(get_db(), recent_changes) context['rabbitmq_url'] = get_rabbitmq_management_url() context['hide_filters'] = True context['current_system'] = socket.gethostname() context['deploy_history'] = HqDeploy.get_latest(environment, limit=5) context.update(check_redis()) context.update(check_rabbitmq()) context.update(check_celery_health()) context.update(check_memcached()) context.update(check_es_cluster_health()) return render(request, "hqadmin/system_info.html", context)
def handle(self, *args, **options): limit = int(args[0]) if args else 500 for row in get_recent_changes(get_db(), limit): print '{domain},{doc_type},{id},{rev}'.format(**row)