【问题标题】:Field 'name' on type 'RemoteDependencyData' is too long“RemoteDependencyData”类型上的字段“名称”太长
【发布时间】:2019-06-18 23:36:11
【问题描述】:

我刚刚将 Application Insights 添加到我的 React 应用程序中。当它尝试联系 Application Insights 服务器以通知它有关 Google Adverts 加载的信息时,我收到一个 400 错误,上面写着:“'RemoteDependencyData' 类型的字段 'name' 太长”

我查看了 ApplicationInsights 的配置,但没有找到缩短名称或忽略某些提取的方法。

这是我的插件配置:

  initialize(reactPluginConfig) {
    const instrumentationKey = publicRuntimeConfig.AppInsights.InstrumentKey

    this.appInsights = new ApplicationInsights({
      config: {
        instrumentationKey,
        maxBatchInterval: 0,
        disableFetchTracking: false,
        extensions: [this.reactPlugin],
        extensionConfig: {
          [this.reactPlugin.identifier]: reactPluginConfig
        }
      }
    })
    this.appInsights.loadAppInsights()
  }

这是我看到的被传递的值:

name: "GET https://securepubads.g.doubleclick.net/gampad/ads?gdfp_req=1&pvsid=3899864230170460&correlator=1176166438184394&output=json_html&callback=googletag.impl.pubads.callbackProxy3&impl=fifs&adsid=AGt39rSWeAHAYcWHd55Pv2v0Hn4qiAL6Sl5QTuM8A7Vy0061-z2dWmbQdMXwo-8N5G4e1e5VaGTTm0lLSoER&jar=2019-6-18-23&json_a=1&eid=21063203%2C21063317%2C22316438&vrg=2019061301&guci=2.2.0.0.2.2.0.0&plat=1%3A32776%2C2%3A32776%2C8%3A32776&sc=0&sfv=1-0-33&ecs=20190618&iu_parts=12671339%2Caa_sbdept_bottom_728x90&enc_prev_ius=0%2F1&prev_iu_szs=728x90&prev_scp=department%3Dbody-armor%26category%3DBody%2520Armor%2520%2526%2520Protection&cookie_enabled=1&bc=31&abxe=1&lmt=1560900694&dt=1560900694440&dlt=1560900618064&idt=11742&frm=20&biw=2543&bih=400&oid=3&adxs=1244&adys=2379&adks=1434505235&ucis=d&ifi=9&u_tz=-420&u_his=4&u_h=1440&u_w=2560&u_ah=1440&u_aw=2560&u_cd=24&u_nplug=3&u_nmime=4&u_sd=1&flash=0&url=http%3A%2F%2Flocalhost%3A3000%2Fdepartment%2F10A56330.aspx&dssz=15&icsg=48955391&std=20&vis=2&dmc=8&scr_x=0&scr_y=0&psz=728x90&msz=728x90&blev=0.98&bisch=1&ga_vid=1753854358.1560900630&ga_sid=1560900630&ga_hid=551901891&fws=0"

【问题讨论】:

标签: reactjs azure azure-application-insights


【解决方案1】:

您可以在调用 loadAppInsights 的下方添加此遥测初始化程序,以动态修改遥测项。在这种情况下,它将截断 RemoteDependencyData 名称字段。

appInsights.addTelemetryInitializer(item => {
  if (item.baseType === 'RemoteDependencyData') {
    if (item.baseData.name.length > 1024) {
      item.baseData.name = item.baseData.name.substr(0, 1024);
    }
  }
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-02-12
    • 1970-01-01
    • 1970-01-01
    • 2019-02-14
    • 1970-01-01
    相关资源
    最近更新 更多