@@ -86,18 +86,17 @@ char* _extract_trace_type_str(const char* trace_path) {
8686 }
8787}
8888
89- int LCS_ReaderCreateFromFile (const char * filename, const char * parameters,
90- ReaderHandle* out) {
89+ int LCS_ReaderCreateFromFile (const char * filename, const char * parameters, ReaderHandle* out) {
9190 API_BEGIN ();
9291 // TODO(haocheng): add more parameters
9392 // initialize reader by filename
9493 trace_type_e trace_type = trace_type_str_to_enum (_extract_trace_type_str (filename), filename);
9594 reader_t * reader = setup_reader (filename, trace_type, NULL );
9695 if (reader == NULL ) {
97- printf (" Failed to create reader\n " );
96+ printf (" Failed to create reader\n " );
9897 }
9998 *out = (ReaderHandle)reader;
100- API_END ();
99+ API_END ();
101100}
102101
103102int LCS_ReaderFree (const ReaderHandle reader) {
@@ -121,6 +120,20 @@ int LCS_ReaderGetNextRequest(const ReaderHandle reader, RequestHandle* out) {
121120 API_END ();
122121}
123122
123+ int LCS_ReaderGetObjNum (const ReaderHandle reader, int64_t * out) {
124+ API_BEGIN ();
125+ int64_t wss_obj = 0 , wss_byte = 0 ;
126+ cal_working_set_size (static_cast <reader_t *>(reader), &wss_obj, &wss_byte);
127+ *out = wss_obj;
128+ API_END ();
129+ }
130+
131+ int LCS_ReaderGetReqNum (const ReaderHandle reader, int64_t * out) {
132+ API_BEGIN ();
133+ *out = (int64_t )(static_cast <reader_t *>(reader)->n_total_req );
134+ API_END ();
135+ }
136+
124137int LCS_CacheCreate (const ReaderHandle reader, const char * eviction_algo, float cache_size, bool ignore_obj_size,
125138 const char * eviction_parameters, CacheHandle* out) {
126139 API_BEGIN ();
0 commit comments