2013-05-22 4 views
8

Некоторые из наших последних приложений веб-службы используют новую версию ServiceStack версии 3.9.x, и мы собираемся обновить одно из наших старых приложений от v3.5.x, чтобы использовать 3.9.44.0 , Версия 3.5.x неплохо сообщает New Relic, но те, которые у нас есть с 3.9.x, до сих пор сообщают о новой версии Relic. Иногда он сообщает с низким трафиком, но в других случаях он просто плоский.Новые сообщения ServiceStack плохо с новой реликвией

У нас есть открытый билет с новой реликвией, и им сказали, что они подключены к System.Web.HttpApplication.BeginRequest() и не известны временные рамки для любых изменений в их службе ServiceStack в службе DotNet для любой возможной проблемы здесь.

Таким образом, нам любопытно, есть ли что-то в ServiceStack, которое по какой-то причине обходит этот крюк?

Или у кого-нибудь, кто использует New Relic, испытал это и нашел решение без участия New Relic?

ответ

7

Наконец-то мы смогли найти решение проблемы. Новые ServiceStack выпускали все найденные экземпляры транзакций, которые также включали экземпляр, созданный агент службы New Relic. Чтобы избежать экземпляра New Relic будет выпущен преждевременно, метод AppHostBase.Release может быть переписано в собственном AppHost:

public override void Release(object instance) 
{ 
    if (instance.GetType().ToString().StartsWith("NewRelic.Agent", StringComparison.CurrentCultureIgnoreCase)) 
    return; 

    base.Release(instance); 
} 
+0

Неужели это изменение по-прежнему необходимо, или New Relic выяснила что-то с их конца? - Спасибо – Tyst

+1

@Tyst - я не верю, что New Relic сделала, и я думаю, что они могут не быть в состоянии, поскольку ServiceStack захватывает все существующие экземпляры и пытается их освободить. Почему это, вероятно, всегда необходимо в ServiceStack, если ServiceStack не добавит его в код выпуска Base. – Quintium

1

Это связано с недостатком инструментария New Relic для более поздних версий фреймворка. Если что-то изменится, New Relic нужно будет добавить поддержку для него.

+0

@ Scalayer - вы можете, пожалуйста, быть более конкретным относительно того, что изменилось в ServiceStack и как это подключаясь к конвейеру обработки запросов по сравнению с предыдущим. Эта информация может помочь понять, почему New Relic не работает с более поздними версиями SS. – dawebber

+0

Я не разработчик ServiceStack, но я уверен, что вы можете связаться с ними для получения дополнительной информации. – Scalayer

Смежные вопросы