I'm facing the same problem - need to measure performance for each member of my team and indeed no easy solution here.
Currently I'm measuring:
- How many tickets have been closed by each developer (we use mantis)
- What is the (average, average of 5 best, average of 5 worst) time for solving tickets
- For each average from above I obtain number of lines changed and also calculate average (mantis connected with git)
So for given period of time I know:
- how many tickets were closed by each dev
- in average - best time, worst time and usual time for solving tickets
- in average - amount of lines of code for worst time tickets, best time tickets and usual time tickets
I then look if lines representing average score are closer to lower or upper averages.
However all above is just to provide some orientation, my team is still small enough so I know each developer myself and also I'm involved in solving most issues so I base on that knowledge.