)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":30695,"name":"Pedro Henrique Pereira Martins","email":"phpm13@gmail.com","username":"pedrohpmartins"},"change_message_id":"0f183d69ec4b7c8d2920e318c8ab8f992980fea9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"da08a5fb_b6c851f8","updated":"2023-04-27 20:35:19.000000000","message":"Hi Rafael, nice work with the new documentation 😊","commit_id":"2a1e1656a8c5b95c4dd80be3884bc90482750ecf"},{"author":{"_account_id":35263,"name":"Matt Crees","email":"mattc@stackhpc.com","username":"mattcrees"},"change_message_id":"87a8c7742b57f702f119e7a2251a914ac8273ff1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"33ebfad6_f615bb1b","updated":"2023-05-03 16:08:49.000000000","message":"From the perspective of someone who is new to CloudKitty, this seems like a good introduction to the concepts used :)\n\nI\u0027ve suggested a couple of nitpicky change to the wording.","commit_id":"7185b92f7ed3252859e444b23c330e8458c60ffa"},{"author":{"_account_id":30695,"name":"Pedro Henrique Pereira Martins","email":"phpm13@gmail.com","username":"pedrohpmartins"},"change_message_id":"7545aa0c4ca5778e27bc238b082671b740178d72","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"403040be_25e9ec57","updated":"2023-04-28 12:39:58.000000000","message":"It looks good to me, thanks.","commit_id":"7185b92f7ed3252859e444b23c330e8458c60ffa"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"7d84dd8d2bb0308f6046e4cb6e28dc4ca26dedea","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"44f394ff_f647a8c3","in_reply_to":"33ebfad6_f615bb1b","updated":"2023-05-03 16:43:43.000000000","message":"Thanks!","commit_id":"7185b92f7ed3252859e444b23c330e8458c60ffa"},{"author":{"_account_id":25277,"name":"Mariusz Karpiarz","email":"mariusz.karpiarz@codethink.co.uk","username":"mkarpiarz"},"change_message_id":"5da39aa40c1c3f67790448d1622e8bdf09bb832e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"cdeedbc8_f1f9e3fd","updated":"2023-06-12 12:47:05.000000000","message":"Thanks for this Rafael!\nWill there be more updates or should we merge the patch?","commit_id":"8c1ad7d0c6dce95cdfd3348021f0e70f74445bfc"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"5f1dbb7e53e7edcf8ccb4fa07f7672f44a523013","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"989864e8_262187ae","in_reply_to":"cdeedbc8_f1f9e3fd","updated":"2023-06-12 12:49:51.000000000","message":"I guess we can merge it for now","commit_id":"8c1ad7d0c6dce95cdfd3348021f0e70f74445bfc"}],"doc/source/_static/cloudkitty.conf.sample":[{"author":{"_account_id":30695,"name":"Pedro Henrique Pereira Martins","email":"phpm13@gmail.com","username":"pedrohpmartins"},"change_message_id":"0f183d69ec4b7c8d2920e318c8ab8f992980fea9","unresolved":true,"context_lines":[{"line_number":1237,"context_line":"# can limit the number of messages in the quorum queue. Used only when"},{"line_number":1238,"context_line":"# rabbit_quorum_queue is enabled, Default 0 which means dont set a"},{"line_number":1239,"context_line":"# limit. (integer value)"},{"line_number":1240,"context_line":"#rabbit_quroum_max_memory_length \u003d 0"},{"line_number":1241,"context_line":""},{"line_number":1242,"context_line":"# By default all messages are maintained in memory if a quorum queue"},{"line_number":1243,"context_line":"# grows in length it can put memory pressure on a cluster. This option"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"279955f2_d6eac26e","line":1240,"range":{"start_line":1240,"start_character":8,"end_line":1240,"end_character":14},"updated":"2023-04-27 20:35:19.000000000","message":"isnt this config name \".._quorum_..\" ? or is the \".._quroum_..\" correct?","commit_id":"2a1e1656a8c5b95c4dd80be3884bc90482750ecf"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"413f9a9080f26f9c3a52fcb301c1d71cd7b21ac3","unresolved":false,"context_lines":[{"line_number":1237,"context_line":"# can limit the number of messages in the quorum queue. Used only when"},{"line_number":1238,"context_line":"# rabbit_quorum_queue is enabled, Default 0 which means dont set a"},{"line_number":1239,"context_line":"# limit. (integer value)"},{"line_number":1240,"context_line":"#rabbit_quroum_max_memory_length \u003d 0"},{"line_number":1241,"context_line":""},{"line_number":1242,"context_line":"# By default all messages are maintained in memory if a quorum queue"},{"line_number":1243,"context_line":"# grows in length it can put memory pressure on a cluster. This option"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"37481c1f_be26538a","line":1240,"range":{"start_line":1240,"start_character":8,"end_line":1240,"end_character":14},"in_reply_to":"279955f2_d6eac26e","updated":"2023-04-27 22:42:22.000000000","message":"This file was updated by mistake. I removed it","commit_id":"2a1e1656a8c5b95c4dd80be3884bc90482750ecf"},{"author":{"_account_id":30695,"name":"Pedro Henrique Pereira Martins","email":"phpm13@gmail.com","username":"pedrohpmartins"},"change_message_id":"0f183d69ec4b7c8d2920e318c8ab8f992980fea9","unresolved":true,"context_lines":[{"line_number":1244,"context_line":"# can limit the number of memory bytes used by the quorum queue. Used"},{"line_number":1245,"context_line":"# only when rabbit_quorum_queue is enabled, Default 0 which means dont"},{"line_number":1246,"context_line":"# set a limit. (integer value)"},{"line_number":1247,"context_line":"#rabbit_quroum_max_memory_bytes \u003d 0"},{"line_number":1248,"context_line":""},{"line_number":1249,"context_line":"# Positive integer representing duration in seconds for queue TTL"},{"line_number":1250,"context_line":"# (x-expires). Queues which are unused for the duration of the TTL are"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"a36bdb28_ac42f2c9","line":1247,"range":{"start_line":1247,"start_character":8,"end_line":1247,"end_character":14},"updated":"2023-04-27 20:35:19.000000000","message":"same here","commit_id":"2a1e1656a8c5b95c4dd80be3884bc90482750ecf"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"413f9a9080f26f9c3a52fcb301c1d71cd7b21ac3","unresolved":false,"context_lines":[{"line_number":1244,"context_line":"# can limit the number of memory bytes used by the quorum queue. Used"},{"line_number":1245,"context_line":"# only when rabbit_quorum_queue is enabled, Default 0 which means dont"},{"line_number":1246,"context_line":"# set a limit. (integer value)"},{"line_number":1247,"context_line":"#rabbit_quroum_max_memory_bytes \u003d 0"},{"line_number":1248,"context_line":""},{"line_number":1249,"context_line":"# Positive integer representing duration in seconds for queue TTL"},{"line_number":1250,"context_line":"# (x-expires). Queues which are unused for the duration of the TTL are"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"3b045014_02a884b0","line":1247,"range":{"start_line":1247,"start_character":8,"end_line":1247,"end_character":14},"in_reply_to":"a36bdb28_ac42f2c9","updated":"2023-04-27 22:42:22.000000000","message":"same","commit_id":"2a1e1656a8c5b95c4dd80be3884bc90482750ecf"},{"author":{"_account_id":35263,"name":"Matt Crees","email":"mattc@stackhpc.com","username":"mattcrees"},"change_message_id":"87a8c7742b57f702f119e7a2251a914ac8273ff1","unresolved":true,"context_lines":[{"line_number":1,"context_line":"[DEFAULT]"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"# From cloudkitty.common.config"}],"source_content_type":"application/octet-stream","patch_set":3,"id":"3f32590a_4b525eab","side":"PARENT","line":1,"updated":"2023-05-03 16:08:49.000000000","message":"Do you mean to delete this file?","commit_id":"5d024fc33fc4d8ce6500d16668b9857aee49bd85"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"7d84dd8d2bb0308f6046e4cb6e28dc4ca26dedea","unresolved":false,"context_lines":[{"line_number":1,"context_line":"[DEFAULT]"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"# From cloudkitty.common.config"}],"source_content_type":"application/octet-stream","patch_set":3,"id":"be95c361_b57f0e91","side":"PARENT","line":1,"in_reply_to":"3f32590a_4b525eab","updated":"2023-05-03 16:43:43.000000000","message":"Done","commit_id":"5d024fc33fc4d8ce6500d16668b9857aee49bd85"}],"doc/source/common-index.rst":[{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"afbea45bf361794f920b9f0c90b4064b2f05f16d","unresolved":true,"context_lines":[{"line_number":11,"context_line":"the collected data and pushes the rated data to its storage backend."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"More details about CloudKitty concepts, expressions, and jargons can be"},{"line_number":14,"context_line":"found at `concepts documentation`_ ."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"CloudKitty is highly modular, which makes it easy to add new features."},{"line_number":17,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"a55a9528_619a1383","line":14,"range":{"start_line":14,"start_character":10,"end_line":14,"end_character":32},"updated":"2023-05-29 14:26:42.000000000","message":"Link title doesn\u0027t read smoothly in the sentence here too.","commit_id":"f1c6e1ab280ba553b7805507041cc7f47ae7b0bc"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"f6e67531c3628d3e155b72c2f61ca4b3480da27a","unresolved":true,"context_lines":[{"line_number":11,"context_line":"the collected data and pushes the rated data to its storage backend."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"More details about CloudKitty concepts, expressions, and jargons can be"},{"line_number":14,"context_line":"found at `concepts documentation`_ ."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"CloudKitty is highly modular, which makes it easy to add new features."},{"line_number":17,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"0d20f62a_5a3e10b2","line":14,"range":{"start_line":14,"start_character":34,"end_line":14,"end_character":35},"updated":"2023-05-29 14:18:57.000000000","message":"Remove extra space.","commit_id":"f1c6e1ab280ba553b7805507041cc7f47ae7b0bc"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"e46480a8351b25bfcd128838fec8fe21c8e76b85","unresolved":false,"context_lines":[{"line_number":11,"context_line":"the collected data and pushes the rated data to its storage backend."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"More details about CloudKitty concepts, expressions, and jargons can be"},{"line_number":14,"context_line":"found at `concepts documentation`_ ."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"CloudKitty is highly modular, which makes it easy to add new features."},{"line_number":17,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"4bdf5d2c_d93e15e2","line":14,"range":{"start_line":14,"start_character":34,"end_line":14,"end_character":35},"in_reply_to":"0d20f62a_5a3e10b2","updated":"2023-05-29 14:20:44.000000000","message":"Done","commit_id":"f1c6e1ab280ba553b7805507041cc7f47ae7b0bc"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"cee1ac7499b7e972f78361667418a171c68ed9fe","unresolved":false,"context_lines":[{"line_number":11,"context_line":"the collected data and pushes the rated data to its storage backend."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"More details about CloudKitty concepts, expressions, and jargons can be"},{"line_number":14,"context_line":"found at `concepts documentation`_ ."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"CloudKitty is highly modular, which makes it easy to add new features."},{"line_number":17,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"d6125368_3daf4a0f","line":14,"range":{"start_line":14,"start_character":10,"end_line":14,"end_character":32},"in_reply_to":"a55a9528_619a1383","updated":"2023-05-29 14:31:08.000000000","message":"Done","commit_id":"f1c6e1ab280ba553b7805507041cc7f47ae7b0bc"}],"doc/source/concepts/index.rst":[{"author":{"_account_id":30695,"name":"Pedro Henrique Pereira Martins","email":"phpm13@gmail.com","username":"pedrohpmartins"},"change_message_id":"0f183d69ec4b7c8d2920e318c8ab8f992980fea9","unresolved":true,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Rating"},{"line_number":8,"context_line":"------"},{"line_number":9,"context_line":"It is the process of assigning a monetary value to the consumption of a computing resources. CloudKitty uses the concepts of services, which are rated. Therefore, one can configured services to be collected/monitored, and then through its processes, we can assign monetary values to the service consumption."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Modules"},{"line_number":12,"context_line":"-------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"e23ea580_45d81903","line":9,"range":{"start_line":9,"start_character":70,"end_line":9,"end_character":71},"updated":"2023-04-27 20:35:19.000000000","message":"I guess this is not necessary, or then, the following \"computing resources\" should be change to singular.","commit_id":"2a1e1656a8c5b95c4dd80be3884bc90482750ecf"},{"author":{"_account_id":30695,"name":"Pedro Henrique Pereira Martins","email":"phpm13@gmail.com","username":"pedrohpmartins"},"change_message_id":"0f183d69ec4b7c8d2920e318c8ab8f992980fea9","unresolved":true,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Rating"},{"line_number":8,"context_line":"------"},{"line_number":9,"context_line":"It is the process of assigning a monetary value to the consumption of a computing resources. CloudKitty uses the concepts of services, which are rated. Therefore, one can configured services to be collected/monitored, and then through its processes, we can assign monetary values to the service consumption."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Modules"},{"line_number":12,"context_line":"-------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7dd7475f_26b8508d","line":9,"range":{"start_line":9,"start_character":171,"end_line":9,"end_character":181},"updated":"2023-04-27 20:35:19.000000000","message":"configure","commit_id":"2a1e1656a8c5b95c4dd80be3884bc90482750ecf"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"413f9a9080f26f9c3a52fcb301c1d71cd7b21ac3","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Rating"},{"line_number":8,"context_line":"------"},{"line_number":9,"context_line":"It is the process of assigning a monetary value to the consumption of a computing resources. CloudKitty uses the concepts of services, which are rated. Therefore, one can configured services to be collected/monitored, and then through its processes, we can assign monetary values to the service consumption."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Modules"},{"line_number":12,"context_line":"-------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1d45c619_8242cb1a","line":9,"range":{"start_line":9,"start_character":171,"end_line":9,"end_character":181},"in_reply_to":"7dd7475f_26b8508d","updated":"2023-04-27 22:42:22.000000000","message":"Done","commit_id":"2a1e1656a8c5b95c4dd80be3884bc90482750ecf"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"413f9a9080f26f9c3a52fcb301c1d71cd7b21ac3","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Rating"},{"line_number":8,"context_line":"------"},{"line_number":9,"context_line":"It is the process of assigning a monetary value to the consumption of a computing resources. CloudKitty uses the concepts of services, which are rated. Therefore, one can configured services to be collected/monitored, and then through its processes, we can assign monetary values to the service consumption."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Modules"},{"line_number":12,"context_line":"-------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"2dcebabc_d978eafb","line":9,"range":{"start_line":9,"start_character":70,"end_line":9,"end_character":71},"in_reply_to":"e23ea580_45d81903","updated":"2023-04-27 22:42:22.000000000","message":"Done","commit_id":"2a1e1656a8c5b95c4dd80be3884bc90482750ecf"},{"author":{"_account_id":30695,"name":"Pedro Henrique Pereira Martins","email":"phpm13@gmail.com","username":"pedrohpmartins"},"change_message_id":"0f183d69ec4b7c8d2920e318c8ab8f992980fea9","unresolved":true,"context_lines":[{"line_number":27,"context_line":"Groups"},{"line_number":28,"context_line":"------"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Define sets of services that should be charged together. Therefore, once a group rating rule is configure, the charge of the group is going to be applied together with the service charge."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Fields"}],"source_content_type":"text/x-rst","patch_set":1,"id":"37f90a44_6536a633","line":30,"range":{"start_line":30,"start_character":0,"end_line":30,"end_character":187},"updated":"2023-04-27 20:35:19.000000000","message":"I am not sure, but I guess the groups have no charging impact, only services and fields do, the groups are only a way to group rating rules to ease the way we can list / delete the rating rules. The groups are directly linked to the rules, not to services or fields, so if we want to group a set of rules to list them together or delete them, we can create a group and add them to the group, but in the end the resources are going to be charged based on the services, fields and mapping rules.","commit_id":"2a1e1656a8c5b95c4dd80be3884bc90482750ecf"},{"author":{"_account_id":30695,"name":"Pedro Henrique Pereira Martins","email":"phpm13@gmail.com","username":"pedrohpmartins"},"change_message_id":"0f183d69ec4b7c8d2920e318c8ab8f992980fea9","unresolved":true,"context_lines":[{"line_number":27,"context_line":"Groups"},{"line_number":28,"context_line":"------"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Define sets of services that should be charged together. Therefore, once a group rating rule is configure, the charge of the group is going to be applied together with the service charge."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Fields"}],"source_content_type":"text/x-rst","patch_set":1,"id":"ab03419d_91c00ce2","line":30,"range":{"start_line":30,"start_character":96,"end_line":30,"end_character":105},"updated":"2023-04-27 20:35:19.000000000","message":"configured","commit_id":"2a1e1656a8c5b95c4dd80be3884bc90482750ecf"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"413f9a9080f26f9c3a52fcb301c1d71cd7b21ac3","unresolved":false,"context_lines":[{"line_number":27,"context_line":"Groups"},{"line_number":28,"context_line":"------"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Define sets of services that should be charged together. Therefore, once a group rating rule is configure, the charge of the group is going to be applied together with the service charge."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Fields"}],"source_content_type":"text/x-rst","patch_set":1,"id":"a6b90e35_34507c22","line":30,"range":{"start_line":30,"start_character":0,"end_line":30,"end_character":187},"in_reply_to":"37f90a44_6536a633","updated":"2023-04-27 22:42:22.000000000","message":"Done","commit_id":"2a1e1656a8c5b95c4dd80be3884bc90482750ecf"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"413f9a9080f26f9c3a52fcb301c1d71cd7b21ac3","unresolved":false,"context_lines":[{"line_number":27,"context_line":"Groups"},{"line_number":28,"context_line":"------"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Define sets of services that should be charged together. Therefore, once a group rating rule is configure, the charge of the group is going to be applied together with the service charge."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Fields"}],"source_content_type":"text/x-rst","patch_set":1,"id":"2165b709_0e698ad8","line":30,"range":{"start_line":30,"start_character":96,"end_line":30,"end_character":105},"in_reply_to":"ab03419d_91c00ce2","updated":"2023-04-27 22:42:22.000000000","message":"Done","commit_id":"2a1e1656a8c5b95c4dd80be3884bc90482750ecf"},{"author":{"_account_id":30695,"name":"Pedro Henrique Pereira Martins","email":"phpm13@gmail.com","username":"pedrohpmartins"},"change_message_id":"0f183d69ec4b7c8d2920e318c8ab8f992980fea9","unresolved":true,"context_lines":[{"line_number":42,"context_line":""},{"line_number":43,"context_line":"Rating rules"},{"line_number":44,"context_line":"------------"},{"line_number":45,"context_line":"Are the expressions used to create a charge (assign a monetary value to a computing resource consumption). Rating rules can be created with PyScripts or with the use of fields, services and groups with hashmap rating rules."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"Rating type"},{"line_number":48,"context_line":"-----------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"12601dda_4f5a7b05","line":45,"range":{"start_line":45,"start_character":0,"end_line":45,"end_character":223},"updated":"2023-04-27 20:35:19.000000000","message":"Here could be good to mention that if you have a hashmap mapping for a service and another hashmap mapping for a field that belongs to the same service, then the resource is going to be charged twice, one for service and another for the field.","commit_id":"2a1e1656a8c5b95c4dd80be3884bc90482750ecf"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"413f9a9080f26f9c3a52fcb301c1d71cd7b21ac3","unresolved":false,"context_lines":[{"line_number":42,"context_line":""},{"line_number":43,"context_line":"Rating rules"},{"line_number":44,"context_line":"------------"},{"line_number":45,"context_line":"Are the expressions used to create a charge (assign a monetary value to a computing resource consumption). Rating rules can be created with PyScripts or with the use of fields, services and groups with hashmap rating rules."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"Rating type"},{"line_number":48,"context_line":"-----------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"01313d31_0711a08e","line":45,"range":{"start_line":45,"start_character":0,"end_line":45,"end_character":223},"in_reply_to":"12601dda_4f5a7b05","updated":"2023-04-27 22:42:22.000000000","message":"Done","commit_id":"2a1e1656a8c5b95c4dd80be3884bc90482750ecf"},{"author":{"_account_id":35263,"name":"Matt Crees","email":"mattc@stackhpc.com","username":"mattcrees"},"change_message_id":"87a8c7742b57f702f119e7a2251a914ac8273ff1","unresolved":true,"context_lines":[{"line_number":54,"context_line":""},{"line_number":55,"context_line":"PyScripts"},{"line_number":56,"context_line":"---------"},{"line_number":57,"context_line":"It is an alternative method to write rating rule. When writing PyScripts,"},{"line_number":58,"context_line":"one will be able to handle the complete processing of the rating."},{"line_number":59,"context_line":"Therefore, no need to create services, fields, and groups in cloudKitty."},{"line_number":60,"context_line":"The PyScript logic should take care of all that."}],"source_content_type":"text/x-rst","patch_set":3,"id":"bf865c20_d77b1aea","line":57,"updated":"2023-05-03 16:08:49.000000000","message":"nit: ``write`` -\u003e ``writing a``","commit_id":"7185b92f7ed3252859e444b23c330e8458c60ffa"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"7d84dd8d2bb0308f6046e4cb6e28dc4ca26dedea","unresolved":false,"context_lines":[{"line_number":54,"context_line":""},{"line_number":55,"context_line":"PyScripts"},{"line_number":56,"context_line":"---------"},{"line_number":57,"context_line":"It is an alternative method to write rating rule. When writing PyScripts,"},{"line_number":58,"context_line":"one will be able to handle the complete processing of the rating."},{"line_number":59,"context_line":"Therefore, no need to create services, fields, and groups in cloudKitty."},{"line_number":60,"context_line":"The PyScript logic should take care of all that."}],"source_content_type":"text/x-rst","patch_set":3,"id":"9b13d465_0a4f1850","line":57,"in_reply_to":"bf865c20_d77b1aea","updated":"2023-05-03 16:43:43.000000000","message":"Done","commit_id":"7185b92f7ed3252859e444b23c330e8458c60ffa"},{"author":{"_account_id":35263,"name":"Matt Crees","email":"mattc@stackhpc.com","username":"mattcrees"},"change_message_id":"87a8c7742b57f702f119e7a2251a914ac8273ff1","unresolved":true,"context_lines":[{"line_number":56,"context_line":"---------"},{"line_number":57,"context_line":"It is an alternative method to write rating rule. When writing PyScripts,"},{"line_number":58,"context_line":"one will be able to handle the complete processing of the rating."},{"line_number":59,"context_line":"Therefore, no need to create services, fields, and groups in cloudKitty."},{"line_number":60,"context_line":"The PyScript logic should take care of all that."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"Rating rules"}],"source_content_type":"text/x-rst","patch_set":3,"id":"a40021ed_3fc5695d","line":59,"updated":"2023-05-03 16:08:49.000000000","message":"nit: Capital C in CloudKitty","commit_id":"7185b92f7ed3252859e444b23c330e8458c60ffa"},{"author":{"_account_id":35263,"name":"Matt Crees","email":"mattc@stackhpc.com","username":"mattcrees"},"change_message_id":"87a8c7742b57f702f119e7a2251a914ac8273ff1","unresolved":true,"context_lines":[{"line_number":56,"context_line":"---------"},{"line_number":57,"context_line":"It is an alternative method to write rating rule. When writing PyScripts,"},{"line_number":58,"context_line":"one will be able to handle the complete processing of the rating."},{"line_number":59,"context_line":"Therefore, no need to create services, fields, and groups in cloudKitty."},{"line_number":60,"context_line":"The PyScript logic should take care of all that."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"Rating rules"}],"source_content_type":"text/x-rst","patch_set":3,"id":"d9ced37f_a3240608","line":59,"updated":"2023-05-03 16:08:49.000000000","message":"nit: `Therefore, no need`` -\u003e ``Therefore, there is no need``","commit_id":"7185b92f7ed3252859e444b23c330e8458c60ffa"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"7d84dd8d2bb0308f6046e4cb6e28dc4ca26dedea","unresolved":false,"context_lines":[{"line_number":56,"context_line":"---------"},{"line_number":57,"context_line":"It is an alternative method to write rating rule. When writing PyScripts,"},{"line_number":58,"context_line":"one will be able to handle the complete processing of the rating."},{"line_number":59,"context_line":"Therefore, no need to create services, fields, and groups in cloudKitty."},{"line_number":60,"context_line":"The PyScript logic should take care of all that."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"Rating rules"}],"source_content_type":"text/x-rst","patch_set":3,"id":"b5ee985b_38c446c0","line":59,"in_reply_to":"a40021ed_3fc5695d","updated":"2023-05-03 16:43:43.000000000","message":"Done","commit_id":"7185b92f7ed3252859e444b23c330e8458c60ffa"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"7d84dd8d2bb0308f6046e4cb6e28dc4ca26dedea","unresolved":false,"context_lines":[{"line_number":56,"context_line":"---------"},{"line_number":57,"context_line":"It is an alternative method to write rating rule. When writing PyScripts,"},{"line_number":58,"context_line":"one will be able to handle the complete processing of the rating."},{"line_number":59,"context_line":"Therefore, no need to create services, fields, and groups in cloudKitty."},{"line_number":60,"context_line":"The PyScript logic should take care of all that."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"Rating rules"}],"source_content_type":"text/x-rst","patch_set":3,"id":"cabfc095_dd9ecd89","line":59,"in_reply_to":"d9ced37f_a3240608","updated":"2023-05-03 16:43:43.000000000","message":"Done","commit_id":"7185b92f7ed3252859e444b23c330e8458c60ffa"},{"author":{"_account_id":35263,"name":"Matt Crees","email":"mattc@stackhpc.com","username":"mattcrees"},"change_message_id":"87a8c7742b57f702f119e7a2251a914ac8273ff1","unresolved":true,"context_lines":[{"line_number":77,"context_line":"collection backend. For instance, one can use the following syntax"},{"line_number":78,"context_line":"in the ``metrics.yml`` file. The entry"},{"line_number":79,"context_line":"``dynamic_pollster.compute.services.instance.status`` is the definition"},{"line_number":80,"context_line":"for rating types. In the example e show here, there are two rating"},{"line_number":81,"context_line":"types being defined, one called ``instance-usage-hours`` and the other"},{"line_number":82,"context_line":"called ``instance-operating-system-license``. The rating types are"},{"line_number":83,"context_line":"configured in CloudKitty API as services. If they are not configured,"}],"source_content_type":"text/x-rst","patch_set":3,"id":"8176ca03_a294be2b","line":80,"updated":"2023-05-03 16:08:49.000000000","message":"nit: ``example e show here`` -\u003e ``example shown``","commit_id":"7185b92f7ed3252859e444b23c330e8458c60ffa"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"7d84dd8d2bb0308f6046e4cb6e28dc4ca26dedea","unresolved":false,"context_lines":[{"line_number":77,"context_line":"collection backend. For instance, one can use the following syntax"},{"line_number":78,"context_line":"in the ``metrics.yml`` file. The entry"},{"line_number":79,"context_line":"``dynamic_pollster.compute.services.instance.status`` is the definition"},{"line_number":80,"context_line":"for rating types. In the example e show here, there are two rating"},{"line_number":81,"context_line":"types being defined, one called ``instance-usage-hours`` and the other"},{"line_number":82,"context_line":"called ``instance-operating-system-license``. The rating types are"},{"line_number":83,"context_line":"configured in CloudKitty API as services. If they are not configured,"}],"source_content_type":"text/x-rst","patch_set":3,"id":"187f8d02_7aa07c64","line":80,"in_reply_to":"8176ca03_a294be2b","updated":"2023-05-03 16:43:43.000000000","message":"Done","commit_id":"7185b92f7ed3252859e444b23c330e8458c60ffa"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"18ae91e38898e2dc52eff20cab879281205b4e0b","unresolved":true,"context_lines":[{"line_number":7,"context_line":""},{"line_number":8,"context_line":"Rating"},{"line_number":9,"context_line":"------"},{"line_number":10,"context_line":"It is the process of assigning a monetary value to the consumption of"},{"line_number":11,"context_line":"computing resources. CloudKitty uses the concepts of services, which"},{"line_number":12,"context_line":"are rated. Therefore, one can configure services to be"},{"line_number":13,"context_line":"collected/monitored, and then through its processes, we can assign"}],"source_content_type":"text/x-rst","patch_set":5,"id":"2ccd60cb_4720242a","line":10,"range":{"start_line":10,"start_character":33,"end_line":10,"end_character":47},"updated":"2023-05-15 14:28:44.000000000","message":"Actually whenever I explain how CloudKitty works, I mention that it doesn\u0027t have any concept of currency or even units. The rating process produces a value to which you can assign a currency if you want, but that isn\u0027t necessary.\n\nI would replace \"monetary value\" by \"usage value\" or maybe just \"value\".\n\nThen add a paragraph explaining that CloudKitty has no built-in rating unit and mapping rating values to currency amounts is a choice by the operator.","commit_id":"6e651ba50583495350cee976cf0197f0afb7cebb"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"b54f1d94dfa96d2d42461fda4233139310701488","unresolved":false,"context_lines":[{"line_number":7,"context_line":""},{"line_number":8,"context_line":"Rating"},{"line_number":9,"context_line":"------"},{"line_number":10,"context_line":"It is the process of assigning a monetary value to the consumption of"},{"line_number":11,"context_line":"computing resources. CloudKitty uses the concepts of services, which"},{"line_number":12,"context_line":"are rated. Therefore, one can configure services to be"},{"line_number":13,"context_line":"collected/monitored, and then through its processes, we can assign"}],"source_content_type":"text/x-rst","patch_set":5,"id":"a45c593e_e1087143","line":10,"range":{"start_line":10,"start_character":33,"end_line":10,"end_character":47},"in_reply_to":"2ccd60cb_4720242a","updated":"2023-05-15 18:36:49.000000000","message":"Done","commit_id":"6e651ba50583495350cee976cf0197f0afb7cebb"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"f6e67531c3628d3e155b72c2f61ca4b3480da27a","unresolved":true,"context_lines":[{"line_number":1,"context_line":"Concepts Documentation"},{"line_number":2,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"This page provides the definitions for the concepts used in CloudKitty."}],"source_content_type":"text/x-rst","patch_set":6,"id":"b2df0e5b_a27a1d7e","line":1,"range":{"start_line":1,"start_character":0,"end_line":1,"end_character":22},"updated":"2023-05-29 14:18:57.000000000","message":"This looks a bit weird as a title. What about \"CloudKitty Concepts\"?","commit_id":"f1c6e1ab280ba553b7805507041cc7f47ae7b0bc"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"e46480a8351b25bfcd128838fec8fe21c8e76b85","unresolved":false,"context_lines":[{"line_number":1,"context_line":"Concepts Documentation"},{"line_number":2,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"This page provides the definitions for the concepts used in CloudKitty."}],"source_content_type":"text/x-rst","patch_set":6,"id":"67535074_00232e7a","line":1,"range":{"start_line":1,"start_character":0,"end_line":1,"end_character":22},"in_reply_to":"b2df0e5b_a27a1d7e","updated":"2023-05-29 14:20:44.000000000","message":"Done","commit_id":"f1c6e1ab280ba553b7805507041cc7f47ae7b0bc"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"f442b95927024da0f5f38cb0c1fb42fbb5035e80","unresolved":true,"context_lines":[{"line_number":10,"context_line":"It is the process of assigning a `value` to the consumption of computing"},{"line_number":11,"context_line":"resources. CloudKitty uses the concepts of services, which are rated."},{"line_number":12,"context_line":"Therefore, one can configure services to be collected/monitored, and"},{"line_number":13,"context_line":"then through its processes, we can assign monetary values to the"},{"line_number":14,"context_line":"service consumption."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"The `value` assigned can be used to represent a monetary value in any"}],"source_content_type":"text/x-rst","patch_set":6,"id":"4b731baf_3fefe5b4","line":13,"range":{"start_line":13,"start_character":42,"end_line":13,"end_character":50},"updated":"2023-05-29 14:21:23.000000000","message":"Remove monetary here.","commit_id":"f1c6e1ab280ba553b7805507041cc7f47ae7b0bc"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"0b891682601b42583834e75697269c33821ae936","unresolved":false,"context_lines":[{"line_number":10,"context_line":"It is the process of assigning a `value` to the consumption of computing"},{"line_number":11,"context_line":"resources. CloudKitty uses the concepts of services, which are rated."},{"line_number":12,"context_line":"Therefore, one can configure services to be collected/monitored, and"},{"line_number":13,"context_line":"then through its processes, we can assign monetary values to the"},{"line_number":14,"context_line":"service consumption."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"The `value` assigned can be used to represent a monetary value in any"}],"source_content_type":"text/x-rst","patch_set":6,"id":"beb58799_401c9cf1","line":13,"range":{"start_line":13,"start_character":42,"end_line":13,"end_character":50},"in_reply_to":"4b731baf_3fefe5b4","updated":"2023-06-08 12:33:43.000000000","message":"Done","commit_id":"f1c6e1ab280ba553b7805507041cc7f47ae7b0bc"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"f442b95927024da0f5f38cb0c1fb42fbb5035e80","unresolved":true,"context_lines":[{"line_number":14,"context_line":"service consumption."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"The `value` assigned can be used to represent a monetary value in any"},{"line_number":17,"context_line":"currency. However, CloudKitty has no native module to execute conversions"},{"line_number":18,"context_line":"and apply any currency rate. The process to map/link a `value` to a real"},{"line_number":19,"context_line":"monetary charge is up to operators when configuring CloudKitty."},{"line_number":20,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"129b2507_3ed2bc45","line":17,"range":{"start_line":17,"start_character":8,"end_line":17,"end_character":9},"updated":"2023-05-29 14:21:23.000000000","message":"or non-monetary values, such as abstract resource units.","commit_id":"f1c6e1ab280ba553b7805507041cc7f47ae7b0bc"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"0b891682601b42583834e75697269c33821ae936","unresolved":false,"context_lines":[{"line_number":14,"context_line":"service consumption."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"The `value` assigned can be used to represent a monetary value in any"},{"line_number":17,"context_line":"currency. However, CloudKitty has no native module to execute conversions"},{"line_number":18,"context_line":"and apply any currency rate. The process to map/link a `value` to a real"},{"line_number":19,"context_line":"monetary charge is up to operators when configuring CloudKitty."},{"line_number":20,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"3ac657ec_e7e8a392","line":17,"range":{"start_line":17,"start_character":8,"end_line":17,"end_character":9},"in_reply_to":"129b2507_3ed2bc45","updated":"2023-06-08 12:33:43.000000000","message":"Done","commit_id":"f1c6e1ab280ba553b7805507041cc7f47ae7b0bc"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"afbea45bf361794f920b9f0c90b4064b2f05f16d","unresolved":true,"context_lines":[{"line_number":21,"context_line":"Modules"},{"line_number":22,"context_line":"-------"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"Define the rating processes that are enabled. To get to know more about"},{"line_number":25,"context_line":"the rating modules, one should check `rating modules`_ ."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":".. _rating modules: ../user/rating/index.html"}],"source_content_type":"text/x-rst","patch_set":6,"id":"b9441f05_84655dcc","line":24,"range":{"start_line":24,"start_character":0,"end_line":24,"end_character":6},"updated":"2023-05-29 14:26:42.000000000","message":"Modules define","commit_id":"f1c6e1ab280ba553b7805507041cc7f47ae7b0bc"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"cee1ac7499b7e972f78361667418a171c68ed9fe","unresolved":false,"context_lines":[{"line_number":21,"context_line":"Modules"},{"line_number":22,"context_line":"-------"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"Define the rating processes that are enabled. To get to know more about"},{"line_number":25,"context_line":"the rating modules, one should check `rating modules`_ ."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":".. _rating modules: ../user/rating/index.html"}],"source_content_type":"text/x-rst","patch_set":6,"id":"4c82fc4e_9db348ff","line":24,"range":{"start_line":24,"start_character":0,"end_line":24,"end_character":6},"in_reply_to":"b9441f05_84655dcc","updated":"2023-05-29 14:31:08.000000000","message":"Done","commit_id":"f1c6e1ab280ba553b7805507041cc7f47ae7b0bc"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"afbea45bf361794f920b9f0c90b4064b2f05f16d","unresolved":true,"context_lines":[{"line_number":30,"context_line":"Services"},{"line_number":31,"context_line":"--------"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Define the metrics that are collected in a storage backend, and that are"},{"line_number":34,"context_line":"then rated by CloudKitty. Services need to be defined via API to be"},{"line_number":35,"context_line":"processed later by the rating modules, and configured in the collectors"},{"line_number":36,"context_line":"to be captured. Services are configured to be collected in the"}],"source_content_type":"text/x-rst","patch_set":6,"id":"d1443530_466753f5","line":33,"range":{"start_line":33,"start_character":0,"end_line":33,"end_character":6},"updated":"2023-05-29 14:26:42.000000000","message":"Services define","commit_id":"f1c6e1ab280ba553b7805507041cc7f47ae7b0bc"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"cee1ac7499b7e972f78361667418a171c68ed9fe","unresolved":false,"context_lines":[{"line_number":30,"context_line":"Services"},{"line_number":31,"context_line":"--------"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Define the metrics that are collected in a storage backend, and that are"},{"line_number":34,"context_line":"then rated by CloudKitty. Services need to be defined via API to be"},{"line_number":35,"context_line":"processed later by the rating modules, and configured in the collectors"},{"line_number":36,"context_line":"to be captured. Services are configured to be collected in the"}],"source_content_type":"text/x-rst","patch_set":6,"id":"983ef4e9_e85abe9f","line":33,"range":{"start_line":33,"start_character":0,"end_line":33,"end_character":6},"in_reply_to":"d1443530_466753f5","updated":"2023-05-29 14:31:08.000000000","message":"Done","commit_id":"f1c6e1ab280ba553b7805507041cc7f47ae7b0bc"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"afbea45bf361794f920b9f0c90b4064b2f05f16d","unresolved":true,"context_lines":[{"line_number":35,"context_line":"processed later by the rating modules, and configured in the collectors"},{"line_number":36,"context_line":"to be captured. Services are configured to be collected in the"},{"line_number":37,"context_line":"``metrics.yml`` file. More information about service creation can be"},{"line_number":38,"context_line":"found at `service configuration page`_"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":".. _service configuration page: ../admin/configuration/configuration.html"},{"line_number":41,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"137717eb_0f89b52d","line":38,"range":{"start_line":38,"start_character":10,"end_line":38,"end_character":36},"updated":"2023-05-29 14:26:42.000000000","message":"The link name doesn\u0027t read well with the rest of the sentence.","commit_id":"f1c6e1ab280ba553b7805507041cc7f47ae7b0bc"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"cee1ac7499b7e972f78361667418a171c68ed9fe","unresolved":false,"context_lines":[{"line_number":35,"context_line":"processed later by the rating modules, and configured in the collectors"},{"line_number":36,"context_line":"to be captured. Services are configured to be collected in the"},{"line_number":37,"context_line":"``metrics.yml`` file. More information about service creation can be"},{"line_number":38,"context_line":"found at `service configuration page`_"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":".. _service configuration page: ../admin/configuration/configuration.html"},{"line_number":41,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"3979313c_4ec45a21","line":38,"range":{"start_line":38,"start_character":10,"end_line":38,"end_character":36},"in_reply_to":"137717eb_0f89b52d","updated":"2023-05-29 14:31:08.000000000","message":"Done","commit_id":"f1c6e1ab280ba553b7805507041cc7f47ae7b0bc"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"afbea45bf361794f920b9f0c90b4064b2f05f16d","unresolved":true,"context_lines":[{"line_number":43,"context_line":"Groups"},{"line_number":44,"context_line":"------"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"Define sets of services that can be manipulated together. Groups are"},{"line_number":47,"context_line":"directly linked to rating rules, and not to services or fields."},{"line_number":48,"context_line":"Therefore, if we want to group a set of rules to list them together"},{"line_number":49,"context_line":"or delete them, we can create a group and add them to the group, but"}],"source_content_type":"text/x-rst","patch_set":6,"id":"35c1b334_e4f6ba5d","line":46,"range":{"start_line":46,"start_character":0,"end_line":46,"end_character":6},"updated":"2023-05-29 14:26:42.000000000","message":"Groups define","commit_id":"f1c6e1ab280ba553b7805507041cc7f47ae7b0bc"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"cee1ac7499b7e972f78361667418a171c68ed9fe","unresolved":false,"context_lines":[{"line_number":43,"context_line":"Groups"},{"line_number":44,"context_line":"------"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"Define sets of services that can be manipulated together. Groups are"},{"line_number":47,"context_line":"directly linked to rating rules, and not to services or fields."},{"line_number":48,"context_line":"Therefore, if we want to group a set of rules to list them together"},{"line_number":49,"context_line":"or delete them, we can create a group and add them to the group, but"}],"source_content_type":"text/x-rst","patch_set":6,"id":"41b7aaf1_1c1b7a95","line":46,"range":{"start_line":46,"start_character":0,"end_line":46,"end_character":6},"in_reply_to":"35c1b334_e4f6ba5d","updated":"2023-05-29 14:31:08.000000000","message":"Done","commit_id":"f1c6e1ab280ba553b7805507041cc7f47ae7b0bc"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"afbea45bf361794f920b9f0c90b4064b2f05f16d","unresolved":true,"context_lines":[{"line_number":53,"context_line":"Fields"},{"line_number":54,"context_line":"------"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"Define the attributes that are retrieved together with the service"},{"line_number":57,"context_line":"collection that can be used to activate a rating rule."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"01ae7fc5_dc1d90f3","line":56,"range":{"start_line":56,"start_character":0,"end_line":56,"end_character":6},"updated":"2023-05-29 14:26:42.000000000","message":"Fields define","commit_id":"f1c6e1ab280ba553b7805507041cc7f47ae7b0bc"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"cee1ac7499b7e972f78361667418a171c68ed9fe","unresolved":false,"context_lines":[{"line_number":53,"context_line":"Fields"},{"line_number":54,"context_line":"------"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"Define the attributes that are retrieved together with the service"},{"line_number":57,"context_line":"collection that can be used to activate a rating rule."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"6d464a66_ca7ff9ad","line":56,"range":{"start_line":56,"start_character":0,"end_line":56,"end_character":6},"in_reply_to":"01ae7fc5_dc1d90f3","updated":"2023-05-29 14:31:08.000000000","message":"Done","commit_id":"f1c6e1ab280ba553b7805507041cc7f47ae7b0bc"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"afbea45bf361794f920b9f0c90b4064b2f05f16d","unresolved":true,"context_lines":[{"line_number":59,"context_line":""},{"line_number":60,"context_line":"PyScripts"},{"line_number":61,"context_line":"---------"},{"line_number":62,"context_line":"It is an alternative method to write rating rule. When writing a PyScript,"},{"line_number":63,"context_line":"one will be able to handle the complete processing of the rating."},{"line_number":64,"context_line":"Therefore, there is no need to create services, fields, and groups"},{"line_number":65,"context_line":"in CloudKitty. The PyScript logic should take care of all that."}],"source_content_type":"text/x-rst","patch_set":6,"id":"1f3444ec_564b2620","line":62,"range":{"start_line":62,"start_character":27,"end_line":62,"end_character":48},"updated":"2023-05-29 14:26:42.000000000","message":"of writing rating rules","commit_id":"f1c6e1ab280ba553b7805507041cc7f47ae7b0bc"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"cee1ac7499b7e972f78361667418a171c68ed9fe","unresolved":false,"context_lines":[{"line_number":59,"context_line":""},{"line_number":60,"context_line":"PyScripts"},{"line_number":61,"context_line":"---------"},{"line_number":62,"context_line":"It is an alternative method to write rating rule. When writing a PyScript,"},{"line_number":63,"context_line":"one will be able to handle the complete processing of the rating."},{"line_number":64,"context_line":"Therefore, there is no need to create services, fields, and groups"},{"line_number":65,"context_line":"in CloudKitty. The PyScript logic should take care of all that."}],"source_content_type":"text/x-rst","patch_set":6,"id":"72d77f4a_37958f16","line":62,"range":{"start_line":62,"start_character":27,"end_line":62,"end_character":48},"in_reply_to":"1f3444ec_564b2620","updated":"2023-05-29 14:31:08.000000000","message":"Done","commit_id":"f1c6e1ab280ba553b7805507041cc7f47ae7b0bc"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"afbea45bf361794f920b9f0c90b4064b2f05f16d","unresolved":true,"context_lines":[{"line_number":66,"context_line":""},{"line_number":67,"context_line":"Rating rules"},{"line_number":68,"context_line":"------------"},{"line_number":69,"context_line":"Are the expressions used to create a charge (assign a monetary value to"},{"line_number":70,"context_line":"a computing resource consumption). Rating rules can be created with"},{"line_number":71,"context_line":"PyScripts or with the use of fields, services and groups with hashmap"},{"line_number":72,"context_line":"rating rules."}],"source_content_type":"text/x-rst","patch_set":6,"id":"064ab4de_eeafc298","line":69,"range":{"start_line":69,"start_character":0,"end_line":69,"end_character":3},"updated":"2023-05-29 14:26:42.000000000","message":"Rating rules are","commit_id":"f1c6e1ab280ba553b7805507041cc7f47ae7b0bc"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"afbea45bf361794f920b9f0c90b4064b2f05f16d","unresolved":true,"context_lines":[{"line_number":66,"context_line":""},{"line_number":67,"context_line":"Rating rules"},{"line_number":68,"context_line":"------------"},{"line_number":69,"context_line":"Are the expressions used to create a charge (assign a monetary value to"},{"line_number":70,"context_line":"a computing resource consumption). Rating rules can be created with"},{"line_number":71,"context_line":"PyScripts or with the use of fields, services and groups with hashmap"},{"line_number":72,"context_line":"rating rules."}],"source_content_type":"text/x-rst","patch_set":6,"id":"c5412523_e7c04496","line":69,"range":{"start_line":69,"start_character":54,"end_line":69,"end_character":62},"updated":"2023-05-29 14:26:42.000000000","message":"Remove monetary","commit_id":"f1c6e1ab280ba553b7805507041cc7f47ae7b0bc"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"cee1ac7499b7e972f78361667418a171c68ed9fe","unresolved":false,"context_lines":[{"line_number":66,"context_line":""},{"line_number":67,"context_line":"Rating rules"},{"line_number":68,"context_line":"------------"},{"line_number":69,"context_line":"Are the expressions used to create a charge (assign a monetary value to"},{"line_number":70,"context_line":"a computing resource consumption). Rating rules can be created with"},{"line_number":71,"context_line":"PyScripts or with the use of fields, services and groups with hashmap"},{"line_number":72,"context_line":"rating rules."}],"source_content_type":"text/x-rst","patch_set":6,"id":"966643f9_68967a8a","line":69,"range":{"start_line":69,"start_character":0,"end_line":69,"end_character":3},"in_reply_to":"064ab4de_eeafc298","updated":"2023-05-29 14:31:08.000000000","message":"Done","commit_id":"f1c6e1ab280ba553b7805507041cc7f47ae7b0bc"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"cee1ac7499b7e972f78361667418a171c68ed9fe","unresolved":false,"context_lines":[{"line_number":66,"context_line":""},{"line_number":67,"context_line":"Rating rules"},{"line_number":68,"context_line":"------------"},{"line_number":69,"context_line":"Are the expressions used to create a charge (assign a monetary value to"},{"line_number":70,"context_line":"a computing resource consumption). Rating rules can be created with"},{"line_number":71,"context_line":"PyScripts or with the use of fields, services and groups with hashmap"},{"line_number":72,"context_line":"rating rules."}],"source_content_type":"text/x-rst","patch_set":6,"id":"1ffde7cc_14cfe3b8","line":69,"range":{"start_line":69,"start_character":54,"end_line":69,"end_character":62},"in_reply_to":"c5412523_e7c04496","updated":"2023-05-29 14:31:08.000000000","message":"Done","commit_id":"f1c6e1ab280ba553b7805507041cc7f47ae7b0bc"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"afbea45bf361794f920b9f0c90b4064b2f05f16d","unresolved":true,"context_lines":[{"line_number":78,"context_line":""},{"line_number":79,"context_line":"Rating type"},{"line_number":80,"context_line":"-----------"},{"line_number":81,"context_line":"Is the expression used to determine a service definition in the"},{"line_number":82,"context_line":"collection backend. For instance, one can use the following syntax"},{"line_number":83,"context_line":"in the ``metrics.yml`` file. The entry"},{"line_number":84,"context_line":"``dynamic_pollster.compute.services.instance.status`` is the definition"}],"source_content_type":"text/x-rst","patch_set":6,"id":"2d491093_4084b2d0","line":81,"range":{"start_line":81,"start_character":0,"end_line":81,"end_character":2},"updated":"2023-05-29 14:26:42.000000000","message":"A rating type is","commit_id":"f1c6e1ab280ba553b7805507041cc7f47ae7b0bc"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"cee1ac7499b7e972f78361667418a171c68ed9fe","unresolved":false,"context_lines":[{"line_number":78,"context_line":""},{"line_number":79,"context_line":"Rating type"},{"line_number":80,"context_line":"-----------"},{"line_number":81,"context_line":"Is the expression used to determine a service definition in the"},{"line_number":82,"context_line":"collection backend. For instance, one can use the following syntax"},{"line_number":83,"context_line":"in the ``metrics.yml`` file. The entry"},{"line_number":84,"context_line":"``dynamic_pollster.compute.services.instance.status`` is the definition"}],"source_content_type":"text/x-rst","patch_set":6,"id":"b86e465f_8370e5be","line":81,"range":{"start_line":81,"start_character":0,"end_line":81,"end_character":2},"in_reply_to":"2d491093_4084b2d0","updated":"2023-05-29 14:31:08.000000000","message":"Done","commit_id":"f1c6e1ab280ba553b7805507041cc7f47ae7b0bc"}]}
