JArchitect tool gives you many metrics at a method level including Architecture/Design/Implementation metrics. And by using its code query language you can easily query exactly what you want as metrics, and also calculate your own ones based on the existing metrics.
// <Name>Avoid methods too big, too complex</Name>
warnif count > 0 from m in JustMyCode.Methods where
(m.NbLinesOfCode > 35 ||
m.CyclomaticComplexity > 20)
let complexityScore = m.NbLinesOfCode/2 + m.CyclomaticComplexity
orderby complexityScore descending,
m.CyclomaticComplexity descending
select new {
m,
m.NbLinesOfCode,
m.CyclomaticComplexity,
complexityScore,
Debt = complexityScore.Linear(30, 40, 400, 8*60).ToMinutes().ToDebt(),
// The annual interest varies linearly from interest for severity minor
// to interest for severity major
AnnualInterest = complexityScore .Linear(30, Severity.Medium.AnnualInterestThreshold().Value.TotalMinutes,
200, 2*(Severity.High.AnnualInterestThreshold().Value.TotalMinutes)).ToMinutes().ToAnnualInterest()
}