o
    £ý¸i”  ã                   @  s>   d Z ddlmZ ddlmZmZ ddlmZ G dd„ dƒZdS )z:Usage tracking skeleton for billing and quota enforcement.é    )Úannotations)ÚdatetimeÚtimezone)ÚAnyc                   @  s"   e Zd ZdZdddœddd„ZdS )ÚUsageTrackerz9Record coarse-grained usage events for later persistence.g      ð?N)ÚvalueÚmetadataÚ	tenant_idÚstrÚapp_idÚmetricr   Úfloatr   údict[str, Any] | NoneÚreturnúdict[str, Any]c                C  s"   |||||pi t  tj¡ ¡ dœS )N)r	   r   r   r   r   Úrecorded_at)r   Únowr   ÚutcÚ	isoformat)Úselfr	   r   r   r   r   © r   ú platform/quotas/usage_tracker.pyÚrecord   s   úzUsageTracker.record)r	   r
   r   r
   r   r
   r   r   r   r   r   r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   r   r   	   s    r   N)r   Ú
__future__r   r   r   Útypingr   r   r   r   r   r   Ú<module>   s
    