Skip to main content
Glama
combine.go1.28 kB
package shareddiscovery import "lunar/toolkit-core/utils" func (a Count) Combine(b Count) Count { return a + b } // Total duration - round trip time from proxy to provider func (agg EndpointAgg) TotalDuration() float32 { return agg.AverageDuration * float32(agg.Count) } func (agg EndpointAgg) TotalSpoeAndProviderDuration() float32 { return agg.AverageTotalDuration * float32(agg.Count) } func (agg EndpointAgg) Combine(aggB EndpointAgg) EndpointAgg { count := agg.Count + aggB.Count var averageDuration float32 totalDuration := agg.TotalDuration() + aggB.TotalDuration() if count > 0 { averageDuration = float32(totalDuration) / float32(count) } var averageSpoeAndProviderTotalDuration float32 totalSpoeAndProviderDuration := agg.TotalSpoeAndProviderDuration() + aggB.TotalSpoeAndProviderDuration() if count > 0 { averageSpoeAndProviderTotalDuration = float32(totalSpoeAndProviderDuration) / float32(count) } return EndpointAgg{ MinTime: utils.Min(agg.MinTime, aggB.MinTime), MaxTime: utils.Max(agg.MaxTime, aggB.MaxTime), Count: count, StatusCodes: utils.Combine[utils.Map[int, Count]]( agg.StatusCodes, aggB.StatusCodes, ), AverageDuration: averageDuration, AverageTotalDuration: averageSpoeAndProviderTotalDuration, } }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/TheLunarCompany/lunar'

If you have feedback or need assistance with the MCP directory API, please join our Discord server