【问题标题】:How to parse .trace(profiling android application) files into sql format如何将 .trace(分析 android 应用程序)文件解析为 sql 格式
【发布时间】:2017-06-27 12:13:47
【问题描述】:

我是 android 开发的新手。我想分析我的应用程序的性能。所以我通过添加以下代码生成了一个日志文件(.trace) -

`// start tracing to "/sdcard/calc.trace"
Debug.startMethodTracing("calc");
// ...
// stop tracing
Debug.stopMethodTracing();`    

现在,我有一个 calc.trace 文件。但我想将此文件解析为 sql 格式,以便我可以使用高级查询从数据中提取信息。我该怎么做?

【问题讨论】:

    标签: android sql database trace data-analysis


    【解决方案1】:

    您可以使用以下 ruby​​ 代码解析 (.)trace 文件,该代码使用正则表达式将数据解析为 (.)sql 文件。它还提供了一个查询以将数据插入您选择的 SQL 数据库。

    但在此之前使用以下命令将二进制跟踪日志转换为txt文件

    /pathTotraceview/trceview -r 文件名.trace > 文件名.txt

    然后保存并运行以下代码。

    #!/usr/bin/env ruby
    
    @values = Array.new
    
    STDIN.read.split("\n").each do |a|
       if a =~ /(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s([\w+.$]+)/
                     id = $1
                     tstart = $2
                     tend  = $3
                     gstart = $4
                     gend = $5
                     excl = $6
                     incl = $7
                     meth = $8
                     @values << "(#{id},#{tstart},#{tend},#{gstart},#{gend},#{excl},#{incl},'#{meth}')"
         end
    end
    
    puts "INSERT INTO table_name(pid,tstart,tend,gstart,gend,excl,incl,meth) values"
    puts "#{@values.join(" , ")};"
    

    要使用此文件将其以 toSQL.rb 或任何其他名称存储在您的工作目录中,并在终端中使用以下命令生成 sql 转储:

    猫跟踪文件名.txt | ./toSQL.rb > 文件名.sql

    【讨论】:

      猜你喜欢
      • 2023-03-03
      • 1970-01-01
      • 1970-01-01
      • 2011-08-28
      • 1970-01-01
      • 2018-07-10
      • 2010-09-16
      • 2012-11-09
      • 1970-01-01
      相关资源
      最近更新 更多