メインコンテンツへスキップ

Performance Analyzer(/perf)に専用ホームは無い:/sp の index にフォールバックする


    ServiceNow の PDI(個人用の検証インスタンス)でポータル定義(sp_portal)を一覧すると、ポータルの一覧が並びます。/esc の Employee Center や /sp の Service Portal に混じって、Performance Analyzer(url_suffix=perf) というポータルも登録されています。名前だけ見ると「分析用の専用ポータルがあるのだろう」と想像しますが、実際に /perf を開くと様子が違いました。

    この記事は、その /perf を PDI の初期状態で開き、REST で sp_portal とデザイン・ウィジェット周りを読んだ記録です。このポータルが専用のホーム画面を持たず、Service Portal(/sp)の index にフォールバックするという一点を、設定値・関係図・実画面で確かめます。分析機能(Performance Analytics)本体の話ではなく、「/perf というポータル面を開くと何が起きるか」に絞ります。値が空の sp_portal を開くと描画がどう転ぶか、という特殊ケースを見る題材です。

    確認した環境:ServiceNow PDI(Personal Developer Instance)/ Zurich(ズーリッヒ)リリース/ OOTB(初期設定のまま)/ 確認日 2026-07-11。本番環境やカスタマイズ済みの環境では、見た目・設定が異なる場合があります。ここに書いた状態は、このPDIで実際に見えた・REST で読み取れたものだけを記載しています。


    このポータルは何か

    Performance Analyzer は、sp_portal テーブルに url_suffix=perf で登録されているポータルの1つです。今回のPDIではポータルは全部で9件あり、その中の1件がこの perf でした。

    ただし、他のポータルと決定的に違う点があります。REST で該当レコードを読むと、homepage(最初に開くページ)も theme(見た目を決めるテーマ)も空でした。ポータルとしての「箱」はあるのに、その中身を指すべき参照が入っていません。値が入っていたのは title・url_suffix・いくつかの真偽フラグ・css_variables だけでした。perf は ページやテーマを一切ひも付けていない、ほぼ既定値だけの sp_portal 行です。

    homepage が空だと、ServiceNow は「最初に開くページ」を自前で決められません。その結果、/perf を開くと Service Portal(/sp)の汎用 index が描かれました。以降の節では、この「登録はあるが専用ホームを持たない」状態を、実画面・設定表・関係図・デザイン・周辺機能の順に確かめます。


    見た目:フォールバックした SP index

    まず、homepage が空のポータルを開くと何が出るのか。実際に /perf を開いた画面が次です。


    画像

    表示されたのは、Service Portal(/sp)の汎用 index と同じ画面でした。「How can we help?」の検索ヒーロー、Request Something / Knowledge Base / Get Help の3導線が並びます。さらに Current Status・My Approvals・My Open Incidents・Top Rated Articles といったウィジェット群も並びます。これは /sp を開いたときに出る顔ぶれと同じです。

    My Open Incidents には、このPDIの実データ(INC0010021・INC0010020 など、別の検証で作ったインシデント)がログインユーザー基準で並んでいました。件数や内容はこのPDI固有のもので、環境によって変わります。中央の3導線の帯が灰色がかって見えるのは、読み込み時のオーバーレイの名残とみられ、ポータルの機能そのものではありません。Performance Analyzer という名前から想像される分析ダッシュボードのような専用ホームは、開いても出てきませんでした。


    基本設定:sp・esc と対照でほぼ空

    /perf の挙動を決めているのは sp_portal レコードの中身です。REST で読み取った全項目を、/sp(Service Portal)と /esc(Employee Center)の値を対照に並べます。


    画像

    対照すると、性格の違いがはっきりします。

    • ページを指す参照が空:homepage・login_page・notfound_page がいずれも未設定です。/sp はここに index / landing / 404 を持ちます。perf は「最初に開くページ」自体を指定していません。

    • テーマが空:theme が未設定。/sp は Coral、/esc は Employee Center Coral Theme を持ちます。配色やヘッダ/フッタの枠を決める参照が、perf には入っていません。

    • メニュー・カタログ・ナレッジも空:sp_rectangle_menu・sc_catalog・kb_knowledge_base が未設定。/sp はこれらに SP Header Menu・Service Catalog・IT を持ち、導線を組み立てています。perf にはその材料がありません。

    • 持っているのは既定値だけ:default=false・enable_ais=false・rtl_enabled=false が既定値のままでした。hide_portal_name=false・enable_embeddables=false も同様です。css_variables には既定の SCSS 変数一式($brand-primary など)が残っています。

    default は sp・perf ともに false で、このPDIで既定だったのは esc(Employee Center、default=true)でした。なお esc 側は default・homepage・theme の3項目のみ対照取得で、それ以外の欄は本記事では未取得です。


    画面遷移:/sp の index にぶら下がる

    独自ホームを持つ /sp と、それを持たない /perf が、実際にはどこへ向かうのかを1枚にまとめました。


    画像

    読み方は次のとおりです。

    • /sp は homepage に index を持ち、実線でそのホームを指します。開けば固有のホーム画面(SP index)が出ます。

    • /perf は homepage が空なので、指す先を自分では持ちません。図では点線で、/sp の index にぶら下がる形にしています。開くと、この同じ index が描かれました。

    • index から先のヒーロー検索・3導線・各ウィジェットは、いずれも /sp の index ページが持つ部品です。/perf はそれを間借りして見せている関係になります。

    押さえておきたいのは、これが 設定値(homepage/theme が空)と、実際に開いた画面(SP index が出る)という2つの実測から導いた対応だという点です。「homepage 未設定のとき、どのロジックで index へフォールバックするか」という描画の仕組みそのものは、REST で見える範囲の外にあります。そこには踏み込まず、「homepage が空→開くと SP index が出た」という対応が確認できた、というところにとどめます。


    デザイン設定の詳細(テーマ未設定=既定描画)

    /perf の見た目を決めるはずの theme(→sp_theme)は未設定でした。テーマが無いということは、テーマが持つはずの配色・ロゴ・ダーク対応も存在しないということです。REST で読み取れたデザイン関連の項目を、/sp・/esc のテーマ名を対照に並べます。


    画像

    読みどころは次の3点です。

    • テーマ参照が無い=既定描画:theme が未設定なので、perf は sp_theme の1レコードを持ちません。配色やヘッダの枠を決めるテーマが無いまま、フォールバック先の SP index が既定の配色で描かれます。/sp は Coral、/esc は Employee Center Coral Theme という専用テーマを持つのと対照的です。

    • css_variables はポータル直の既定値だけ:テーマが無くても、sp_portal 直の css_variables には既定の SCSS 変数一式が入っていました。$brand-primary: #1F8476 (緑系)・$body-bg: #ffffff などが入っていました。$brand-success: #48C891・ $link-color: $brand-primary なども確認できます。テーマ未設定でも、ひな型の変数だけは行に残っている格好です。

    • ロゴ・アイコン・ダークは無い:logo なし、icon(ファビコン等)なし、dark_theme 未設定でした。これらはテーマ側が持つ項目で、テーマそのものが無い perf には割り当てがありません。

    これらの SCSS 変数が最終的にどの要素へ効くか(コンパイル後の CSS)までは今回の読み取りの範囲外です。「perf にはテーマ参照が無く、ポータル直の既定変数だけを持つ」という外形を実測した、という整理にとどめます。


    関連するウィジェット(フォールバック先=/sp index)

    homepage が空の perf は、自分のホームページにウィジェットを載せていません。実画面に並ぶ Homepage Search・Icon Link・Simple List などの部品は、いずれもフォールバック先である /sp の index ページが持つものです。

    perf 側にはウィジェットの連鎖(どのコンテナに何を配置するか)が存在しないため、本記事では index のウィジェットを1枚ずつは扱いません。この index に並ぶウィジェット群が何を出しているか、どのコンテナに何配置あるかは別記事で扱っています。Service Portal(/sp)のトップは16個の部品でできている(sp_instance)で16配置まで実測しています。本記事は「perf を開くと、その index がそのまま出た」という対応の確認にとどめます。


    ヘッダーメニュー等(メニュー未設定)

    ヘッダに並ぶメニューは sp_rectangle_menu で定義され、各項目は sp_rectangle_menu_item に入ります。perf の sp_rectangle_menu は未設定で、メニュー定義への参照そのものがありませんでした。項目を order 順に読み取ろうにも、参照先の定義が無いため、メインメニューは0件です。

    /sp では同じ位置に SP Header Menu が紐づき、Knowledge / Catalog / Requests などの導線がヘッダに並びます。perf にはその参照が無いため、実画面のヘッダに perf 固有のナビゲーションは出ません。表示されるヘッダも、フォールバック先である /sp index のものです。メニューを与えたい場合は、まず sp_rectangle_menu に定義を割り当て、そこへ sp_rectangle_menu_item を足す、という手順になります。


    周辺機能(perf 固有のスクリプトは無し)

    見た目の裏側で動くコードとデータへ進みます。perf は専用のウィジェットを持たないため、perf に固有のサーバ/クライアントスクリプトや依存も存在しませんでした。読み取れた外形を表にまとめます。


    画像
    • perf 固有のウィジェットは無い:homepage が未設定なので、ウィジェットの連鎖が生成されません。周辺機能(サーバスクリプト・クライアントスクリプト・依存)を持つ器そのものが、perf 側には存在しません。

    • スクリプトの実体は /sp 側:実画面に見えるウィジェットは /sp の index が持つ部品です。それらのサーバ/クライアントスクリプトや依存も /sp 側のウィジェットに属します。perf は器を間借りしているだけで、コードは持ち込んでいません。

    • perf 固有の追加処理は確認できず:REST で読み取れた範囲に、perf 専用のビジネスルールやスクリプトは見当たりませんでした。フォールバックの描画ロジックは REST の可視範囲の外にあり、そこには踏み込みません。

    各ウィジェットが内部でどのテーブルへどんなクエリを投げるかは /sp 側の実装です。詳細はService Portal(/sp)のトップは16個の部品でできている(sp_instance)の範囲です。ここでは「perf 固有の周辺機能は無く、実体は /sp のウィジェットにある」という対応を実測した、という整理にとどめます。


    まとめ・検証範囲・参考

    • Performance Analyzer は sp_portal に url_suffix=perf で登録されている。ただし homepage・theme をはじめ、login_page・notfound_page・メニュー・カタログ・ナレッジの参照がすべて未設定(REST実測)。値を持つのは title・url_suffix・各真偽フラグ・css_variables だけ。

    • /perf を開くと、独自のホームではなく Service Portal(/sp)の汎用 index にフォールバックして描画された。「How can we help?」+3導線+各種ウィジェットが表示される。My Open Incidents にはこのPDIの実データが表示された。

    • デザインは theme 未設定=テーマ参照なしで、/sp(Coral)・/esc(Employee Center Coral Theme)と対照的。持つのはポータル直の既定 SCSS 変数($brand-primary: #1F8476 など)のみで、logo・icon・dark_theme は無い。

    • ヘッダメニュー(sp_rectangle_menu)は未設定で0件。perf 固有のウィジェット・スクリプト・依存も無く、実際に描かれる部品とコードはフォールバック先 /sp index 側にある。

    対照として、sp・esc は homepage・theme が設定済みで、開けば固有のホームが出ます。perf はこの点で「専用ホーム体験を持たない登録」という位置づけです。/perf を「Performance Analyzer 専用のポータル画面」として案内するのは、少なくとも初期状態では実態に合いません。実際に使う場面があるなら、設定表の空欄(homepage・theme など)が、そのまま「埋めるべき箇所」の一覧になります。

    関連記事

    検証範囲(このPDIでの限界)

    • 確認はすべて System Administrator(管理者)ログインでの見た目・設定値です。ロールやライセンスが異なるユーザーでの表示差は未検証です。

    • esc の対照は default・homepage・theme の3項目のみ取得しています。それ以外の esc 設定値、および sp/esc のテーマ側の logo・icon・dark_theme は本記事では未取得です。

    • homepage 未設定→SP index が出る、という対応は実測できましたが、その描画ロジックの内部は REST の可視範囲の外です。

    • Performance Analytics 本体の機能(指標・ダッシュボード・データ収集など)は本記事の範囲外です。今回は「/perf というポータル面を開くと何が起きるか」に限定しています。

    • 状態はこのPDI(Zurich / OOTB)の実測値であり、環境によって異なります。

    参考

    /sp の Service Portal 側の見た目とウィジェット構成そのものは、Service Portal(/sp)のトップは16個の部品でできている(sp_instance)で、同じ index 画面の全16配置を詳しく確認しています。

     
     
    ServiceNowのPDI(Personal Developer Instance)を実機で観察して、Noteに記事を書いています 実装・運用・教育の現場視点で淡々と記録中です リクエストがあればその記事も書きます 個人の観察日記です

    あなたへのおすすめ