zcoo opened a new issue, #2059:
URL: https://github.com/apache/fluss/issues/2059

   ### Search before asking
   
   - [x] I searched in the [issues](https://github.com/apache/fluss/issues) and 
found nothing similar.
   
   
   ### Motivation
   
   For Fluss cluster for multi-tenant and users, it is necessary to record 
"byteIn" and "byteOut" or related metrics not only at table granularity but 
also at user granularity. 
   
   Assuming such a scenario: a producer write to Fluss log table and many 
consumers scan the table to get data from their partition respectively. If we 
only observe the "byteOut" at table granularity, we don't know the percentage 
"byteOut" each consumer consume. Thus hard to locate where a large flow from or 
to calculate their respective costs.
   
   
   ### Solution
   
   Currently We have a "FlussPrincipal" in "Session" like :
   `public class Session implements Serializable {
       private final short apiVersion;
       private final String listenerName;
       private final boolean isInternal;
       private final InetAddress inetAddress;
       private final FlussPrincipal principal;
   ...
   }
   `
   
   We can add the param to TabletService::produceLog and 
TabletService::fetchLog to locate the user who is writing or reading data from 
fluss. Then we can easily add 2 metrics "bytesInPerUser","bytesOutPerUser" and 
other metrics if needed.
   
   ### Anything else?
   
   _No response_
   
   ### Willingness to contribute
   
   - [x] I'm willing to submit a PR!


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to