def add_tags(self, group, environment, tags):
        project_id = group.project_id
        date = group.last_seen

        for tag_item in tags:
            if len(tag_item) == 2:
                (key, value), data = tag_item, None
            else:
                key, value, data = tag_item

            tagstore.incr_tag_value_times_seen(project_id,
                                               environment.id,
                                               key,
                                               value,
                                               extra={
                                                   'last_seen': date,
                                                   'data': data,
                                               })

            tagstore.incr_group_tag_value_times_seen(project_id,
                                                     group.id,
                                                     environment.id,
                                                     key,
                                                     value,
                                                     extra={
                                                         'project_id':
                                                         project_id,
                                                         'last_seen': date,
                                                     })
示例#2
0
def repair_tag_data(caches, project, events):
    for (group_id, env_name), keys in collect_tag_data(events).items():
        environment = caches["Environment"](project.organization_id, env_name)
        for key, values in keys.items():
            tagstore.get_or_create_group_tag_key(
                project_id=project.id, group_id=group_id, environment_id=environment.id, key=key
            )

            # XXX: `{first,last}_seen` columns don't totally replicate the
            # ingestion logic (but actually represent a more accurate value.)
            # See GH-5289 for more details.
            for value, (times_seen, first_seen, last_seen) in values.items():
                _, created = tagstore.get_or_create_group_tag_value(
                    project_id=project.id,
                    group_id=group_id,
                    environment_id=environment.id,
                    key=key,
                    value=value,
                    defaults={
                        "first_seen": first_seen,
                        "last_seen": last_seen,
                        "times_seen": times_seen,
                    },
                )

                if not created:
                    tagstore.incr_group_tag_value_times_seen(
                        project_id=project.id,
                        group_id=group_id,
                        environment_id=environment.id,
                        key=key,
                        value=value,
                        count=times_seen,
                        extra={"first_seen": first_seen},
                    )
示例#3
0
    def add_tags(self, group, environment, tags):
        project_id = group.project_id
        date = group.last_seen

        for tag_item in tags:
            if len(tag_item) == 2:
                (key, value), data = tag_item, None
            else:
                key, value, data = tag_item

            tagstore.incr_tag_value_times_seen(project_id,
                                               environment.id,
                                               key,
                                               value,
                                               extra={
                                                   "last_seen": date,
                                                   "data": data
                                               })

            tagstore.incr_group_tag_value_times_seen(
                project_id,
                group.id,
                environment.id,
                key,
                value,
                extra={
                    "project_id": project_id,
                    "last_seen": date
                },
            )
示例#4
0
文件: group.py 项目: alshopov/sentry
    def add_tags(self, group, tags):
        project_id = group.project_id
        date = group.last_seen

        for tag_item in tags:
            if len(tag_item) == 2:
                (key, value), data = tag_item, None
            else:
                key, value, data = tag_item

            tagstore.incr_tag_value_times_seen(project_id, key, value, {
                'last_seen': date,
                'data': data,
            })

            tagstore.incr_group_tag_value_times_seen(group.id, key, value, {
                'project_id': project_id,
                'last_seen': date,
            })
示例#5
0
def repair_tag_data(caches, project, events):
    for (group_id, env_name), keys in collect_tag_data(events).items():
        environment = caches['Environment'](
            project.organization_id,
            env_name,
        )
        for key, values in keys.items():
            tagstore.get_or_create_group_tag_key(
                project_id=project.id,
                group_id=group_id,
                environment_id=environment.id,
                key=key,
            )

            # XXX: `{first,last}_seen` columns don't totally replicate the
            # ingestion logic (but actually represent a more accurate value.)
            # See GH-5289 for more details.
            for value, (times_seen, first_seen, last_seen) in values.items():
                _, created = tagstore.get_or_create_group_tag_value(
                    project_id=project.id,
                    group_id=group_id,
                    environment_id=environment.id,
                    key=key,
                    value=value,
                    defaults={
                        'first_seen': first_seen,
                        'last_seen': last_seen,
                        'times_seen': times_seen,
                    },
                )

                if not created:
                    tagstore.incr_group_tag_value_times_seen(
                        project_id=project.id,
                        group_id=group_id,
                        environment_id=environment.id,
                        key=key,
                        value=value,
                        count=times_seen,
                        extra={'first_seen': first_seen}
                    )