Przeglądaj źródła

feat(config)!: remove `SERVER_TIMING_HEADER` config option

BREAKING CHANGE: This option is not really useful and it's used only on
the unread page.
Frédéric Guillot 9 miesięcy temu
rodzic
commit
e0f7e6f2a8

+ 0 - 8
internal/config/options.go

@@ -111,7 +111,6 @@ type Options struct {
 	hsts                               bool
 	httpService                        bool
 	schedulerService                   bool
-	serverTimingHeader                 bool
 	baseURL                            string
 	rootURL                            string
 	basePath                           string
@@ -195,7 +194,6 @@ func NewOptions() *Options {
 		hsts:                               defaultHSTS,
 		httpService:                        defaultHTTPService,
 		schedulerService:                   defaultSchedulerService,
-		serverTimingHeader:                 defaultTiming,
 		baseURL:                            defaultBaseURL,
 		rootURL:                            defaultRootURL,
 		basePath:                           defaultBasePath,
@@ -300,11 +298,6 @@ func (o *Options) MaintenanceMessage() string {
 	return o.maintenanceMessage
 }
 
-// HasServerTimingHeader returns true if server-timing headers enabled.
-func (o *Options) HasServerTimingHeader() bool {
-	return o.serverTimingHeader
-}
-
 // BaseURL returns the application base URL with path.
 func (o *Options) BaseURL() string {
 	return o.baseURL
@@ -784,7 +777,6 @@ func (o *Options) SortedOptions(redactSecret bool) []*Option {
 		"SCHEDULER_ROUND_ROBIN_MIN_INTERVAL":     o.schedulerRoundRobinMinInterval,
 		"SCHEDULER_ROUND_ROBIN_MAX_INTERVAL":     o.schedulerRoundRobinMaxInterval,
 		"SCHEDULER_SERVICE":                      o.schedulerService,
-		"SERVER_TIMING_HEADER":                   o.serverTimingHeader,
 		"WATCHDOG":                               o.watchdog,
 		"WORKER_POOL_SIZE":                       o.workerPoolSize,
 		"YOUTUBE_API_KEY":                        redactSecretValue(o.youTubeApiKey, redactSecret),

+ 0 - 2
internal/config/parser.go

@@ -93,8 +93,6 @@ func (p *Parser) parseLines(lines []string) (err error) {
 			if parsedValue {
 				p.opts.logLevel = "debug"
 			}
-		case "SERVER_TIMING_HEADER":
-			p.opts.serverTimingHeader = parseBool(value, defaultTiming)
 		case "BASE_URL":
 			p.opts.baseURL, p.opts.rootURL, p.opts.basePath, err = parseBaseURL(value)
 			if err != nil {

+ 1 - 24
internal/ui/unread_entries.go

@@ -4,11 +4,8 @@
 package ui // import "miniflux.app/v2/internal/ui"
 
 import (
-	"fmt"
 	"net/http"
-	"time"
 
-	"miniflux.app/v2/internal/config"
 	"miniflux.app/v2/internal/http/request"
 	"miniflux.app/v2/internal/http/response/html"
 	"miniflux.app/v2/internal/http/route"
@@ -18,14 +15,12 @@ import (
 )
 
 func (h *handler) showUnreadPage(w http.ResponseWriter, r *http.Request) {
-	beginPreProcessing := time.Now()
 	user, err := h.store.UserByID(request.UserID(r))
 	if err != nil {
 		html.ServerError(w, r, err)
 		return
 	}
 
-	beginSqlCountUnreadEntries := time.Now()
 	offset := request.QueryIntParam(r, "offset", 0)
 	builder := h.store.NewEntryQueryBuilder(user.ID)
 	builder.WithStatus(model.EntryStatusUnread)
@@ -35,13 +30,11 @@ func (h *handler) showUnreadPage(w http.ResponseWriter, r *http.Request) {
 		html.ServerError(w, r, err)
 		return
 	}
-	finishSqlCountUnreadEntries := time.Now()
 
 	if offset >= countUnread {
 		offset = 0
 	}
 
-	beginSqlFetchUnreadEntries := time.Now()
 	builder = h.store.NewEntryQueryBuilder(user.ID)
 	builder.WithStatus(model.EntryStatusUnread)
 	builder.WithSorting(user.EntryOrder, user.EntryDirection)
@@ -54,7 +47,6 @@ func (h *handler) showUnreadPage(w http.ResponseWriter, r *http.Request) {
 		html.ServerError(w, r, err)
 		return
 	}
-	finishSqlFetchUnreadEntries := time.Now()
 
 	sess := session.New(h.store, request.SessionID(r))
 	view := view.New(h.tpl, r, sess)
@@ -66,20 +58,5 @@ func (h *handler) showUnreadPage(w http.ResponseWriter, r *http.Request) {
 	view.Set("countErrorFeeds", h.store.CountUserFeedsWithErrors(user.ID))
 	view.Set("hasSaveEntry", h.store.HasSaveEntry(user.ID))
 
-	finishPreProcessing := time.Now()
-
-	beginTemplateRendering := time.Now()
-	render := view.Render("unread_entries")
-	finishTemplateRendering := time.Now()
-
-	if config.Opts.HasServerTimingHeader() {
-		w.Header().Set("Server-Timing", fmt.Sprintf("pre_processing;dur=%d,sql_count_unread_entries;dur=%d,sql_fetch_unread_entries;dur=%d,template_rendering;dur=%d",
-			finishPreProcessing.Sub(beginPreProcessing).Milliseconds(),
-			finishSqlCountUnreadEntries.Sub(beginSqlCountUnreadEntries).Milliseconds(),
-			finishSqlFetchUnreadEntries.Sub(beginSqlFetchUnreadEntries).Milliseconds(),
-			finishTemplateRendering.Sub(beginTemplateRendering).Milliseconds(),
-		))
-	}
-
-	html.OK(w, r, render)
+	html.OK(w, r, view.Render("unread_entries"))
 }

+ 0 - 5
miniflux.1

@@ -539,11 +539,6 @@ Minimum interval in minutes for the round robin scheduler\&.
 .br
 Default is 60 minutes\&.
 .TP
-.B SERVER_TIMING_HEADER
-Set the value to 1 to enable server-timing headers\&.
-.br
-Disabled by default\&.
-.TP
 .B WATCHDOG
 Enable or disable Systemd watchdog\&.
 .br