Sobes.tech
Back to questions
Senior
3

Сколько запросов в секунду на запись приходило к данным?

Companies where asked
Яндекс

Answer from AI

sobes.tech AI

Чтобы определить количество запросов на запись в секунду к данным в Go, обычно используют метрики и мониторинг. Если у вас есть счётчик записей, можно измерять его изменение за секунду. Например, используя пакет expvar или сторонние библиотеки для метрик (Prometheus, OpenTelemetry).

Пример с простым счётчиком и измерением запросов в секунду:

package main

import (
    "fmt"
    "sync/atomic"
    "time"
)

var writeCount uint64

func recordWrite() {
    atomic.AddUint64(&writeCount, 1)
}

func main() {
    // Симуляция записей
    go func() {
        for {
            recordWrite()
            time.Sleep(10 * time.Millisecond) // 100 записей в секунду
        }
    }()

    ticker := time.NewTicker(time.Second)
    defer ticker.Stop()

    var prevCount uint64
    for range ticker.C {
        current := atomic.LoadUint64(&writeCount)
        fmt.Printf("Запросов на запись в секунду: %d\n", current-prevCount)
        prevCount = current
    }
}

Таким образом, вы можете отслеживать количество запросов на запись в секунду, измеряя изменение счётчика за интервал времени.