2017-02-09 7 views
1

나는 안드로이드 개발에 나왔다. 내 응용 프로그램의 성능을 프로파일 링하려고했습니다. 그래서 다음 코드를 추가하여 로그 파일 (.trace)을 생성했습니다. -.trace (프로파일 링 안드로이드 응용 프로그램) 파일을 SQL 형식으로 구문 분석하는 방법

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

이제 calc.trace 파일이 생겼습니다. 하지만 나는 데이터에서 정보를 가져 오기 위해 사전 쿼리를 사용할 수 있도록이 파일을 SQL 형식으로 파싱해야합니다. 어떻게해야합니까?

답변

0

정규식을 사용하여 데이터를 (.) sql 파일로 구문 분석하는 다음 루비 코드로 (.) 추적 파일을 구문 분석 할 수 있습니다. 또한 SQL 데이터베이스의 선택 항목에 데이터를 삽입하는 쿼리를 제공합니다.

그러나

파일 이름 .txt TXT 파일

/pathTotraceview/trceview -r filename.trace>에 진 추적 로그를 변환하려면 다음 명령을 사용하기 전에 그런 다음 저장하고 다음 코드를 실행하십시오.

#!/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(" , ")};" 

는 SQL 덤프를 생성하는 toSQL.rb 또는 다른 이름으로 작업 디렉토리에이 파일 저장소 함께 지갑과 터미널에서 다음 명령을 사용합니다

고양이 TRACEFILENAME을. TXT | ./toSQL.rb> fileName.sql