code: def log_success_event(
      self, kwargs, response_obj, start_time, end_time
  ):
      try:
          """
          Update TPM/RPM usage on success
          """
          if kwargs["litellm_params"].get("metadata") is None:
              pass
          else:
              model_group = kwargs["litellm_params"]["metadata"].get(
                  "model_group", None
              )
  
              id = (
                  kwargs["litellm_params"]
                  .get("model_info", {})
                  .get("id", None)
              )
              if model_group is None or id is None:
                  return
  
              total_tokens = response_obj["usage"]["total_tokens"]
  
              # ------------
              # Setup values
              # ------------
              current_minute = datetime.now().strftime("%H-%M")
              tpm_key = f"{model_group}:tpm:{current_minute}"
              rpm_key = f"{model_group}:rpm:{current_minute}"
  
              # ------------
              # Update usage
              # ------------
  
              ## TPM
              request_count_dict = (
                  self.router_cache.get_cache(key=tpm_key) or {}
              )
              request_count_dict[id] = (
                  request_count_dict.get(id, 0) + total_tokens
              )
  
              self.router_cache.set_cache(
                  key=tpm_key, value=request_count_dict
              )
  
              ## RPM
              request_count_dict = (
                  self.router_cache.get_cache(key=rpm_key) or {}
              )
              request_count_dict[id] = request_count_dict.get(id, 0) + 1
  
              self.router_cache.set_cache(
                  key=rpm_key, value=request_count_dict
              )
  
              ### TESTING ###
              if self.test_flag:
                  self.logged_success += 1
      except Exception as e:
          traceback.print_exc()
          pass
  
file_path: litellm/litellm/router_strategy/lowest_tpm_rpm.py
imports: import dotenv, os, requests, random
  from typing import Optional, Union, List, Dict
  from datetime import datetime
  import traceback
  from litellm import token_counter
  from litellm.caching import DualCache
  from litellm.integrations.custom_logger import CustomLogger
label_desc: Use image node_id 2 for calling the LowestTPMLoggingHandler obj's underlying member method code with example usage: obj.log_success_event(kwargs, response_obj, start_time, end_time) without return types