Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
N
nexpie-grafana-theme
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Registry
Registry
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Kornkitt Poolsup
nexpie-grafana-theme
Commits
3d520957
Commit
3d520957
authored
Oct 02, 2015
by
Torkel Ödegaard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat(cloudwatch): restored dimension keys lookup
parent
0912cec0
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
45 additions
and
26 deletions
+45
-26
pkg/api/cloudwatch/cloudwatch.go
+2
-1
pkg/api/cloudwatch/metrics.go
+0
-0
public/app/plugins/datasource/cloudwatch/datasource.js
+8
-4
public/app/plugins/datasource/cloudwatch/query_ctrl.js
+1
-1
public/app/plugins/datasource/cloudwatch/specs/datasource_specs.ts
+34
-20
No files found.
pkg/api/cloudwatch/cloudwatch.go
View file @
3d520957
...
...
@@ -29,7 +29,8 @@ func init() {
"DescribeInstances"
:
handleDescribeInstances
,
"__GetRegions"
:
handleGetRegions
,
"__GetNamespaces"
:
handleGetNamespaces
,
"__GetMetrics"
:
handleGetMetrics
,
"__GetMetrics"
:
handleGetMetrics
,
"__GetDimensions"
:
handleGetDimensions
,
}
}
...
...
pkg/api/cloudwatch/metrics.go
View file @
3d520957
This diff is collapsed.
Click to expand it.
public/app/plugins/datasource/cloudwatch/datasource.js
View file @
3d520957
...
...
@@ -104,8 +104,12 @@ function (angular, _) {
};
CloudWatchDatasource
.
prototype
.
getDimensionKeys
=
function
(
namespace
)
{
namespace
=
templateSrv
.
replace
(
namespace
);
return
$q
.
when
(
this
.
supportedDimensions
[
namespace
]
||
[]);
return
this
.
awsRequest
({
action
:
'__GetDimensions'
,
parameters
:
{
namespace
:
templateSrv
.
replace
(
namespace
)
}
});
};
CloudWatchDatasource
.
prototype
.
getDimensionValues
=
function
(
region
,
namespace
,
metricName
,
dimensions
)
{
...
...
@@ -120,6 +124,7 @@ function (angular, _) {
};
return
this
.
awsRequest
(
request
).
then
(
function
(
result
)
{
console
.
log
(
result
);
return
_
.
chain
(
result
.
Metrics
).
map
(
function
(
metric
)
{
return
_
.
pluck
(
metric
.
Dimensions
,
'Value'
);
}).
flatten
().
uniq
().
sortBy
(
function
(
name
)
{
...
...
@@ -167,8 +172,7 @@ function (angular, _) {
var
dimensionKeysQuery
=
query
.
match
(
/^dimension_keys
\(([^\)]
+
?)\)
/
);
if
(
dimensionKeysQuery
)
{
namespace
=
templateSrv
.
replace
(
dimensionKeysQuery
[
1
]);
return
this
.
getDimensionKeys
(
namespace
).
then
(
transformSuggestData
);
return
this
.
getDimensionKeys
(
dimensionKeysQuery
[
1
]);
}
var
dimensionValuesQuery
=
query
.
match
(
/^dimension_values
\(([^
,
]
+
?)
,
\s?([^
,
]
+
?)
,
\s?([^
,
]
+
?)(
,
\s?([^
)
]
*
))?\)
/
);
...
...
public/app/plugins/datasource/cloudwatch/query_ctrl.js
View file @
3d520957
...
...
@@ -82,7 +82,7 @@ function (angular, _) {
$scope
.
suggestDimensionKeys
=
function
(
query
,
callback
)
{
// jshint unused:false
$scope
.
datasource
.
getDimensionKeys
(
$scope
.
target
.
namespace
).
then
(
function
(
result
)
{
callback
(
result
);
callback
(
_
.
pluck
(
result
,
'text'
)
);
});
};
...
...
public/app/plugins/datasource/cloudwatch/specs/datasource_specs.ts
View file @
3d520957
...
...
@@ -138,25 +138,39 @@ describe('CloudWatchDatasource', function() {
});
});
describe
(
'When performing metricFindQuery'
,
function
()
{
// it('should return suggest list for dimension_keys()', function(done) {
// var query = 'dimension_keys(AWS/EC2)';
// ctx.ds.metricFindQuery(query).then(function(result) {
// result = result.map(function(v) { return v.text; });
// expect(result).to.contain('InstanceId');
// done();
// });
// ctx.$rootScope.$apply();
// });
//
// it('should return suggest list for dimension_values()', function(done) {
// var query = 'dimension_values(us-east-1,AWS/EC2,CPUUtilization)';
// ctx.ds.metricFindQuery(query).then(function(result) {
// result = result.map(function(v) { return v.text; });
// expect(result).to.eql(['i-12345678']);
// done();
// });
// ctx.$rootScope.$apply();
// });
describeMetricFindQuery
(
'dimension_keys(AWS/EC2)'
,
scenario
=>
{
scenario
.
setup
(()
=>
{
scenario
.
requestResponse
=
[{
text
:
'InstanceId'
}];
});
it
(
'should call __GetDimensions and return result'
,
()
=>
{
expect
(
scenario
.
result
[
0
].
text
).
to
.
be
(
'InstanceId'
);
expect
(
scenario
.
request
.
data
.
action
).
to
.
be
(
'__GetDimensions'
);
});
});
describeMetricFindQuery
(
'dimension_values(us-east-1,AWS/EC2,CPUUtilization)'
,
scenario
=>
{
scenario
.
setup
(()
=>
{
scenario
.
requestResponse
=
{
Metrics
:
[
{
Namespace
:
'AWS/EC2'
,
MetricName
:
'CPUUtilization'
,
Dimensions
:
[
{
Name
:
'InstanceId'
,
Value
:
'i-12345678'
}
]
}
]
};
});
it
(
'should call __GetMetrics and return result'
,
()
=>
{
expect
(
scenario
.
result
[
0
].
text
).
to
.
be
(
'i-12345678'
);
expect
(
scenario
.
request
.
data
.
action
).
to
.
be
(
'ListMetrics'
);
});
});
});
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment