{"action":"created","issue":{"url":"https://api.github.com/repos/promregator/promregator/issues/61","repository_url":"https://api.github.com/repos/promregator/promregator","labels_url":"https://api.github.com/repos/promregator/promregator/issues/61/labels{/name}","comments_url":"https://api.github.com/repos/promregator/promregator/issues/61/comments","events_url":"https://api.github.com/repos/promregator/promregator/issues/61/events","html_url":"https://github.com/promregator/promregator/issues/61","id":330189602,"node_id":"MDU6SXNzdWUzMzAxODk2MDI=","number":61,"title":"Proposal: Identify monitored apps by bound service","user":{"login":"eloo","id":2631895,"node_id":"MDQ6VXNlcjI2MzE4OTU=","avatar_url":"https://avatars1.githubusercontent.com/u/2631895?v=4","gravatar_id":"","url":"https://api.github.com/users/eloo","html_url":"https://github.com/eloo","followers_url":"https://api.github.com/users/eloo/followers","following_url":"https://api.github.com/users/eloo/following{/other_user}","gists_url":"https://api.github.com/users/eloo/gists{/gist_id}","starred_url":"https://api.github.com/users/eloo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/eloo/subscriptions","organizations_url":"https://api.github.com/users/eloo/orgs","repos_url":"https://api.github.com/users/eloo/repos","events_url":"https://api.github.com/users/eloo/events{/privacy}","received_events_url":"https://api.github.com/users/eloo/received_events","type":"User","site_admin":false},"labels":[{"id":854703497,"node_id":"MDU6TGFiZWw4NTQ3MDM0OTc=","url":"https://api.github.com/repos/promregator/promregator/labels/enhancement","name":"enhancement","color":"a2eeef","default":true},{"id":854703498,"node_id":"MDU6TGFiZWw4NTQ3MDM0OTg=","url":"https://api.github.com/repos/promregator/promregator/labels/help%20wanted","name":"help wanted","color":"008672","default":true}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":12,"created_at":"2018-06-07T09:27:40Z","updated_at":"2018-10-02T13:07:09Z","closed_at":null,"author_association":"NONE","body":"Hi,\r\n\r\ntoday i took some time to think about how the identification of monitored apps could be improved.\r\nThe problem with regex or all i see is that it is very static and must maybe be adapted from time to time from someone who has access and the know how for the infrastructure/kubernetes.\r\n\r\nSo my first tought was about if it would be possible to \"mark\" apps to be monitored, e.g. with a label. Then promregator can discover all apps with that label. So far so good, but labelling is not possible as far as i know.\r\n\r\nSo the idea of user-provided-services came up in my mind and i guess this could be a really cool solution for this problem. Also it must not be exactly \"user-provided\".\r\n\r\nSo my idea is about to let promregator monitor all apps which has bound a predefined service (which can be a UPS or created by a service-broker).\r\nSo for example the app1 has bound the UPS monitoring. Then promregator is fetching all apps which has bound the monitoring service and is afterwards scraping the metrics from these apps.\r\nAnd also to solve the problem with specific scrape configs for different apps (e.g. different basic auth creds) the apps could may expose the necessary information as environment variables (which i hope can be fetched by cf-api?).\r\n\r\nI know this will cause some major changes but for the future and especially for greater setup i guess this could really improve the usability of promregator.\r\n\r\nSo @eaglerainbow what do you think? And is this technically possible at all?\r\n\r\nThanks\r\n"},"comment":{"url":"https://api.github.com/repos/promregator/promregator/issues/comments/426266290","html_url":"https://github.com/promregator/promregator/issues/61#issuecomment-426266290","issue_url":"https://api.github.com/repos/promregator/promregator/issues/61","id":426266290,"node_id":"MDEyOklzc3VlQ29tbWVudDQyNjI2NjI5MA==","user":{"login":"eaglerainbow","id":12811079,"node_id":"MDQ6VXNlcjEyODExMDc5","avatar_url":"https://avatars2.githubusercontent.com/u/12811079?v=4","gravatar_id":"","url":"https://api.github.com/users/eaglerainbow","html_url":"https://github.com/eaglerainbow","followers_url":"https://api.github.com/users/eaglerainbow/followers","following_url":"https://api.github.com/users/eaglerainbow/following{/other_user}","gists_url":"https://api.github.com/users/eaglerainbow/gists{/gist_id}","starred_url":"https://api.github.com/users/eaglerainbow/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/eaglerainbow/subscriptions","organizations_url":"https://api.github.com/users/eaglerainbow/orgs","repos_url":"https://api.github.com/users/eaglerainbow/repos","events_url":"https://api.github.com/users/eaglerainbow/events{/privacy}","received_events_url":"https://api.github.com/users/eaglerainbow/received_events","type":"User","site_admin":false},"created_at":"2018-10-02T13:07:09Z","updated_at":"2018-10-02T13:07:09Z","author_association":"CONTRIBUTOR","body":"I am positively surprised: I did some performance measurements on first initial request (cold cache) based on the current state of the `CFAccessorSimulator` (2d2478ca93e23f6cb9fdb7b381168f6ee2e7717b) using the new \"ups-based approach\" comparing it with the \"classical way\" we have:\r\n\r\nclassical approach:\r\n* 100 applications in one space\r\n* 2 instances for each application\r\n* the space is in one org\r\n\r\nUPS-based approach:\r\n* 100 applications attached to two UPSes like this:\r\n* one UPS with promregator data local to the application (e.g. we have 100 service instances for this)\r\n* one \"global UPS\" with promregator data, one binding from each application to that global UPS.\r\n* 2 instances for each application\r\n* all applications in the same space\r\n* the space is in one org.\r\n\r\nThe latency values are interesting:\r\n* \"classical way\": 1200 - 1500 ms\r\n* UPS-based approach: 580 - 610 ms\r\n\r\nNote that the simulator creates a random load delay of 0 - 250ms (avg. 125ms) per roundtrip to the \"Cloud Controller\".\r\nNote that the calls for the UPS-based approach are not cached yet.\r\nI was also able to make the two approaches run in parallel side-by-side. Except for the `spaceSummary` calls they are distinct."}}
{"actor":{"display_login":"eaglerainbow"}}