Esempio n. 1
0
import logging
import re
import six

from django.utils.timezone import now
from structlog import get_logger
from structlog.processors import _json_fallback_handler

from sentry.utils import metrics, json

_default_encoder = json.JSONEncoder(
    separators=(",", ":"),
    ignore_nan=True,
    skipkeys=False,
    ensure_ascii=True,
    check_circular=True,
    allow_nan=True,
    indent=None,
    encoding="utf-8",
    default=_json_fallback_handler,
).encode

# These are values that come default from logging.LogRecord.
# They are defined here:
# https://github.com/python/cpython/blob/2.7/Lib/logging/__init__.py#L237-L310
throwaways = frozenset((
    "threadName",
    "thread",
    "created",
    "process",
    "processName",
Esempio n. 2
0
from threading import Lock
from zlib import compress as zlib_compress, decompress as zlib_decompress

from google.cloud import bigtable
from google.cloud.bigtable.row_set import RowSet
from django.utils import timezone

from sentry.utils import json
from sentry.nodestore.base import NodeStorage

# Cache an instance of the encoder we want to use
json_dumps = json.JSONEncoder(
    separators=(",", ":"),
    skipkeys=False,
    ensure_ascii=True,
    check_circular=True,
    allow_nan=True,
    indent=None,
    encoding="utf-8",
    default=None,
).encode

json_loads = json._default_decoder.decode

_connection_lock = Lock()
_connection_cache = {}


def get_connection(project, instance, table, options):
    key = (project, instance, table)
    try:
        # Fast check for an existing connection cached