本文整理汇总了Python中sentry.event_manager.generate_culprit函数的典型用法代码示例。如果您正苦于以下问题:Python generate_culprit函数的具体用法?Python generate_culprit怎么用?Python generate_culprit使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了generate_culprit函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_truncation
def test_truncation():
data = {
'exception': {
'values':
[{
'stacktrace': {
'frames': [{
'filename': 'x' * (MAX_CULPRIT_LENGTH + 1),
}],
}
}],
}
}
assert len(generate_culprit(data)) == MAX_CULPRIT_LENGTH
data = {
'stacktrace': {
'frames': [{
'filename': 'x' * (MAX_CULPRIT_LENGTH + 1),
}]
}
}
assert len(generate_culprit(data)) == MAX_CULPRIT_LENGTH
data = {
'request': {
'url': 'x' * (MAX_CULPRIT_LENGTH + 1),
}
}
assert len(generate_culprit(data)) == MAX_CULPRIT_LENGTH
示例2: test_truncation
def test_truncation(self):
data = {
'sentry.interfaces.Exception': {
'values': [{
'stacktrace': {
'frames': [{
'filename': 'x' * (MAX_CULPRIT_LENGTH + 1),
}],
}
}],
}
}
assert len(generate_culprit(data)) == MAX_CULPRIT_LENGTH
data = {
'sentry.interfaces.Stacktrace': {
'frames': [{
'filename': 'x' * (MAX_CULPRIT_LENGTH + 1),
}]
}
}
assert len(generate_culprit(data)) == MAX_CULPRIT_LENGTH
data = {
'sentry.interfaces.Http': {
'url': 'x' * (MAX_CULPRIT_LENGTH + 1),
}
}
assert len(generate_culprit(data)) == MAX_CULPRIT_LENGTH
示例3: test_with_only_http_interface
def test_with_only_http_interface(self):
data = {
'sentry.interfaces.Http': {
'url': 'http://example.com'
},
}
assert generate_culprit(data) == 'http://example.com'
data = {
'sentry.interfaces.Http': {},
}
assert generate_culprit(data) == ''
示例4: test_truncation
def test_truncation(self):
data = {
"sentry.interfaces.Exception": {
"values": [{"stacktrace": {"frames": [{"filename": "x" * (MAX_CULPRIT_LENGTH + 1)}]}}]
}
}
assert len(generate_culprit(data)) == MAX_CULPRIT_LENGTH
data = {"sentry.interfaces.Stacktrace": {"frames": [{"filename": "x" * (MAX_CULPRIT_LENGTH + 1)}]}}
assert len(generate_culprit(data)) == MAX_CULPRIT_LENGTH
data = {"sentry.interfaces.Http": {"url": "x" * (MAX_CULPRIT_LENGTH + 1)}}
assert len(generate_culprit(data)) == MAX_CULPRIT_LENGTH
示例5: fix_culprit
def fix_culprit(data):
exc = data.get('sentry.interfaces.Exception')
if not exc:
return
from sentry.event_manager import generate_culprit
data['culprit'] = generate_culprit(data)
示例6: test_with_exception_interface
def test_with_exception_interface(self):
data = {
'sentry.interfaces.Exception': {
'values': [{
'stacktrace': {
'frames': [{
'lineno': 1,
'filename': 'foo.py',
}, {
'lineno': 1,
'filename': 'bar.py',
'in_app': True,
}],
}
}]
},
'sentry.interfaces.Stacktrace': {
'frames': [{
'lineno': 1,
'filename': 'NOTME.py',
}, {
'lineno': 1,
'filename': 'PLZNOTME.py',
'in_app': True,
}],
},
'sentry.interfaces.Http': {
'url': 'http://example.com'
},
}
assert generate_culprit(data) == 'bar.py in ?'
示例7: test_with_empty_stacktrace
def test_with_empty_stacktrace():
data = {
'stacktrace': None,
'request': {
'url': 'http://example.com'
},
}
assert generate_culprit(data) == 'http://example.com'
示例8: test_with_empty_stacktrace
def test_with_empty_stacktrace(self):
data = {
'sentry.interfaces.Stacktrace': None,
'sentry.interfaces.Http': {
'url': 'http://example.com'
},
}
assert generate_culprit(data) == 'http://example.com'
示例9: _generate_culprit
def _generate_culprit(event):
# XXX(mitsuhiko): workaround: some old events do not have this data yet.
# This should be save delete by end of 2019 even considering slow on-prem
# releases. Platform was added back to data in december 2018.
data = event.data
if data.get('platform') is None:
data = dict(data.items())
data['platform'] = event.platform
return generate_culprit(data)
示例10: test_with_missing_stacktrace_frames
def test_with_missing_stacktrace_frames():
data = {
'stacktrace': {
'frames': None,
},
'request': {
'url': 'http://example.com'
},
}
assert generate_culprit(data) == 'http://example.com'
示例11: test_with_missing_exception_interface
def test_with_missing_exception_interface(self):
data = {
"sentry.interfaces.Stacktrace": {
"frames": [
{"lineno": 1, "filename": "NOTME.py"},
{"lineno": 1, "filename": "PLZNOTME.py", "in_app": True},
]
},
"sentry.interfaces.Http": {"url": "http://example.com"},
}
assert generate_culprit(data) == "PLZNOTME.py in ?"
示例12: test_with_only_http_interface
def test_with_only_http_interface():
data = {
'request': {
'url': 'http://example.com'
},
}
assert generate_culprit(data) == 'http://example.com'
data = {
'request': {
'url': None
},
}
assert generate_culprit(data) == ''
data = {
'request': {},
}
assert generate_culprit(data) == ''
data = {
'request': None,
}
assert generate_culprit(data) == ''
示例13: _rehash_group_events
def _rehash_group_events(group, limit=100):
from sentry.event_manager import (
EventManager, get_hashes_from_fingerprint, generate_culprit, md5_from_hash
)
from sentry.models import Event, Group
environment_cache = {}
project = group.project
event_list = list(Event.objects.filter(group_id=group.id)[:limit])
Event.objects.bind_nodes(event_list, 'data')
for event in event_list:
fingerprint = event.data.get('fingerprint', ['{{ default }}'])
if fingerprint and not isinstance(fingerprint, (list, tuple)):
fingerprint = [fingerprint]
elif not fingerprint:
fingerprint = ['{{ default }}']
manager = EventManager({})
group_kwargs = {
'message': event.message,
'platform': event.platform,
'culprit': generate_culprit(event.data),
'logger': event.get_tag('logger') or group.logger,
'level': group.level,
'last_seen': event.datetime,
'first_seen': event.datetime,
'data': group.data,
}
# XXX(dcramer): doesnt support checksums as they're not stored
hashes = map(md5_from_hash, get_hashes_from_fingerprint(event, fingerprint))
for hash in hashes:
new_group, _, _, _ = manager._save_aggregate(
event=event, hashes=hashes, release=None, **group_kwargs
)
event.update(group_id=new_group.id)
if event.data.get('tags'):
Group.objects.add_tags(
new_group,
_get_event_environment(event, project, environment_cache),
event.data['tags'])
return bool(event_list)
示例14: test_with_stacktrace_interface
def test_with_stacktrace_interface():
data = {
'stacktrace': {
'frames': [
{
'lineno': 1,
'filename': 'NOTME.py',
}, {
'lineno': 1,
'filename': 'PLZNOTME.py',
'in_app': True,
}
],
},
'request': {
'url': 'http://example.com'
},
}
assert generate_culprit(data) == 'PLZNOTME.py in ?'
示例15: test_with_missing_exception_stacktrace
def test_with_missing_exception_stacktrace():
data = {
'exception': {
'values': [
{
'stacktrace': None,
},
{
'stacktrace': {
'frames': None,
}
},
{
'stacktrace': {
'frames': [None],
}
},
]
},
'request': {
'url': 'http://example.com'
},
}
assert generate_culprit(data) == 'http://example.com'