Skip to content
This repository has been archived by the owner on Jan 12, 2021. It is now read-only.

Commit

Permalink
Add stat service
Browse files Browse the repository at this point in the history
  • Loading branch information
kevintyll committed Nov 3, 2015
1 parent 707bf98 commit 38734c7
Show file tree
Hide file tree
Showing 43 changed files with 2,352 additions and 213 deletions.
1 change: 1 addition & 0 deletions lib/esp.rb
Original file line number Diff line number Diff line change
Expand Up @@ -89,4 +89,5 @@ class Suppression
autoload :StatCustomSignature, File.expand_path(File.dirname(__FILE__) + '/esp/resources/stat_custom_signature')
autoload :StatSignature, File.expand_path(File.dirname(__FILE__) + '/esp/resources/stat_signature')
autoload :StatRegion, File.expand_path(File.dirname(__FILE__) + '/esp/resources/stat_region')
autoload :StatService, File.expand_path(File.dirname(__FILE__) + '/esp/resources/stat_service')
end
4 changes: 4 additions & 0 deletions lib/esp/resources/stat.rb
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,10 @@ class Stat < ESP::Resource
# The stats for each region associated with this stat object.
has_many :regions, class_name: 'ESP::StatRegion'

##
# The stats for each service associated with this stat object.
has_many :services, class_name: 'ESP::StatService'

##
# The stats for each signature associated with this stat object.
has_many :signatures, class_name: 'ESP::StatSignature'
Expand Down
121 changes: 121 additions & 0 deletions lib/esp/resources/stat_service.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,121 @@
module ESP
class StatService < ESP::Resource
include ESP::StatTotals

# The service these stats are for.
belongs_to :service, class_name: 'ESP::Service'

# Returns a paginated collection of service stats for the given stat_id
# Convenience method to use instead of ::find since a stat_id is required to return service stats.
#
# ==== Parameter
#
# +stat_id+ | Required | The ID of the stat to list service stats for
#
# ==== Example
# stats = ESP::StatService.for_stat(1194)
def self.for_stat(stat_id = nil)
fail ArgumentError, "You must supply a stat id." unless stat_id.present?
from = "#{prefix}stats/#{stat_id}/services.json"
find(:all, from: from)
end

# Find a StatService by id
#
# ==== Parameter
#
# +id+ | Required | The ID of the service stat to retrieve
#
# :call-seq:
# find(id)
def self.find(*arguments)
scope = arguments.slice!(0)
options = (arguments.slice!(0) || {}).with_indifferent_access
return super(scope, options) if scope.is_a?(Numeric) || options[:from].present?
params = options.fetch(:params, {}).with_indifferent_access
stat_id = params.delete(:stat_id)
for_stat(stat_id)
end

# :singleton-method: create
# Not Implemented. You cannot create a Stat.

# :method: save
# Not Implemented. You cannot create or update a Stat.

# :method: destroy
# Not Implemented. You cannot delete a Stat.

# :section: 'total' rollup methods

# :method: total

# :method: total_pass

# :method: total_fail

# :method: total_warn

# :method: total_error

# :method: total_info

# :method: total_new_1h_pass

# :method: total_new_1h_fail

# :method: total_new_1h_warn

# :method: total_new_1h_error

# :method: total_new_1h_info

# :method: total_new_1d_pass

# :method: total_new_1d_fail

# :method: total_new_1d_warn

# :method: total_new_1d_error

# :method: total_new_1d_info

# :method: total_new_1w_pass

# :method: total_new_1w_fail

# :method: total_new_1w_error

# :method: total_new_1w_info

# :method: total_new_1w_warn

# :method: total_old_fail

# :method: total_old_pass

# :method: total_old_warn

# :method: total_old_error

# :method: total_old_info

# :method: total_suppressed

# :method: total_suppressed_pass

# :method: total_suppressed_fail

# :method: total_suppressed_warn

# :method: total_suppressed_error

# :method: total_new_1h

# :method: total_new_1d

# :method: total_new_1w

# :method: total_old
end
end
2 changes: 2 additions & 0 deletions rdoc/ActiveResource.html
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,8 @@ <h3 class="section-header">Class and Module Index</h3>

<li><a href="./ESP/StatRegion.html">ESP::StatRegion</a>

<li><a href="./ESP/StatService.html">ESP::StatService</a>

<li><a href="./ESP/StatSignature.html">ESP::StatSignature</a>

<li><a href="./ESP/SubOrganization.html">ESP::SubOrganization</a>
Expand Down
2 changes: 2 additions & 0 deletions rdoc/ActiveResource/Formats.html
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,8 @@ <h3 class="section-header">Class and Module Index</h3>

<li><a href="../ESP/StatRegion.html">ESP::StatRegion</a>

<li><a href="../ESP/StatService.html">ESP::StatService</a>

<li><a href="../ESP/StatSignature.html">ESP::StatSignature</a>

<li><a href="../ESP/SubOrganization.html">ESP::SubOrganization</a>
Expand Down
2 changes: 2 additions & 0 deletions rdoc/ActiveResource/PaginatedCollection.html
Original file line number Diff line number Diff line change
Expand Up @@ -164,6 +164,8 @@ <h3 class="section-header">Class and Module Index</h3>

<li><a href="../ESP/StatRegion.html">ESP::StatRegion</a>

<li><a href="../ESP/StatService.html">ESP::StatService</a>

<li><a href="../ESP/StatSignature.html">ESP::StatSignature</a>

<li><a href="../ESP/SubOrganization.html">ESP::SubOrganization</a>
Expand Down
3 changes: 3 additions & 0 deletions rdoc/ESP.html
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@ <h3 class="section-header">Defined In</h3>
<li>lib/esp/resources/stat.rb
<li>lib/esp/resources/stat_custom_signature.rb
<li>lib/esp/resources/stat_region.rb
<li>lib/esp/resources/stat_service.rb
<li>lib/esp/resources/stat_signature.rb
<li>lib/esp/resources/sub_organization.rb
<li>lib/esp/resources/suppression.rb
Expand Down Expand Up @@ -165,6 +166,8 @@ <h3 class="section-header">Class and Module Index</h3>

<li><a href="./ESP/StatRegion.html">ESP::StatRegion</a>

<li><a href="./ESP/StatService.html">ESP::StatService</a>

<li><a href="./ESP/StatSignature.html">ESP::StatSignature</a>

<li><a href="./ESP/SubOrganization.html">ESP::SubOrganization</a>
Expand Down
2 changes: 2 additions & 0 deletions rdoc/ESP/Alert.html
Original file line number Diff line number Diff line change
Expand Up @@ -158,6 +158,8 @@ <h3 class="section-header">Class and Module Index</h3>

<li><a href="../ESP/StatRegion.html">ESP::StatRegion</a>

<li><a href="../ESP/StatService.html">ESP::StatService</a>

<li><a href="../ESP/StatSignature.html">ESP::StatSignature</a>

<li><a href="../ESP/SubOrganization.html">ESP::SubOrganization</a>
Expand Down
2 changes: 2 additions & 0 deletions rdoc/ESP/CloudTrailEvent.html
Original file line number Diff line number Diff line change
Expand Up @@ -138,6 +138,8 @@ <h3 class="section-header">Class and Module Index</h3>

<li><a href="../ESP/StatRegion.html">ESP::StatRegion</a>

<li><a href="../ESP/StatService.html">ESP::StatService</a>

<li><a href="../ESP/StatSignature.html">ESP::StatSignature</a>

<li><a href="../ESP/SubOrganization.html">ESP::SubOrganization</a>
Expand Down
2 changes: 2 additions & 0 deletions rdoc/ESP/ContactRequest.html
Original file line number Diff line number Diff line change
Expand Up @@ -138,6 +138,8 @@ <h3 class="section-header">Class and Module Index</h3>

<li><a href="../ESP/StatRegion.html">ESP::StatRegion</a>

<li><a href="../ESP/StatService.html">ESP::StatService</a>

<li><a href="../ESP/StatSignature.html">ESP::StatSignature</a>

<li><a href="../ESP/SubOrganization.html">ESP::SubOrganization</a>
Expand Down
2 changes: 2 additions & 0 deletions rdoc/ESP/CustomSignature.html
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,8 @@ <h3 class="section-header">Class and Module Index</h3>

<li><a href="../ESP/StatRegion.html">ESP::StatRegion</a>

<li><a href="../ESP/StatService.html">ESP::StatService</a>

<li><a href="../ESP/StatSignature.html">ESP::StatSignature</a>

<li><a href="../ESP/SubOrganization.html">ESP::SubOrganization</a>
Expand Down
2 changes: 2 additions & 0 deletions rdoc/ESP/Dashboard.html
Original file line number Diff line number Diff line change
Expand Up @@ -138,6 +138,8 @@ <h3 class="section-header">Class and Module Index</h3>

<li><a href="../ESP/StatRegion.html">ESP::StatRegion</a>

<li><a href="../ESP/StatService.html">ESP::StatService</a>

<li><a href="../ESP/StatSignature.html">ESP::StatSignature</a>

<li><a href="../ESP/SubOrganization.html">ESP::SubOrganization</a>
Expand Down
2 changes: 2 additions & 0 deletions rdoc/ESP/ExternalAccount.html
Original file line number Diff line number Diff line change
Expand Up @@ -148,6 +148,8 @@ <h3 class="section-header">Class and Module Index</h3>

<li><a href="../ESP/StatRegion.html">ESP::StatRegion</a>

<li><a href="../ESP/StatService.html">ESP::StatService</a>

<li><a href="../ESP/StatSignature.html">ESP::StatSignature</a>

<li><a href="../ESP/SubOrganization.html">ESP::SubOrganization</a>
Expand Down
2 changes: 2 additions & 0 deletions rdoc/ESP/Organization.html
Original file line number Diff line number Diff line change
Expand Up @@ -152,6 +152,8 @@ <h3 class="section-header">Class and Module Index</h3>

<li><a href="../ESP/StatRegion.html">ESP::StatRegion</a>

<li><a href="../ESP/StatService.html">ESP::StatService</a>

<li><a href="../ESP/StatSignature.html">ESP::StatSignature</a>

<li><a href="../ESP/SubOrganization.html">ESP::SubOrganization</a>
Expand Down
2 changes: 2 additions & 0 deletions rdoc/ESP/Region.html
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,8 @@ <h3 class="section-header">Class and Module Index</h3>

<li><a href="../ESP/StatRegion.html">ESP::StatRegion</a>

<li><a href="../ESP/StatService.html">ESP::StatService</a>

<li><a href="../ESP/StatSignature.html">ESP::StatSignature</a>

<li><a href="../ESP/SubOrganization.html">ESP::SubOrganization</a>
Expand Down
2 changes: 2 additions & 0 deletions rdoc/ESP/Report.html
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,8 @@ <h3 class="section-header">Class and Module Index</h3>

<li><a href="../ESP/StatRegion.html">ESP::StatRegion</a>

<li><a href="../ESP/StatService.html">ESP::StatService</a>

<li><a href="../ESP/StatSignature.html">ESP::StatSignature</a>

<li><a href="../ESP/SubOrganization.html">ESP::SubOrganization</a>
Expand Down
2 changes: 2 additions & 0 deletions rdoc/ESP/Service.html
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,8 @@ <h3 class="section-header">Class and Module Index</h3>

<li><a href="../ESP/StatRegion.html">ESP::StatRegion</a>

<li><a href="../ESP/StatService.html">ESP::StatService</a>

<li><a href="../ESP/StatSignature.html">ESP::StatSignature</a>

<li><a href="../ESP/SubOrganization.html">ESP::SubOrganization</a>
Expand Down
2 changes: 2 additions & 0 deletions rdoc/ESP/Signature.html
Original file line number Diff line number Diff line change
Expand Up @@ -146,6 +146,8 @@ <h3 class="section-header">Class and Module Index</h3>

<li><a href="../ESP/StatRegion.html">ESP::StatRegion</a>

<li><a href="../ESP/StatService.html">ESP::StatService</a>

<li><a href="../ESP/StatSignature.html">ESP::StatSignature</a>

<li><a href="../ESP/SubOrganization.html">ESP::SubOrganization</a>
Expand Down

0 comments on commit 38734c7

Please sign in to comment.