gauge, float64.counter, int64.runtime.gauge:AllocBuckHashSysFreesGCCPUFractionGCSysHeapAllocHeapIdleHeapInuseHeapObjectsHeapReleasedHeapSysLastGCLookupsMCacheInuseMCacheSysMSpanInuseMSpanSysMallocsNextGCNumForcedGCNumGCOtherSysPauseTotalNsStackInuseStackSysSysTotalAllocruntime добавьте ещё две:PollCount (тип counter) — счётчик, увеличивающийся на 1 при каждом обновлении метрики из пакета runtime (на каждый pollInterval — см. ниже).RandomValue (тип gauge) — обновляемое произвольное значение.runtime с заданной частотой: pollInterval — 2 секунды.reportInterval — 10 секунд.time.Sleep(n * time.Second). Подробнее о пакете time и его возможностях вы узнаете в третьем спринте.POST:http://<АДРЕС_СЕРВЕРА>/update/<ТИП_МЕТРИКИ>/<ИМЯ_МЕТРИКИ>/<ЗНАЧЕНИЕ_МЕТРИКИ>.http://localhost:8080.Content-Type: text/plain.POST /update/counter/someMetric/527 HTTP/1.1
Host: localhost:8080
Content-Length: 0
Content-Type: text/plain HTTP/1.1 200 OK
Date: Tue, 21 Feb 2023 02:51:35 GMT
Content-Length: 11
Content-Type: text/plain; charset=utf-8 handlers, storage и server.storage должен имплементировать интерфейс хранения, например repositories. Это понадобится вам для подмены хранилища моком в тестах и использования DI. Названия пакетов, структур, интерфейсов и методов можно задать любые, исходя из опыта и личных предпочтений.