Skip to content

Commit

Permalink
Support check.test requests (CMC-1506) (#139)
Browse files Browse the repository at this point in the history
  • Loading branch information
itzg committed Apr 25, 2017
1 parent 8a9ea81 commit fa1a26f
Show file tree
Hide file tree
Showing 14 changed files with 501 additions and 128 deletions.
21 changes: 21 additions & 0 deletions check/checkresult.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,10 @@
package check

import (
"github.com/racker/rackspace-monitoring-poller/protocol"
"fmt"
"github.com/racker/rackspace-monitoring-poller/protocol/metric"
"github.com/racker/rackspace-monitoring-poller/utils"
"strings"
)

Expand Down Expand Up @@ -231,3 +233,22 @@ func (crs *ResultSet) Get(idx int) *Result {
}
return crs.Metrics[idx]
}

func (crs *ResultSet) PopulateMetricsPostContent(clockOffset int64, content *protocol.MetricsPostContent) {
content.EntityId = crs.Check.GetEntityID()
content.CheckId = crs.Check.GetID()
content.CheckType = crs.Check.GetCheckType()
content.MinCheckPeriod = crs.Check.GetPeriod() * 1000
content.State = crs.State
content.Status = crs.Status
content.Timestamp = utils.NowTimestampMillis() + clockOffset
if crs.Length() == 0 {
content.Metrics = nil
} else {
content.Metrics = make([]protocol.MetricWrap, crs.Length())
for i := 0; i < crs.Length(); i++ {
content.Metrics[i] = ConvertToMetricResults(crs.Get(i))
}
}

}
17 changes: 1 addition & 16 deletions check/checkresult_metrics.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ import (
"fmt"

"github.com/racker/rackspace-monitoring-poller/protocol"
"github.com/racker/rackspace-monitoring-poller/utils"
)

// NewMetricsPostRequest function sets up a request with provided
Expand All @@ -30,21 +29,7 @@ func NewMetricsPostRequest(crs *ResultSet, clockOffset int64) *protocol.MetricsP
req := &protocol.MetricsPostRequest{}
req.Version = "1"
req.Method = "check_metrics.post_multi"
req.Params.EntityId = crs.Check.GetEntityID()
req.Params.CheckId = crs.Check.GetID()
req.Params.CheckType = crs.Check.GetCheckType()
req.Params.MinCheckPeriod = crs.Check.GetPeriod() * 1000
req.Params.State = crs.State
req.Params.Status = crs.Status
req.Params.Timestamp = utils.NowTimestampMillis() + clockOffset
if crs.Length() == 0 {
req.Params.Metrics = nil
} else {
req.Params.Metrics = make([]protocol.MetricWrap, crs.Length())
for i := 0; i < crs.Length(); i++ {
req.Params.Metrics[i] = ConvertToMetricResults(crs.Get(i))
}
}
crs.PopulateMetricsPostContent(clockOffset, &req.Params)
return req
}

Expand Down
125 changes: 109 additions & 16 deletions docs/poller-api.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,28 @@ __optional__|<<_checkmetricspostmulti,CheckMetricsPostMulti>>
|===


[[_poller_check-test_post]]
=== POST /poller/check-test

==== Parameters

[options="header", cols=".^2,.^3,.^4"]
|===
|Type|Name|Schema
|**Body**|**body** +
__optional__|<<_pollerchecktest,PollerCheckTest>>
|===


==== Responses

[options="header", cols=".^2,.^14,.^4"]
|===
|HTTP Code|Description|Schema
|**200**|OK|<<_pollerchecktestresponse,PollerCheckTestResponse>>
|===


[[_poller_commit_post]]
=== POST /poller/commit

Expand Down Expand Up @@ -218,7 +240,7 @@ __required__|integer(int64)
|**method** +
__optional__|enum (poller.prepare, poller.prepare.block, poller.prepare.end, poller.commit, check_metrics.post_multi)
|**params** +
__optional__|<<_checkmetricspostmulti_params,params>>
__optional__|<<_metricspost,MetricsPost>>
|**source** +
__required__|string
|**target** +
Expand All @@ -227,8 +249,43 @@ __required__|string
__required__|string
|===

[[_checkmetricspostmulti_params]]
**params**

[[_error]]
=== Error

[options="header", cols=".^3,.^4"]
|===
|Name|Schema
|**code** +
__optional__|integer(int64)
|**message** +
__optional__|string
|===


[[_frame]]
=== Frame

[options="header", cols=".^3,.^4"]
|===
|Name|Schema
|**error** +
__optional__|<<_error,Error>>
|**id** +
__required__|integer(int64)
|**method** +
__optional__|enum (poller.prepare, poller.prepare.block, poller.prepare.end, poller.commit, check_metrics.post_multi)
|**source** +
__required__|string
|**target** +
__required__|string
|**v** +
__required__|string
|===


[[_metricspost]]
=== MetricsPost

[options="header", cols=".^3,.^11,.^4"]
|===
Expand All @@ -245,24 +302,63 @@ __required__||< < object > array > array
__required__||enum (available, unavailable)
|**status** +
__required__|**Length** : `0 - 256`|string
|**timestamp** +
__required__||integer
|===


[[_error]]
=== Error
[[_partitionversion]]
=== PartitionVersion
__Type__ : integer(int64)


[[_pollerchecktest]]
=== PollerCheckTest
check.test

[%hardbreaks]
__Polymorphism__ : Inheritance
__Discriminator__ : method


[options="header", cols=".^3,.^4"]
|===
|Name|Schema
|**code** +
__optional__|integer(int64)
|**message** +
__optional__|string
|**error** +
__optional__|<<_error,Error>>
|**id** +
__required__|integer(int64)
|**method** +
__optional__|enum (poller.prepare, poller.prepare.block, poller.prepare.end, poller.commit, check_metrics.post_multi)
|**params** +
__optional__|<<_pollerchecktest_params,params>>
|**source** +
__required__|string
|**target** +
__required__|string
|**v** +
__required__|string
|===

[[_pollerchecktest_params]]
**params**

[options="header", cols=".^3,.^4"]
|===
|Name|Schema
|**checkParams** +
__optional__|<<_check,Check>>
|===


[[_pollerchecktestresponse]]
=== PollerCheckTestResponse
test.check

[%hardbreaks]
__Polymorphism__ : Inheritance
__Discriminator__ : method

[[_frame]]
=== Frame

[options="header", cols=".^3,.^4"]
|===
Expand All @@ -273,6 +369,8 @@ __optional__|<<_error,Error>>
__required__|integer(int64)
|**method** +
__optional__|enum (poller.prepare, poller.prepare.block, poller.prepare.end, poller.commit, check_metrics.post_multi)
|**result** +
__optional__|<<_metricspost,MetricsPost>>
|**source** +
__required__|string
|**target** +
Expand All @@ -282,11 +380,6 @@ __required__|string
|===


[[_partitionversion]]
=== PartitionVersion
__Type__ : integer(int64)


[[_pollercommit]]
=== PollerCommit
poller.commit
Expand Down
Loading

0 comments on commit fa1a26f

Please sign in to comment.