github.com/grafana/pyroscope@v1.18.0/pkg/operations/v2/time.go (about)

     1  package v2
     2  
     3  import (
     4  	"math"
     5  	"time"
     6  )
     7  
     8  // msToTime converts milliseconds since epoch to time.Time
     9  func msToTime(ms int64) time.Time {
    10  	return time.UnixMilli(ms)
    11  }
    12  
    13  // formatDuration formats a duration in minutes to a human-readable string
    14  func formatDuration(minutes int) string {
    15  	d := time.Duration(minutes) * time.Minute
    16  	return d.Round(time.Minute).String()
    17  }
    18  
    19  // durationInMinutes calculates duration between two times in minutes
    20  func durationInMinutes(start, end time.Time) int {
    21  	return int(math.Round(end.Sub(start).Minutes()))
    22  }