123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134 |
- #!/usr/bin/env python
- from sentry.utils.runner import configure
- configure()
- from datetime import datetime, timedelta
- from pytz import utc
- from random import randint
- from sentry.app import buffer, tsdb
- from sentry.models import (
- AccessGroup, Activity, User, Organization, Project, Team
- )
- from sentry.utils.samples import create_sample_event
- def create_sample_time_series(event):
- group = event.group
- now = datetime.utcnow().replace(tzinfo=utc)
- for _ in xrange(60):
- count = randint(1, 10)
- tsdb.incr_multi((
- (tsdb.models.project, group.project.id),
- (tsdb.models.group, group.id),
- ), now, count)
- tsdb.incr_multi((
- (tsdb.models.organization_total_received, group.project.organization_id),
- (tsdb.models.project_total_received, group.project.id),
- ), now, int(count * 1.1))
- tsdb.incr_multi((
- (tsdb.models.organization_total_rejected, group.project.organization_id),
- (tsdb.models.project_total_rejected, group.project.id),
- ), now, int(count * 0.1))
- now = now - timedelta(seconds=1)
- for _ in xrange(24 * 30):
- count = randint(100, 1000)
- tsdb.incr_multi((
- (tsdb.models.project, group.project.id),
- (tsdb.models.group, group.id),
- ), now, count)
- tsdb.incr_multi((
- (tsdb.models.organization_total_received, group.project.organization_id),
- (tsdb.models.project_total_received, group.project.id),
- ), now, int(count * 1.1))
- tsdb.incr_multi((
- (tsdb.models.organization_total_rejected, group.project.organization_id),
- (tsdb.models.project_total_rejected, group.project.id),
- ), now, int(count * 0.1))
- now = now - timedelta(hours=1)
- def main():
- user = User.objects.filter(is_superuser=True)[0]
- dummy_user, _ = User.objects.get_or_create(
- username='dummy@example.com'
- )
- mocks = (
- ('Massive Dynamic', ('Ludic Science',)),
- ('Captain Planet', ('Earth', 'Fire', 'Wind', 'Water', 'Heart')),
- )
- print('Mocking org {}'.format('Default'))
- org, _ = Organization.objects.get_or_create(
- name='Default',
- defaults={
- 'owner': user,
- },
- )
- for team_name, project_names in mocks:
- print('> Mocking team {}'.format(team_name))
- team, _ = Team.objects.get_or_create(
- name=team_name,
- defaults={
- 'organization': org,
- 'owner': org.owner,
- },
- )
- for project_name in project_names:
- print(' > Mocking project {}'.format(project_name))
- project, _ = Project.objects.get_or_create(
- team=team,
- name=project_name,
- defaults={
- 'organization': org,
- }
- )
- event1 = create_sample_event(project, 'python')
- create_sample_time_series(event1)
- event2 = create_sample_event(project, 'javascript')
- create_sample_time_series(event2)
- Activity.objects.create(
- type=Activity.RELEASE,
- project=project,
- ident='4f38b65c62c4565aa94bba391ff8946922a8eed4',
- user=user,
- data={'version': '4f38b65c62c4565aa94bba391ff8946922a8eed4'},
- )
- event3 = create_sample_event(project, 'java')
- accessgroup, _ = AccessGroup.objects.get_or_create(
- name='Example',
- team=team,
- )
- accessgroup.projects.add(project)
- accessgroup.members.add(dummy_user)
- Activity.objects.create(
- type=Activity.RELEASE,
- project=project,
- ident='4f38b65c62c4565aa94bba391ff8946922a8eed4',
- user=user,
- data={'version': '4f38b65c62c4565aa94bba391ff8946922a8eed4'},
- )
- # force the buffer to process any pending incrs
- # (this ensures tags get populated)
- buffer.process_pending()
- if __name__ == '__main__':
- from django.conf import settings
- settings.CELERY_ALWAYS_EAGER = True
- main()
|