mirror of
https://github.com/facebook/sapling.git
synced 2024-10-12 09:48:05 +03:00
mononoke/lfs_server: add request id to logger
Summary: This adds the request_id to our request slog logger. This is nicer because it lets us tie logs for a given request together. Reviewed By: HarveyHunt Differential Revision: D17526490 fbshipit-source-id: c6a57828a097f96b0e752373b98a1ea834009f95
This commit is contained in:
parent
7afc953929
commit
af0ed3ca9f
@ -15,11 +15,11 @@ use futures_util::{
|
||||
compat::{Future01CompatExt, Stream01CompatExt},
|
||||
TryStreamExt,
|
||||
};
|
||||
use gotham::state::{FromState, State};
|
||||
use gotham::state::{request_id, FromState, State};
|
||||
use gotham_derive::StateData;
|
||||
use http::uri::{Authority, Parts, PathAndQuery, Scheme, Uri};
|
||||
use hyper::{Body, Request};
|
||||
use slog::Logger;
|
||||
use slog::{o, Logger};
|
||||
|
||||
use blobrepo::BlobRepo;
|
||||
use context::CoreContext;
|
||||
@ -73,19 +73,27 @@ impl LfsServerContext {
|
||||
})
|
||||
}
|
||||
|
||||
pub fn request(&self, repository: String) -> Result<RepositoryRequestContext, Error> {
|
||||
pub fn request(
|
||||
&self,
|
||||
repository: String,
|
||||
request_id: &str,
|
||||
) -> Result<RepositoryRequestContext, Error> {
|
||||
let inner = self.inner.lock().expect("poisoned lock");
|
||||
|
||||
match inner.repositories.get(&repository) {
|
||||
Some(repo) => Ok(RepositoryRequestContext {
|
||||
ctx: CoreContext::new_with_logger(self.fb, inner.logger.clone()),
|
||||
repo: repo.clone(),
|
||||
uri_builder: UriBuilder {
|
||||
repository,
|
||||
server: inner.server.clone(),
|
||||
},
|
||||
client: inner.client.clone(),
|
||||
}),
|
||||
Some(repo) => {
|
||||
let logger = inner.logger.new(o!("request_id" => request_id.to_string()));
|
||||
|
||||
Ok(RepositoryRequestContext {
|
||||
ctx: CoreContext::new_with_logger(self.fb, logger),
|
||||
repo: repo.clone(),
|
||||
uri_builder: UriBuilder {
|
||||
repository,
|
||||
server: inner.server.clone(),
|
||||
},
|
||||
client: inner.client.clone(),
|
||||
})
|
||||
}
|
||||
None => Err(ErrorKind::RepositoryDoesNotExist(repository).into()),
|
||||
}
|
||||
}
|
||||
@ -110,7 +118,7 @@ impl RepositoryRequestContext {
|
||||
}
|
||||
|
||||
let lfs_ctx = LfsServerContext::borrow_from(&state);
|
||||
lfs_ctx.request(repository)
|
||||
lfs_ctx.request(repository, request_id(&state))
|
||||
}
|
||||
|
||||
pub async fn dispatch(&self, request: Request<Body>) -> Result<Body, Error> {
|
||||
|
Loading…
Reference in New Issue
Block a user