2017-02-09 19 views
1

Я новичок в разработке android. Я хотел рассказать о производительности моего приложения. Так что я сгенерировал файл журнала (.trace), добавив следующий код -Как анализировать файлы .trace (профилирование приложений для Android) в формате sql

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

Теперь у меня есть файл calc.trace. Но я хочу, чтобы проанализировать этот файл в формате sql, чтобы я мог использовать предварительные запросы для вывода информации из данных. Как я могу это сделать?

ответ

0

Вы можете проанализировать файл трассировки (.) Следующим кодом ruby, который использует регулярное выражение для анализа данных в (.) Sql-файл. Он также предоставляет запрос для вставки данных в ваш выбор базы данных SQL.

Но перед этим использовать следующую команду для преобразования двоичного журнала трассировки в текстовом файле

/pathTotraceview/trceview -r filename.trace> filename.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 дампа:

кошка TraceFileName. txt | ./toSQL.rb> fileName.sql