3535#include " eden/fs/inodes/sqlitecatalog/BufferedSqliteInodeCatalog.h"
3636#include " eden/fs/inodes/sqlitecatalog/SqliteInodeCatalog.h"
3737#include " eden/fs/sqlite/SqliteDatabase.h"
38+ #include " eden/fs/telemetry/EdenErrorInfoBuilder.h"
3839#include " eden/fs/telemetry/EdenFsEventsLogger.h"
3940#include " eden/fs/telemetry/EdenStats.h"
41+ #include " eden/fs/telemetry/ErrorLogger.h"
4042#include " eden/fs/telemetry/LogEvent.h"
4143
4244#ifndef _WIN32
@@ -769,6 +771,7 @@ void Overlay::saveOverlayDir(
769771 stats_->increment (&OverlayStats::saveOverlayDirSuccessful);
770772 } catch (const std::exception& e) {
771773 XLOGF (ERR , " Failed to save overlay dir {} {}" , inodeNumber, e.what ());
774+ errorLogger_.log (EdenErrorInfo::overlay (e, inodeNumber.get ()));
772775 stats_->increment (&OverlayStats::saveOverlayDirFailure);
773776 throw ;
774777 }
@@ -1036,6 +1039,7 @@ OverlayFile Overlay::openFile(
10361039 return file;
10371040 } catch (const std::exception& e) {
10381041 XLOGF (ERR , " Failed to open file {} {} {}" , inodeNumber, headerId, e.what ());
1042+ errorLogger_.log (EdenErrorInfo::overlay (e, inodeNumber.get ()));
10391043 stats_->increment (&OverlayStats::openOverlayFileFailure);
10401044 throw ;
10411045 }
@@ -1052,6 +1056,7 @@ OverlayFile Overlay::openFileNoVerify(InodeNumber inodeNumber) {
10521056 return file;
10531057 } catch (const std::exception& e) {
10541058 XLOGF (ERR , " Failed to open file {} {}" , inodeNumber, e.what ());
1059+ errorLogger_.log (EdenErrorInfo::overlay (e, inodeNumber.get ()));
10551060 stats_->increment (&OverlayStats::openOverlayFileFailure);
10561061 throw ;
10571062 }
@@ -1074,6 +1079,7 @@ OverlayFile Overlay::createOverlayFile(
10741079 return file;
10751080 } catch (const std::exception& e) {
10761081 XLOGF (ERR , " Failed to create file {} {}" , inodeNumber, e.what ());
1082+ errorLogger_.log (EdenErrorInfo::overlay (e, inodeNumber.get ()));
10771083 stats_->increment (&OverlayStats::createOverlayFileFailure);
10781084 throw ;
10791085 }
@@ -1096,6 +1102,7 @@ OverlayFile Overlay::createOverlayFile(
10961102 return file;
10971103 } catch (const std::exception& e) {
10981104 XLOGF (ERR , " Failed to create file {} {}" , inodeNumber, e.what ());
1105+ errorLogger_.log (EdenErrorInfo::overlay (e, inodeNumber.get ()));
10991106 stats_->increment (&OverlayStats::createOverlayFileFailure);
11001107 throw ;
11011108 }
0 commit comments