跳转到主要内容

从Firefox崩溃ping获取崩溃签名

项目描述

fx-crash-sig

符号化崩溃ping并生成签名。

获取崩溃ping堆栈跟踪并

  1. 使用 Mozilla符号化服务 符号化崩溃ping堆栈跟踪
  2. 使用 socorro-siggen 库生成崩溃签名

项目详情

安装(从 PyPI

pip install fx-crash-sig

使用

示例脚本:

import json

from fx_crash_sig.crash_processor import CrashProcessor

with open("crashping.json") as fp:
    crash_ping = json.load(fp)

crash_processor = CrashProcessor()

signature_result = crash_processor.get_signature(crash_ping)
print(signature_result.signature)

命令行(使用 sample.json

cat sample.json | fx-crash-sig

运行此命令以获取更多命令行帮助

fx-crash-sig --help

最小崩溃ping结构

旧版崩溃ping(pingsender的版本--不是glean的版本)在此处文档化

https://firefox-source-docs.mozilla.ac.cn/toolkit/components/telemetry/data/crash-ping.html

这些是我们使用的旧版崩溃ping的部分

- normalized_os                (optional)
- payload:
  - metadata:
    - async_shutdown_timeout   (optional)
    - ipc_channel_error        (optional)
    - oom_allocation_size      (optional)
    - moz_crash_reason         (optional)
  - stack_traces:
    - crash_info:
      - crashing_thread
      - type
    - modules[]
      - debug_file
      - debug_id
      - filename
      - base_addr
    - threads[]
      - frames[]
         - ip
         - module_index
         - trust

API

fx_crash_sig.crash_processor

  • CrashProcessor:为旧版崩溃ping符号化和生成签名
    • __init__
      • 参数: max_frames: int (40)
      • 参数: api_url: str (https://symbolication.services.mozilla.com/symbolicate/v5)
      • 参数: verbose: bool
    • get_signature:接受崩溃ping结构,使用Mozilla符号化服务对其进行符号化,生成签名,并返回签名结果。
      • 签名
        • 参数: crash_ping: 字典
        • 返回值: siggen.generator.Result
    • symbolicate: 对崩溃ping结构有效载荷中的堆栈跟踪进行符号化。
      • 签名
        • 参数: crash_ping: 字典
        • 返回值: 符号化的堆栈跟踪
    • get_signature_from_symbolicated: 接收symbolicate的输出,生成签名,并返回签名结果。
      • 签名
        • 参数: symbolicated: 字典
        • 返回值: siggen.generator.Result

fx_crash_sig.symbolicate

  • Symbolicator: 符号化堆栈跟踪
    • __init__
      • 参数: max_frames: int (40)
      • 参数: api_url: str (https://symbolication.services.mozilla.com/symbolicate/v5)
      • 参数: verbose: bool
    • symbolicate: 符号化单个堆栈跟踪。
      • 参数: stack_trace: 字典
      • 返回值: 符号化的堆栈跟踪
    • symbolicate_multi: 符号化一系列堆栈跟踪。
      • 参数: stack_traces: 字典列表
      • 返回值: 符号化的跟踪列表

项目详情


下载文件

下载您平台上的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分布

fx-crash-sig-1.0.2.tar.gz (36.3 kB 查看散列值)

上传时间

构建分布

fx_crash_sig-1.0.2-py3-none-any.whl (35.9 kB 查看散列值)

上传时间 Python 3

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面