namhyung / uftrace

Function graph tracer for C/C++/Rust/Python
https://uftrace.github.io/slide/
GNU General Public License v2.0
3.03k stars 444 forks source link

use SQLite3 to save Uftrace datas to use ability of SQL and Database. #1060

Open ParkHanbum opened 4 years ago

ParkHanbum commented 4 years ago

for currently, uftrace use file to save uftrace datas which contains symbols and tracing information. this is good for portable and independetable. but bad for useable.

user cannot use tracing datas as way not supported by uftrace. uftrace support many mining way for tracing data. but it's usability is always limited obviusly.

so, it is better to change a way of saving uftrace datas. I think SQLite is good for this. it is Lightweight Database based on File. and support C also.

so, it can keep the portability like uftrace. and not need overhead for Database such as database deamon. and it can provide common SQL to users. so, even user who did not know uftrace data format, easily mining information from uftrace datas.

how do you think so?

DanielTimLee commented 4 years ago

I may not following,

But I'm not sure of improvement of 'usability' by using database.

"user cannot use tracing datas as way not supported by uftrace"

I guess the reason you comment like this is because uftrace is using its own data tracing format which is hard to use for other use-cases. (Ex. Importing other traced data to uftrace. Or Exporting uftrace traced data to other)

IMHO, even if uftrace uses database to store tracing data, it will use it's own database schema. I mean it will be pretty specific and it'll be similar to current traced file foramt. There might be no such improvement to usability since the format of 'how' it'll save tracing data isn't much changed.

If I'm not following correctly, please let me know.

namhyung commented 4 years ago

@ParkHanbum do you have any specific usecase? I don't know how many people is good at SQL.

lu-zero commented 4 years ago

Saving the tracing data has the first requirement of taking the least amount of it, I doubt sqlite3 is quicker than the status quo.

Converting the data to a sqlite3 db could happen at a later time

namhyung commented 4 years ago

Sure, we can have a script to convert/export data to sqlite3.

elfring commented 3 years ago

How will the clarification evolve for the corresponding database schema? :thinking:

namhyung commented 3 years ago

@ParkHanbum I think we can keep this as a feature request as some people seem to be interested in this.