Feature Usage
Feature usage in Controllers
Stats are collected automatically when a feature is evaluated, but using is different than being available. To mark a controller or controller method to count as active use of a feature (for usage reporting) just add the FeatureUsage attribute
[FeatureGate(FeatureFlags.Users)]
[FeatureUsage(FeatureFlags.Users)]
[Route("users")]
[Controller]
public class UsersController : Controller
{
...
}
The FeatureUsage attribute needs to be declared after the FeatureGate attribute, otherwise, usage will be counted even if the action isn't allowed by the FeatureGate flag, resulting in incorrect reporting
Feature usage Ad-Hoc
Feature usage can also be reported manually through the IFeatureUsageStatsProvider
interface
public class AccountController : Controller
{
private readonly IFeatureUsageStatsProvider _usageService;
public AccountController(IFeatureUsageStatsProvider usageService)
{
_usageService = usageService;
}
public IActionResult SignIn()
{
_usageService.RecordUsageAsync("SignIn");
return View();
}
}
Last updated
Was this helpful?