Example #1
0
    def __init__(self, *args, **kwargs):
        StacktraceProcessor.__init__(self, *args, **kwargs)

        # If true, the project has been opted into using the symbolicator
        # service for native symbolication, which also means symbolic is not
        # used at all anymore.
        # The (iOS) symbolserver is still used regardless of this value.
        self.use_symbolicator = _is_symbolicator_enabled(self.project)

        self.arch = cpu_name_from_data(self.data)
        self.signal = signal_from_data(self.data)

        self.sym = None
        self.difs_referenced = set()

        images = get_path(self.data, 'debug_meta', 'images', default=(),
                          filter=self._is_valid_image)

        if images:
            self.available = True
            self.sdk_info = get_sdk_from_event(self.data)
            self.object_lookup = ObjectLookup(images)
            self.images = images
        else:
            self.available = False
Example #2
0
 def close(self):
     StacktraceProcessor.close(self)
     if self.sourcemaps_touched:
         metrics.incr(
             'sourcemaps.processed',
             amount=len(self.sourcemaps_touched),
             instance=self.project.id
         )
Example #3
0
 def __init__(self, *args, **kwargs):
     StacktraceProcessor.__init__(self, *args, **kwargs)
     self.max_fetches = MAX_RESOURCE_FETCHES
     self.allow_scraping = self.project.get_option(
         'sentry:scrape_javascript', True)
     self.fetch_count = 0
     self.cache = SourceCache()
     self.sourcemaps = SourceMapCache()
     self.release = None
Example #4
0
 def close(self):
     StacktraceProcessor.close(self)
     if self.dsyms_referenced:
         metrics.incr('dsyms.processed',
                      amount=len(self.dsyms_referenced),
                      instance=self.project.id)
     if self.sym is not None:
         self.sym.close()
         self.sym = None
Example #5
0
 def close(self):
     StacktraceProcessor.close(self)
     if self.dsyms_referenced:
         metrics.incr('dsyms.processed',
                      amount=len(self.dsyms_referenced),
                      instance=self.project.id)
     if self.sym is not None:
         self.sym.close()
         self.sym = None
Example #6
0
 def __init__(self, *args, **kwargs):
     StacktraceProcessor.__init__(self, *args, **kwargs)
     self.max_fetches = MAX_RESOURCE_FETCHES
     self.allow_scraping = self.project.get_option(
         'sentry:scrape_javascript', True)
     self.fetch_count = 0
     self.cache = SourceCache()
     self.sourcemaps = SourceMapCache()
     self.release = None
Example #7
0
 def __init__(self, *args, **kwargs):
     StacktraceProcessor.__init__(self, *args, **kwargs)
     debug_meta = self.data.get('debug_meta')
     self.sym = None
     if debug_meta:
         self.available = True
         self.debug_meta = debug_meta
         self.sdk_info = get_sdk_from_event(self.data)
     else:
         self.available = False
Example #8
0
    def __init__(self, *args, **kwargs):
        StacktraceProcessor.__init__(self, *args, **kwargs)

        self.images = set()
        self.available = False

        for image in get_path(self.data, 'debug_meta', 'images', filter=True, default=()):
            if image.get('type') == 'proguard':
                self.available = True
                self.images.add(six.text_type(image['uuid']).lower())
Example #9
0
 def close(self):
     StacktraceProcessor.close(self)
     if self.dsyms_referenced:
         metrics.incr(
             'dsyms.processed',
             amount=len(self.dsyms_referenced),
             skip_internal=True,
             tags={
                 'project_id': self.project.id,
             },
         )
Example #10
0
 def close(self):
     StacktraceProcessor.close(self)
     if self.difs_referenced:
         metrics.incr(
             'dsyms.processed',
             amount=len(self.difs_referenced),
             skip_internal=True,
             tags={
                 'project_id': self.project.id,
             },
         )
Example #11
0
 def close(self):
     StacktraceProcessor.close(self)
     if self.sourcemaps_touched:
         metrics.incr(
             'sourcemaps.processed',
             amount=len(self.sourcemaps_touched),
             skip_internal=True,
             tags={
                 'project_id': self.project.id,
             },
         )
Example #12
0
 def close(self):
     StacktraceProcessor.close(self)
     if self.sourcemaps_touched:
         metrics.incr(
             'sourcemaps.processed',
             amount=len(self.sourcemaps_touched),
             skip_internal=True,
             tags={
                 'project_id': self.project.id,
             },
         )
Example #13
0
 def __init__(self, *args, **kwargs):
     StacktraceProcessor.__init__(self, *args, **kwargs)
     debug_meta = self.data.get('debug_meta')
     self.cpu_name = cpu_name_from_data(self.data)
     self.sym = None
     if debug_meta:
         self.available = True
         self.debug_meta = debug_meta
         self.sdk_info = get_sdk_from_event(self.data)
         self.image_lookup = ImageLookup(self.debug_meta['images'])
     else:
         self.available = False
Example #14
0
 def __init__(self, *args, **kwargs):
     StacktraceProcessor.__init__(self, *args, **kwargs)
     debug_meta = self.data.get('debug_meta')
     self.cpu_name = cpu_name_from_data(self.data)
     self.sym = None
     if debug_meta:
         self.available = True
         self.debug_meta = debug_meta
         self.sdk_info = get_sdk_from_event(self.data)
         self.image_lookup = ImageLookup(self.debug_meta['images'])
     else:
         self.available = False
Example #15
0
 def __init__(self, *args, **kwargs):
     StacktraceProcessor.__init__(self, *args, **kwargs)
     debug_meta = self.data.get('debug_meta')
     self.images = set()
     if debug_meta:
         self.available = True
         self.debug_meta = debug_meta
         for img in debug_meta['images']:
             if img['type'] == 'proguard':
                 self.images.add(six.text_type(img['uuid']).lower())
     else:
         self.available = False
Example #16
0
 def __init__(self, *args, **kwargs):
     StacktraceProcessor.__init__(self, *args, **kwargs)
     debug_meta = self.data.get('debug_meta')
     self.images = set()
     if debug_meta:
         self.available = True
         self.debug_meta = debug_meta
         for img in debug_meta['images']:
             if img['type'] == 'proguard':
                 self.images.add(img['uuid'])
     else:
         self.available = False
Example #17
0
 def __init__(self, *args, **kwargs):
     StacktraceProcessor.__init__(self, *args, **kwargs)
     self.max_fetches = MAX_RESOURCE_FETCHES
     self.allow_scraping = (self.project.organization.get_option(
         'sentry:scrape_javascript', True) is not False
                            and self.project.get_option(
                                'sentry:scrape_javascript', True))
     self.fetch_count = 0
     self.sourcemaps_touched = set()
     self.cache = SourceCache()
     self.sourcemaps = SourceMapCache()
     self.release = None
     self.dist = None
Example #18
0
    def __init__(self, *args, **kwargs):
        StacktraceProcessor.__init__(self, *args, **kwargs)

        self.images = set()
        self.available = False

        for image in get_path(self.data,
                              'debug_meta',
                              'images',
                              filter=is_valid_image,
                              default=()):
            self.available = True
            self.images.add(six.text_type(image['uuid']).lower())
Example #19
0
 def __init__(self, *args, **kwargs):
     StacktraceProcessor.__init__(self, *args, **kwargs)
     self.max_fetches = MAX_RESOURCE_FETCHES
     self.allow_scraping = (
         self.project.organization.get_option('sentry:scrape_javascript', True) is not False
         and self.project.get_option('sentry:scrape_javascript', True)
     )
     self.fetch_count = 0
     self.sourcemaps_touched = set()
     self.cache = SourceCache()
     self.sourcemaps = SourceMapCache()
     self.release = None
     self.dist = None
Example #20
0
 def __init__(self, *args, **kwargs):
     StacktraceProcessor.__init__(self, *args, **kwargs)
     debug_meta = self.data.get('debug_meta')
     self.arch = cpu_name_from_data(self.data)
     self.sym = None
     self.dsyms_referenced = set()
     if debug_meta:
         self.available = True
         self.debug_meta = debug_meta
         self.sdk_info = get_sdk_from_event(self.data)
         self.object_lookup = ObjectLookup(
             [img for img in self.debug_meta['images'] if img['type'] in self.supported_images]
         )
     else:
         self.available = False
Example #21
0
 def __init__(self, *args, **kwargs):
     StacktraceProcessor.__init__(self, *args, **kwargs)
     debug_meta = self.data.get('debug_meta')
     self.arch = cpu_name_from_data(self.data)
     self.sym = None
     self.difs_referenced = set()
     if debug_meta:
         self.available = True
         self.debug_meta = debug_meta
         self.sdk_info = get_sdk_from_event(self.data)
         self.object_lookup = ObjectLookup(
             [img for img in self.debug_meta['images'] if img['type'] in self.supported_images]
         )
     else:
         self.available = False
Example #22
0
    def __init__(self, *args, **kwargs):
        StacktraceProcessor.__init__(self, *args, **kwargs)

        self.arch = cpu_name_from_data(self.data)
        self.sym = None
        self.difs_referenced = set()

        images = get_path(self.data, 'debug_meta', 'images', default=(),
                          filter=self._is_valid_image)

        if images:
            self.available = True
            self.sdk_info = get_sdk_from_event(self.data)
            self.object_lookup = ObjectLookup(images)
        else:
            self.available = False
Example #23
0
    def __init__(self, *args, **kwargs):
        StacktraceProcessor.__init__(self, *args, **kwargs)

        self.arch = cpu_name_from_data(self.data)
        self.sym = None
        self.difs_referenced = set()

        images = get_path(self.data, 'debug_meta', 'images', default=(),
                          filter=(lambda img: img and img.get('type') in self.supported_images))

        if images:
            self.available = True
            self.sdk_info = get_sdk_from_event(self.data)
            self.object_lookup = ObjectLookup(images)
        else:
            self.available = False
Example #24
0
 def __init__(self, *args, **kwargs):
     StacktraceProcessor.__init__(self, *args, **kwargs)
     debug_meta = self.data.get('debug_meta')
     self.cpu_name = cpu_name_from_data(self.data)
     self.sym = None
     self.dsyms_referenced = set()
     if debug_meta:
         self.available = True
         self.debug_meta = debug_meta
         self.sdk_info = get_sdk_from_event(self.data)
         self.image_lookup = ImageLookup([
             img for img in self.debug_meta['images']
             if img['type'] == 'apple'
         ])
     else:
         self.available = False
Example #25
0
    def __init__(self, *args, **kwargs):
        StacktraceProcessor.__init__(self, *args, **kwargs)

        # Make sure we only fetch organization from cache
        # We don't need to persist it back since we don't want
        # to bloat the Event object.
        organization = getattr(self.project, '_organization_cache', None)
        if not organization:
            organization = Organization.objects.get_from_cache(
                id=self.project.organization_id)

        self.max_fetches = MAX_RESOURCE_FETCHES
        self.allow_scraping = (organization.get_option(
            'sentry:scrape_javascript', True) is not False
                               and self.project.get_option(
                                   'sentry:scrape_javascript', True))
        self.fetch_count = 0
        self.sourcemaps_touched = set()
        self.cache = SourceCache()
        self.sourcemaps = SourceMapCache()
        self.release = None
        self.dist = None
Example #26
0
 def close(self):
     StacktraceProcessor.close(self)
     if self.sourcemaps_touched:
         metrics.incr('sourcemaps.processed',
                      amount=len(self.sourcemaps_touched),
                      instance=self.project.id)
Example #27
0
 def close(self):
     StacktraceProcessor.close(self)
     if self.sym is not None:
         self.sym.close()
         self.sym = None