You can attach user ids to traces in Langtrace by simply wrapping your code with the withAdditionalAttributes for typescript or inject_additional_attributes function for python. This will add the specified attributes to the trace spans. Make sure to pass the user id as a key-value pair to the function.

The key should be user_id and the value should be the user id. User ids should be unique for each user.

import * as Langtrace from "@langtrase/typescript-sdk";
import OpenAI from 'openai'
Langtrace.init({
  write_spans_to_console: true,
})
const openai = new OpenAI()
export const run = async ()=>{
    const response = await Langtrace.withAdditionalAttributes(async () => {
      return await openai.chat.completions.create({
        model: 'gpt-4',
        messages: [
          { role: 'system', content: 'Talk like a pirate' },
          { role: 'user', content: 'Tell me a story in 3 sentences or less.' }
        ],
        stream: false
      })
    }, { user_id: "user1234" }) // Add user id to the trace spans
}
run().then(() => console.log('done'))

DO NOT USE this the Python decorator - with_additional_attributes. It will be deprecated soon. Please use inject_additional_attributes function instead.

Now, you can filter and group traces based on the user id. This can be useful for debugging and monitoring purposes.