| 1225 | } |
| 1226 | |
| 1227 | std::string get_sortable_timestamp() { |
| 1228 | using clock = std::chrono::system_clock; |
| 1229 | |
| 1230 | const clock::time_point current_time = clock::now(); |
| 1231 | const time_t as_time_t = clock::to_time_t(current_time); |
| 1232 | char timestamp_no_ns[100]; |
| 1233 | std::strftime(timestamp_no_ns, 100, "%Y_%m_%d-%H_%M_%S", std::localtime(&as_time_t)); |
| 1234 | |
| 1235 | const int64_t ns = std::chrono::duration_cast<std::chrono::nanoseconds>( |
| 1236 | current_time.time_since_epoch() % 1000000000).count(); |
| 1237 | char timestamp_ns[11]; |
| 1238 | snprintf(timestamp_ns, 11, "%09" PRId64, ns); |
| 1239 | |
| 1240 | return std::string(timestamp_no_ns) + "." + std::string(timestamp_ns); |
| 1241 | } |
| 1242 | |
| 1243 | void dump_non_result_info_yaml(FILE * stream, const gpt_params & params, const llama_context * lctx, |
| 1244 | const std::string & timestamp, const std::vector<int> & prompt_tokens, const char * model_desc) { |
no test coverage detected