Sinatra アプリケーションの分析にKissmetrics のKM gemを使用しています。すべてのイベントはサーバー側で記録されます。問題は、gem によって生成された KM オブジェクトがシングルトンであることです。これは、ユーザーごとに一意であるはずの ID キーがユーザー間で保持されることを意味します。それは良いことではありません。私がやりたいのは、ユーザーごとに新しい ID を設定できるようにすることです。KM gem のソースを変更するか、ある種のロック/同時実行メカニズムを使用して、各イベントが適切な ID を持つようにすることができます。どちらも複雑すぎるようです。
私が見落としていたより良いアイデアはありますか?