Log extension counts when worktree is updated

This commit is contained in:
Antonio Scandurra 2022-06-13 08:57:21 +02:00
parent 63fdf1398a
commit 3b8388dcdd
2 changed files with 25 additions and 13 deletions

View file

@ -831,16 +831,28 @@ impl Server {
request: TypedEnvelope<proto::UpdateWorktree>, request: TypedEnvelope<proto::UpdateWorktree>,
response: Response<proto::UpdateWorktree>, response: Response<proto::UpdateWorktree>,
) -> Result<()> { ) -> Result<()> {
let (connection_ids, metadata_changed) = self.store_mut().await.update_worktree( let (connection_ids, metadata_changed) = {
request.sender_id, let mut store = self.store_mut().await;
request.payload.project_id, let (connection_ids, metadata_changed, extension_counts) = store.update_worktree(
request.payload.worktree_id, request.sender_id,
&request.payload.root_name, request.payload.project_id,
&request.payload.removed_entries, request.payload.worktree_id,
&request.payload.updated_entries, &request.payload.root_name,
request.payload.scan_id, &request.payload.removed_entries,
)?; &request.payload.updated_entries,
// TODO: log `extension_counts` from `Worktree`. request.payload.scan_id,
)?;
for (extension, count) in extension_counts {
tracing::info!(
project_id = request.payload.project_id,
worktree_id = request.payload.worktree_id,
?extension,
%count,
"worktree updated"
);
}
(connection_ids, metadata_changed)
};
broadcast(request.sender_id, connection_ids, |connection_id| { broadcast(request.sender_id, connection_ids, |connection_id| {
self.peer self.peer

View file

@ -577,8 +577,9 @@ impl Store {
removed_entries: &[u64], removed_entries: &[u64],
updated_entries: &[proto::Entry], updated_entries: &[proto::Entry],
scan_id: u64, scan_id: u64,
) -> Result<(Vec<ConnectionId>, bool)> { ) -> Result<(Vec<ConnectionId>, bool, &HashMap<OsString, usize>)> {
let project = self.write_project(project_id, connection_id)?; let project = self.write_project(project_id, connection_id)?;
let connection_ids = project.connection_ids();
let mut worktree = project.worktrees.entry(worktree_id).or_default(); let mut worktree = project.worktrees.entry(worktree_id).or_default();
let metadata_changed = worktree_root_name != worktree.root_name; let metadata_changed = worktree_root_name != worktree.root_name;
worktree.root_name = worktree_root_name.to_string(); worktree.root_name = worktree_root_name.to_string();
@ -602,8 +603,7 @@ impl Store {
worktree.entries.insert(entry.id, entry.clone()); worktree.entries.insert(entry.id, entry.clone());
} }
worktree.scan_id = scan_id; worktree.scan_id = scan_id;
let connection_ids = project.connection_ids(); Ok((connection_ids, metadata_changed, &worktree.extension_counts))
Ok((connection_ids, metadata_changed))
} }
pub fn project_connection_ids( pub fn project_connection_ids(