Skip to content

Commit 7652824

Browse files
Fix cartridge issues metric call before cartridge.cfg() (#299)
1 parent 82bf601 commit 7652824

File tree

4 files changed

+24
-4
lines changed

4 files changed

+24
-4
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1414

1515
### Fixed
1616
- Throw an error when http_middelware is processing a wrong handler [#199](https://github.com/tarantool/metrics/issues/199)
17+
- cartridge issues metric fails before cartridge.cfg() call [#298](https://github.com/tarantool/metrics/issues/298)
1718

1819
## [0.10.0] - 2021-08-03
1920
### Changed

metrics/cartridge.lua

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ local metrics = require('metrics')
22

33
local cartridge_metrics = {
44
require('metrics.cartridge.issues'),
5-
require('metrics.tarantool.clock'),
65
}
76

87
local function enable()

metrics/cartridge/issues.lua

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,18 @@ local fun = require('fun')
33

44
local collectors_list = {}
55

6-
local function update_info_metrics()
6+
local function update()
77
local list_on_instance = rawget(_G, '__cartridge_issues_list_on_instance')
88

99
if not list_on_instance then
1010
return
1111
end
1212

13-
local issues = list_on_instance()
13+
local ok, issues = pcall(list_on_instance)
14+
15+
if not ok then
16+
return
17+
end
1418

1519
local levels = { 'warning', 'critical' }
1620

@@ -22,6 +26,6 @@ local function update_info_metrics()
2226
end
2327

2428
return {
25-
update = update_info_metrics,
29+
update = update,
2630
list = collectors_list,
2731
}

test/unit/cartridge_issues_test.lua

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
local helpers = require('test.helper')
2+
3+
local t = require('luatest')
4+
local g = t.group()
5+
6+
g.before_all = function()
7+
t.skip_if(type(helpers) ~= 'table', 'Skip cartridge test')
8+
helpers.skip_cartridge_version_less('2.0.2')
9+
end
10+
11+
g.test_cartridge_issues_before_cartridge_cfg = function()
12+
require('cartridge.issues')
13+
local issues = require('metrics.cartridge.issues')
14+
local ok, error = pcall(issues.update)
15+
t.assert(ok, error)
16+
end

0 commit comments

Comments
 (0)