#ccache #stats #reader #exec #interface #call #accessing

ccache_stats_reader

A read-only API for CCACHE_DIR

3 releases

0.1.2 Jan 23, 2020
0.1.1 Sep 24, 2019
0.1.0 Sep 18, 2019

#3 in #ccache


Used in ccache_stats_reader_extra…

Artistic-1.0 OR GPL-2.0-or-later

37KB
710 lines

This crate implements a simple interface for accessing ccache stats without needing an exec call.

Experimental testing demonstrates I can produce the same data emitted by ccache --print-stats while also using only ¼ the heap, and less than ½ the stack, while the program itself can call do this multiple times in-process without adding an exec() penalty to everything.

Example Usage

use ccache_stats_reader::{CacheDir,CacheField,CacheFieldCollection};

let stats = CacheDir::read_dir("/home/foo/.ccache/").unwrap();
println!("Direct Cache Hits: {:?}", stats.get_field(CacheField::CacheHitDir));
println!("Cache Last Zero'd: {}", CacheField::ZeroTimeStamp.format_value( stats.get_field(CacheField::ZeroTimeStamp)));

Dependencies

~1–7.5MB
~27K SLoC