Horde Storage - We now return a Server-Timings header with some timers from horde storage. If your connection supports trailing headers and you specify a header "TE: trailers" we will use trailing headers for these allowing us to send more timings (related to the writing of the body)

#preflight none
#rb none

[CL 20101690 by Joakim Lindqvist in ue5-main branch]
This commit is contained in:
Joakim Lindqvist
2022-05-09 09:24:09 -04:00
parent 6d0c1712fa
commit 152994a1da
12 changed files with 60 additions and 25 deletions
@@ -39,7 +39,7 @@ namespace Jupiter
{
public abstract class BaseStartup
{
protected ILogger Logger { get; } = Log.ForContext<BaseStartup>();
protected ILogger Logger { get; } = Log.ForContext<BaseStartup>();
protected BaseStartup(IConfiguration configuration)
{
@@ -56,6 +56,8 @@ namespace Jupiter
{
CbConvertersAspNet.AddAspnetConverters();
services.AddServerTiming();
// aws specific settings
services.AddOptions<AWSCredentialsSettings>().Bind(Configuration.GetSection("AWSCredentials")).ValidateDataAnnotations();
services.AddDefaultAWSOptions(Configuration.GetAWSOptions());
@@ -282,7 +284,9 @@ namespace Jupiter
app.UseAuthentication();
//app.UseMiddleware<DatadogTraceMiddleware>("Authorization");
app.UseAuthorization();
app.UseMiddleware<ServerTimingMiddleware>();
//app.UseMiddleware<DatadogTraceMiddleware>("Endpoints");
app.UseEndpoints(endpoints =>
{
@@ -477,14 +481,14 @@ namespace Jupiter
public class NamespacePolicy
{
public string[] Claims { get; set; } = Array.Empty<string>();
public string StoragePool { get; set; } = "";
public string[] Claims { get; set; } = Array.Empty<string>();
public string StoragePool { get; set; } = "";
public bool LastAccessTracking { get; set; } = true;
public bool OnDemandReplication { get; set; } = false;
public bool UseBlobIndexForExists { get; set; } = false;
public bool UseBlobIndexForSlowExists { get; set; } = false;
public bool? IsLegacyNamespace { get; set; } = null;
public bool LastAccessTracking { get; set; } = true;
public bool OnDemandReplication { get; set; } = false;
public bool UseBlobIndexForExists { get; set; } = false;
public bool UseBlobIndexForSlowExists { get; set; } = false;
public bool? IsLegacyNamespace { get; set; } = null;
public bool IsPublicNamespace { get; set; } = true;
}