public RenderingDiagnostics(HtmlTextWriter writer, string renderingName, bool cacheable, bool varyByData, bool varyByDevice, bool varyByLogin, bool varyByParm, bool varyByQueryString, bool varyByUser, bool clearOnIndexUpdate, string varyByCustom)
{
Assert.IsNotNull(writer, "HtmlTextWriter cannot be null");
Assert.IsNotNull(renderingName, "Rendering name cannot be null");
_writer = writer;
_renderingName = renderingName;
_cacheable = cacheable;
_varyByData = varyByData;
_varyByDevice = varyByDevice;
_varyByLogin = varyByLogin;
_varyByParm = varyByParm;
_varyByQueryString = varyByQueryString;
_varyByUser = varyByUser;
_varyByCustom = varyByCustom;
_clearOnIndexUpdate = clearOnIndexUpdate;
_timer = new Stopwatch();
RenderingStartDiagnostics();
}