Skip to content

Commit d0f9f6d

Browse files
fix exploration sink data, it is on a different endpoint
1 parent 221f872 commit d0f9f6d

4 files changed

Lines changed: 53 additions & 31 deletions

File tree

Companion/exporter/exporter.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ func NewPrometheusExporter(frmApiHosts []string) *PrometheusExporter {
2929
collectorRunners := []*CollectorRunner{}
3030

3131
for _, frmApiHost := range frmApiHosts {
32-
//TODO: missing extractors!!!!
3332
productionCollector := NewProductionCollector("/getProdStats")
3433
powerCollector := NewPowerCollector("/getPower")
3534
buildingCollector := NewFactoryBuildingCollector("/getFactory")
@@ -38,7 +37,7 @@ func NewPrometheusExporter(frmApiHosts []string) *PrometheusExporter {
3837
vehicleStationCollector := NewVehicleStationCollector("/getTruckStation")
3938
trainCollector := NewTrainCollector("/getTrains")
4039
trainStationCollector := NewTrainStationCollector("/getTrainStation")
41-
resourceSinkCollector := NewResourceSinkCollector("/getResourceSinkBuilding", "/getResourceSink")
40+
resourceSinkCollector := NewResourceSinkCollector("/getResourceSinkBuilding", "/getResourceSink", "/getExplorationSink")
4241
pumpCollector := NewPumpCollector("/getPump")
4342
extractorCollector := NewExtractorCollector("/getExtractor")
4443
portalCollector := NewPortalCollector("/getPortal")

Companion/exporter/frm_server_fake_test.go

Lines changed: 24 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -9,23 +9,24 @@ import (
99
)
1010

1111
type FRMServerFake struct {
12-
server *httptest.Server
13-
productionData []exporter.ProductionDetails
14-
powerData []exporter.PowerDetails
15-
factoryBuildings []exporter.BuildingDetail
16-
vehicleData []exporter.VehicleDetails
17-
trainData []exporter.TrainDetails
18-
droneData []exporter.DroneStationDetails
19-
vehicleStationData []exporter.VehicleStationDetails
20-
trainStationData []exporter.TrainStationDetails
21-
resourceSinkData []exporter.ResourceSinkDetails
22-
gloalResourceSinkData []exporter.ResourceSinkGlobalDetails
23-
sessionInfoData exporter.SessionInfo
24-
pumpData []exporter.PumpDetails
25-
extractorData []exporter.ExtractorDetails
26-
portalData []exporter.PortalDetails
27-
hypertubeData []exporter.HypertubeDetails
28-
frackingData []exporter.FrackingDetails
12+
server *httptest.Server
13+
productionData []exporter.ProductionDetails
14+
powerData []exporter.PowerDetails
15+
factoryBuildings []exporter.BuildingDetail
16+
vehicleData []exporter.VehicleDetails
17+
trainData []exporter.TrainDetails
18+
droneData []exporter.DroneStationDetails
19+
vehicleStationData []exporter.VehicleStationDetails
20+
trainStationData []exporter.TrainStationDetails
21+
resourceSinkData []exporter.ResourceSinkDetails
22+
gloalResourceSinkData []exporter.GlobalSinkDetails
23+
gloalExplorationSinkData []exporter.GlobalSinkDetails
24+
sessionInfoData exporter.SessionInfo
25+
pumpData []exporter.PumpDetails
26+
extractorData []exporter.ExtractorDetails
27+
portalData []exporter.PortalDetails
28+
hypertubeData []exporter.HypertubeDetails
29+
frackingData []exporter.FrackingDetails
2930
}
3031

3132
func NewFRMServerFake() *FRMServerFake {
@@ -45,6 +46,7 @@ func NewFRMServerFake() *FRMServerFake {
4546
mux.Handle("/getTruckStation", http.HandlerFunc(getStatsHandler(&fake.vehicleStationData)))
4647
mux.Handle("/getTrainStation", http.HandlerFunc(getStatsHandler(&fake.trainStationData)))
4748
mux.Handle("/getResourceSink", http.HandlerFunc(getStatsHandler(&fake.gloalResourceSinkData)))
49+
mux.Handle("/getExplorationSink", http.HandlerFunc(getStatsHandler(&fake.gloalExplorationSinkData)))
4850
mux.Handle("/getResourceSinkBuilding", http.HandlerFunc(getStatsHandler(&fake.resourceSinkData)))
4951
mux.Handle("/getSessionInfo", http.HandlerFunc(getStatsHandler(&fake.sessionInfoData)))
5052
mux.Handle("/getPump", http.HandlerFunc(getStatsHandler(&fake.pumpData)))
@@ -106,10 +108,14 @@ func (e *FRMServerFake) ReturnsResourceSinkData(data []exporter.ResourceSinkDeta
106108
e.resourceSinkData = data
107109
}
108110

109-
func (e *FRMServerFake) ReturnsGlobalResourceSinkData(data []exporter.ResourceSinkGlobalDetails) {
111+
func (e *FRMServerFake) ReturnsGlobalResourceSinkData(data []exporter.GlobalSinkDetails) {
110112
e.gloalResourceSinkData = data
111113
}
112114

115+
func (e *FRMServerFake) ReturnsGlobalExplorationSinkData(data []exporter.GlobalSinkDetails) {
116+
e.gloalExplorationSinkData = data
117+
}
118+
113119
func (e *FRMServerFake) ReturnsPumpData(data []exporter.PumpDetails) {
114120
e.pumpData = data
115121
}

Companion/exporter/resource_sink_collector.go

Lines changed: 23 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,26 +6,28 @@ import (
66
)
77

88
type ResourceSinkCollector struct {
9-
buildingEndpoint string
10-
globalEndpoint string
9+
buildingEndpoint string
10+
globalResourceEndpoint string
11+
globalExplorationEndpoint string
1112
}
1213

1314
type ResourceSinkDetails struct {
1415
Location Location `json:"location"`
1516
PowerInfo PowerInfo `json:"PowerInfo"`
1617
}
1718

18-
type ResourceSinkGlobalDetails struct {
19+
type GlobalSinkDetails struct {
1920
SinkType string `json:"Name"`
2021
NumCoupon int `json:"NumCoupon"`
2122
TotalPoints int `json:"TotalPoints"`
2223
PointsToCoupon int `json:"PointsToCoupon"`
2324
}
2425

25-
func NewResourceSinkCollector(buildingEndpoint, globalEndpoint string) *ResourceSinkCollector {
26+
func NewResourceSinkCollector(buildingEndpoint, globalResourceEndpoint, globalExplorationEndpoint string) *ResourceSinkCollector {
2627
return &ResourceSinkCollector{
27-
buildingEndpoint: buildingEndpoint,
28-
globalEndpoint: globalEndpoint,
28+
buildingEndpoint: buildingEndpoint,
29+
globalResourceEndpoint: globalResourceEndpoint,
30+
globalExplorationEndpoint: globalExplorationEndpoint,
2931
}
3032
}
3133

@@ -37,19 +39,31 @@ func (c *ResourceSinkCollector) Collect(frmAddress string, sessionName string) {
3739
return
3840
}
3941

40-
globalDetails := []ResourceSinkGlobalDetails{}
41-
err = retrieveData(frmAddress+c.globalEndpoint, &globalDetails)
42+
globalResourceDetails := []GlobalSinkDetails{}
43+
err = retrieveData(frmAddress+c.globalResourceEndpoint, &globalResourceDetails)
4244
if err != nil {
4345
log.Printf("error reading global resource sink statistics from FRM: %s\n", err)
4446
return
4547
}
4648

47-
for _, d := range globalDetails {
49+
for _, d := range globalResourceDetails {
4850
ResourceSinkTotalPoints.WithLabelValues(d.SinkType, frmAddress, sessionName).Set(float64(d.TotalPoints))
4951
ResourceSinkPointsToCoupon.WithLabelValues(d.SinkType, frmAddress, sessionName).Set(float64(d.PointsToCoupon))
5052
ResourceSinkCollectedCoupons.WithLabelValues(frmAddress, sessionName).Set(float64(d.NumCoupon))
5153
}
5254

55+
globalExplorationDetails := []GlobalSinkDetails{}
56+
err = retrieveData(frmAddress+c.globalExplorationEndpoint, &globalExplorationDetails)
57+
if err != nil {
58+
log.Printf("error reading global resource sink statistics from FRM: %s\n", err)
59+
return
60+
}
61+
62+
for _, d := range globalExplorationDetails {
63+
ResourceSinkTotalPoints.WithLabelValues(d.SinkType, frmAddress, sessionName).Set(float64(d.TotalPoints))
64+
ResourceSinkPointsToCoupon.WithLabelValues(d.SinkType, frmAddress, sessionName).Set(float64(d.PointsToCoupon))
65+
}
66+
5367
powerInfo := map[float64]float64{}
5468
maxPowerInfo := map[float64]float64{}
5569
for _, d := range buildingDetails {

Companion/exporter/resource_sink_collector_test.go

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ var _ = Describe("ResourceSinkCollector", func() {
1414
BeforeEach(func() {
1515
FRMServer.Reset()
1616
url = FRMServer.server.URL
17-
collector = exporter.NewResourceSinkCollector("/getResourceSinkBuilding", "/getResourceSink")
17+
collector = exporter.NewResourceSinkCollector("/getResourceSinkBuilding", "/getResourceSink", "/getExplorationSink")
1818

1919
FRMServer.ReturnsResourceSinkData([]exporter.ResourceSinkDetails{
2020
{
@@ -40,13 +40,16 @@ var _ = Describe("ResourceSinkCollector", func() {
4040
},
4141
})
4242

43-
FRMServer.ReturnsGlobalResourceSinkData([]exporter.ResourceSinkGlobalDetails{
43+
FRMServer.ReturnsGlobalResourceSinkData([]exporter.GlobalSinkDetails{
4444
{
4545
SinkType: "Resource",
4646
TotalPoints: 100,
4747
PointsToCoupon: 200,
4848
NumCoupon: 1,
4949
},
50+
})
51+
52+
FRMServer.ReturnsGlobalExplorationSinkData([]exporter.GlobalSinkDetails{
5053
{
5154
SinkType: "Exploration",
5255
TotalPoints: 1000,

0 commit comments

Comments
 (0)