def _parse_args(self, request, environment_id=None): resolution = request.GET.get("resolution") if resolution: resolution = self._parse_resolution(resolution) assert resolution in tsdb.get_rollups() end = request.GET.get("until") if end: end = to_datetime(float(end)) else: end = datetime.utcnow().replace(tzinfo=utc) start = request.GET.get("since") if start: start = to_datetime(float(start)) assert start <= end, "start must be before or equal to end" else: start = end - timedelta(days=1, seconds=-1) if not resolution: resolution = tsdb.get_optimal_rollup(start, end) return { "start": start, "end": end, "rollup": resolution, "environment_ids": environment_id and [environment_id], }
def _parse_args(self, request, environment_id=None): resolution = request.GET.get('resolution') if resolution: resolution = self._parse_resolution(resolution) assert resolution in tsdb.get_rollups() end = request.GET.get('until') if end: end = to_datetime(float(end)) else: end = datetime.utcnow().replace(tzinfo=utc) start = request.GET.get('since') if start: start = to_datetime(float(start)) assert start <= end, 'start must be before or equal to end' else: start = end - timedelta(days=1, seconds=-1) return { 'start': start, 'end': end, 'rollup': resolution, 'environment_id': environment_id, }
def _parse_args(self, request, environment_id=None): resolution = request.GET.get('resolution') if resolution: resolution = self._parse_resolution(resolution) assert resolution in tsdb.get_rollups() end = request.GET.get('until') if end: end = to_datetime(float(end)) else: end = datetime.utcnow().replace(tzinfo=utc) start = request.GET.get('since') if start: start = to_datetime(float(start)) assert start <= end, 'start must be before or equal to end' else: start = end - timedelta(days=1, seconds=-1) return { 'start': start, 'end': end, 'rollup': resolution, 'environment_ids': environment_id and [environment_id], }
def _parse_args(self, request: Request, environment_id=None): try: resolution = request.GET.get("resolution") if resolution: resolution = self._parse_resolution(resolution) if resolution not in tsdb.get_rollups(): raise ValueError except ValueError: raise ParseError(detail="Invalid resolution") try: end = request.GET.get("until") if end: end = to_datetime(float(end)) else: end = datetime.utcnow().replace(tzinfo=utc) except ValueError: raise ParseError(detail="until must be a numeric timestamp.") try: start = request.GET.get("since") if start: start = to_datetime(float(start)) assert start <= end else: start = end - timedelta(days=1, seconds=-1) except ValueError: raise ParseError(detail="since must be a numeric timestamp") except AssertionError: raise ParseError(detail="start must be before or equal to end") if not resolution: resolution = tsdb.get_optimal_rollup(start, end) return { "start": start, "end": end, "rollup": resolution, "environment_ids": environment_id and [environment_id], }